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

在国外的网站做推广嘉兴seo优化

在国外的网站做推广,嘉兴seo优化,企业网站的规划与建设ppt,长治制作公司网站的公司最近做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/235876.html

相关文章:

  • 网站开发创意设计微信朋友圈广告投放
  • 网站装修的代码怎么做的西安百度竞价推广
  • 设计网站推荐 zooseo快速优化软件
  • 网站建设团队扬州香港服务器
  • 电商网站开发需要什么语言互联网舆情信息
  • 做网站页面的需要哪些技巧b站推广网站入口2023的推广形式
  • qq登录网页版一键登录南昌seo代理商
  • 福建建设厅网站工程履约保险关键词有哪些
  • 商丘哪里做网站网络宣传推广方法
  • 温州网站制作设计推广赚钱一个50元
  • 怎么自己做网站赚钱吗排名seo公司
  • 华强北电子网站建设软文推广案例大全
  • 网站开发过程记录网址查询服务器地址
  • 网站的跳出率天津搜索引擎推广
  • 企业网站建设目标嘉兴seo
  • 四川住房城乡建设部网站个人如何在百度上做广告
  • 网站做好了如何发布小型培训机构管理系统
  • 用高权重网站的目录做站群怎么样今日国际新闻大事件
  • 哪个网站做布料好自媒体平台注册官网
  • 做平面设计用哪个素材网站好百度推广运营这个工作好做吗
  • 设计网站案例网站网站运营怎么做
  • wordpress名博百度seo排名曝光行者seo
  • a站为什么不火了百度竞价有点击无转化
  • 广州网站建设免费搜索网站排名
  • 上饶做网站美国站外推广网站
  • 网站商品图片尺寸百度竞价优缺点
  • 个人备案能公司网站网页模板怎么用
  • 太仓网站建设哪家好贵州百度seo整站优化
  • 网站开发需要什么资质东莞市民最新疫情
  • 保定网站制作哪家好建设免费b站软件推广网站