当前位置: 首页 > wzjs >正文

在国外的网站做推广二十条优化措施

在国外的网站做推广,二十条优化措施,重庆邮电大学官网网站,开源php源码最近做FreeRTos,以及前面设计的RVOS,这种RTOS级别的系统内存上的分布与CortexA系列里面的分布有相当大的区别,给我搞糊涂了。 目录 STM32(Cortex-M系列)的内存与存储机制 Flash存储内容RAM存储内容启动与运行时流程示例…

最近做FreeRTos,以及前面设计的RVOS,这种RTOS级别的系统内存上的分布与CortexA系列里面的分布有相当大的区别,给我搞糊涂了。

目录

  1. STM32(Cortex-M系列)的内存与存储机制

    • Flash存储内容
    • RAM存储内容
    • 启动与运行时流程
    • 示例代码解析
  2. i.MX6ULL(Cortex-A系列)的内存与存储机制

    • 物理内存布局
    • 程序存储与加载流程
    • 多级启动过程
    • 裸机程序处理
  3. STM32与i.MX6ULL的关键差异对比

    • 架构设计差异
    • 存储与启动流程对比
    • 内存管理机制
  4. 总结与适用场景


1. STM32(Cortex-M系列)的内存与存储机制

Flash存储内容

  • 程序代码:所有编译后的机器指令。
  • 常量数据const修饰的全局变量、字符串常量。
  • 初始化数据:全局/静态变量的初始值(运行时复制到RAM)。

RAM存储内容

  • 堆栈(Stack):局部变量、函数调用上下文。
  • 堆(Heap):动态分配的内存(malloc/new)。
  • 全局/静态变量:运行时实际存储位置(含.data.bss段)。

启动与运行时流程

  1. 上电启动

    • CPU从Flash固定地址(0x08000000)读取复位向量,执行启动代码(Reset_Handler)。
    • 启动代码将.data段(初始化数据)从Flash复制到RAM,并清零.bss段。
  2. 指令执行

    • CPU通过指令总线直接从Flash读取指令。
    • 通过ART加速器或预取队列优化访问延迟。

示例代码

const int FLASH_CONST = 100;    // 存储在Flash
int ram_var = 42;               // 初始值在Flash,运行时在RAMvoid main() {int stack_var;              // 栈中分配(RAM)static int static_var;      // .bss段(RAM)
}

2. i.MX6ULL(Cortex-A系列)的内存与存储机制

物理内存布局(以1GB DDR为例)

地址范围用途
0x80000000 ~ ...Linux内核空间
0x90000000 ~ ...用户空间(应用程序、堆栈)
保留区域GPU/VPU内存、DMA缓冲区

程序存储与加载流程

  • 存储介质:eMMC、SD卡、NAND Flash等。
  • 多级启动过程
    1. Boot ROM:固化在芯片内部,加载第一级引导程序(如U-Boot)到片内OCRAM。
    2. Bootloader(U-Boot)
      • 初始化硬件(DDR、外设)。
      • 从存储设备加载内核镜像(zImage)、设备树(.dtb)、根文件系统到DDR。
    3. Linux内核:解压并初始化MMU、进程管理等,挂载根文件系统。
    4. 用户程序:从文件系统加载到DDR用户空间执行。

裸机程序处理

  • 链接脚本示例
    MEMORY {RAM (rwx) : ORIGIN = 0x80000000, LENGTH = 512M
    }
    SECTIONS {.text : { *(.text) } > RAM   /* 代码段 */.data : { *(.data) } > RAM   /* 初始化数据 */.bss : { *(.bss) } > RAM     /* 未初始化数据 */
    }
    

3. STM32与i.MX6ULL的关键差异对比

特性STM32(Cortex-M)i.MX6ULL(Cortex-A)
核心定位实时控制(微控制器)复杂应用(应用处理器)
指令执行位置直接在Flash中执行必须加载到RAM执行
内存管理无MMU,直接访问物理地址支持MMU和虚拟内存
启动流程单阶段启动(Flash → 运行)多阶段启动(Boot ROM → U-Boot → Kernel)
典型存储介质片内FlasheMMC、SD卡、NAND Flash
典型应用场景实时控制、传感器处理嵌入式Linux、GUI应用、多媒体处理

4. 总结与适用场景

STM32的适用场景

  • 实时性要求高(如电机控制、工业自动化)。
  • 资源受限(小内存、低功耗)。
  • 无需复杂操作系统支持。

i.MX6ULL的适用场景

  • 需要运行Linux/Android等操作系统。
  • 处理多媒体、网络通信等复杂任务。
  • 外设接口丰富(如GPU、摄像头接口)。

设计哲学差异

  • STM32:简单直接,强调实时性和确定性。
  • i.MX6ULL:通过多级抽象(MMU、虚拟内存)支持复杂应用,牺牲部分实时性换取灵活性。

相关技术点扩展

  • STM32启动文件(startup.s)详解
  • i.MX6ULL U-Boot移植实战
  • ARM Cortex-M与Cortex-A架构对比

关注作者,获取更多嵌入式开发干货!


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

http://www.dtcms.com/wzjs/476748.html

相关文章:

  • 安阳 做网站技术培训机构排名前十
  • 网站建设需要多少技术不限次数观看视频的app
  • 做公司企业网站百度网首页
  • 安徽省外经建设集团有限公司网站快速建站
  • word网站超链接怎么做学生个人网页设计模板
  • 千万pv网站开发成本真正免费的网站建站平台有哪些
  • 网站建设套路网站推广郑州
  • 清河网站建设费用百度关键词相关性优化软件
  • 动画型网站淘宝搜索关键词排名
  • 网站开发参考文献期刊百度网站大全旧版
  • 查询网站是否过期吉林关键词优化的方法
  • 软件开发培训机构怎么样盐城网站优化
  • 网站域名做入什么科目2023年重大时政热点
  • 做网站做系统优秀软文案例
  • 哪里做网站百度收录块网页设计软件dreamweaver
  • 做网站需要多少钱百度网页版入口
  • 网站风格设计的选择武汉seo优化服务
  • 网站开发 工资高吗免费b2b网站有哪些
  • 推荐网站建设的书网络营销知识点
  • 无锡企业自助建站系统电商运营平台
  • 中企动力 网站建设东莞市优速网络科技有限公司
  • 做网站有什么必要如何网站优化排名
  • 个人做的好的淘宝客网站嵌入式培训机构哪家好
  • 门户网站的建设费用营销型网站和普通网站
  • 怎么看一个网站用什么平台做的2022年五月份热点事件
  • 南阳seo网站排名2023疫情第三波爆发时间
  • 沈阳德泰诺网站建设站长资讯
  • wordpress语言包下载地址东莞seo外包平台
  • 手机网站制作费用多少疫情放开死亡人数最新消息
  • 网站 河北 备案 慢百度资源