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

网站地址查询最新区域名花卉市场网站建设基本步骤

网站地址查询最新区域名,花卉市场网站建设基本步骤,知末网su模型免费下载,最佳wordpress主机最近做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/580840.html

相关文章:

  • 网站建设 上寻模板郑州网站推广招聘
  • 寮步营销型网站建设价格wordpress_ joomla_ drupal
  • 急速浏览器打开新网站wordpress英文写作插件
  • 网站开发中 整体框架的架构网站与支付宝对接
  • 网站 注册模块怎么做百家号官网
  • 网站服务器在哪里买好wordpress 插件 注入
  • 阿里巴巴企业网站建设百度2018旧版下载
  • 做蛋糕视频教学网站企业网络广告推广方案
  • 怎么查看网站是哪个公司建的韩国网站 后缀
  • 滨州内做网站系统的公司台州cms建站系统
  • 网站建网站建设网站站网站杭州专业的程序开发公司
  • 手机网站关闭窗口代码网站下雪代码
  • 做背景图 网站腾讯云网站备案流程图
  • 中国空间站组合体网站图标在哪里修改
  • 在哪家网站做外贸比较好学校网站建设汇报ppt
  • 如何快速用手机做网站东莞龙岗网站建设
  • 商务网站建设考试题库长沙网站制作电话
  • 掌握商务网站建设策略赣州市建设工程质量监督管理站网站
  • 建设一个网站的意义个人做收费网站
  • 昆山做网站的公司有哪些定制网站开发都提供那些东西
  • 重庆金融公司网站建设delphi7 网站开发
  • 网站开发 沈阳青岛市房产信息网官网
  • 网络直播网站建设创意视频制作app
  • ico加网站渗透wordpress
  • 检察院门户网站建设方案用织梦做的网站好用吗
  • 微信小程序和网站开发有什么区别微信小程序在线玩
  • 网站建设提供的网站资料如何做一个个人网页
  • 做装修的应该去哪网站找客户免费公司宣传视频制作软件
  • 太原网站优化常识网站文字模板
  • 海南彩票网站开发服装品牌网站建设