通过使用分散加载机制,可以为链接器指定映像的内存映射。分散加载为您提供了对映像组建分组和位置的全面控制。分散加载可以用于简单映像,但它通常仅用于具有复杂内存映射的的映像,即多个区在加载和执行时分散在内存映射中。

加载域:就是编译之后得到的二进制文件烧写到rom中的这一段区域。包括只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。

执行域:程序执行时的区域。比如:没有变动还是在ROM中RO段;被移到了RAM中的RW段和ZI段。

先看一下分散加载文件的内容:

LR_IROM1 0x08000000 0x00080000  {    ; 加载域:名字 + 地址 + 大小

ER_IROM1 0x08000000 0x00080000  {  ; 执行域:名字 + 地址 + 大小
   *.o (RESET, +First) ; RESET段(因此程序从RESET开始执行)
   *(InRoot$$Sections) ; __main的代码段(用于将加载域转移到执行域)
   .ANY (+RO) ; 所有代码段
  }
  RW_RAM1 0x20000000 0x00010000  {  ; 执行域:名字 + 地址 + 大小
   .ANY (+RW +ZI) ; 所有RW段(.data)和ZI段(.bss)
  }

}

这一段的作用就是告诉链接器:按照以上的信息进行链接,__main也将根据这些信息进行转移。

STM32分散加载文件相关推荐

  1. 【IoT】STM32 分散加载文件 .sct 解析

    1.STM32 启动文件与 .sct 文件分析 1) 定义STACK段,{NOINIT,读写}:分配一段内存大小为0.5K; 2) 定义HEAP段, {NOINIT,读写}:分配一段内存大小为1K; ...

  2. H750移植rt_thread操作系统完整工程分享,包括外部FLASH分散加载文件

    一.移植注意事项 1.在运行外部FLASH存储的代码之前首先要初始化QSPI进入内存映射模式,参考代码: //QSPI进入内存映射模式(执行QSPI代码必备前提,为了减少引入的文件, //除了GPIO ...

  3. keil的sct文件_STM32 分散加载文件 .sct 解析

    1.STM32 启动文件与 .sct 文件分析 1) 定义STACK段,{NOINIT,读写}:分配一段内存大小为0.5K; 2) 定义HEAP段, {NOINIT,读写}:分配一段内存大小为1K; ...

  4. 【C语言常识】Keil MDK的分散加载文件.sct

    https://blog.csdn.net/wuhenyouyuyouyu/article/details/71171546?ops_request_misc=%257B%2522request%25 ...

  5. stm32分散加载学习_倡导联合学习的天才使隐私分散化

    stm32分散加载学习 Chances are, your phone is within five feet of you right now. 您的手机现在离您的五英尺以内. In fact, a ...

  6. keil的sct文件_Keil sct分散加载文件

    博主是个还没入门的弱菜,老师让查资料所以我把自己找的资料整理一下搁在这里方便以后查阅用的,自己并没有试过. 如有错误,欢迎指正. 参考资料: 首先介绍几个概念: 1.ARM映像文件 ARM映像文件是一 ...

  7. keil分散加载文件sct写法

    //-------------------------------------------------------------------------------------------------- ...

  8. KEIL MDK链接脚本-分散加载文件sct

    在了解keil的链接脚本之前需要了解几个重要概念: RO(ReadOnly):表示程序中的指令和常量 RW(Read/Write):表示程序中已初始化的变量 ZI(Zero):表示程序中未初始化的变量 ...

  9. app与bootloader共享内存的方法(分散加载文件)

    app要升级时要通知bootloader,然后进入bootloader模式,app要如何通知bootloader呢?以前用了写入升级标志到eeprom的方式,然后bootloader再去读取,这是一种 ...

最新文章

  1. nodejs的事件循环1
  2. 架构师之路(5)---IoC框架
  3. springboot jsp只能在webapp_Spring Boot 项目访问JSP
  4. 【转】VC2008在工具栏Toolbar里添加XP风格spin box control控件
  5. c语言程序年月日怎么编,C语言程序设计: 输入年月日 然后输出是星期几
  6. ios 进入后台 一段时间在进入前台 动画消失
  7. 阿里研究院安筱鹏:数字化,转型与原生并行
  8. HTML lt input gt 标签,科技常识:使用amp;lt;labelamp;gt;标签修改input[type=checkbox]的样式...
  9. ollvm源码分析之虚假控制流(2)
  10. 机器学习基础教程 -应用随机微分方程2020-最新
  11. Android应用启动白屏问题解决办法
  12. 南开计算机考研难么,我的一点考研心得
  13. ubuntu16.04安装caffe
  14. android power键流程图,Android 通过power键关机重启的流程(Android层)
  15. 学习Oneindex的搭建[国际Onedrive]
  16. Leedcode编程题18: 四数之和----C++实现
  17. python滑块验证码
  18. 忆本科四年,感谢遇见 - 写在毕业一年后
  19. PostgresConf.CNPGConf.Asia 2020五洲相会
  20. 国内五款主流外贸CRM优缺点综合评测

热门文章

  1. Linux学习笔记-对父子进程直接通信基础与实例
  2. C++ opengl 复合运动
  3. Qt工作笔记-关于各种QGraphics中item的坐标分析(如QGraphicsLineItem)【天坑】
  4. 用友php漏洞,用友CRM注入漏洞(无需登录通杀所有版本)
  5. 华为交换机屏蔽远程计算机,华为交换机远程telnet配置的小问题
  6. 第章量子计算机产业,第章量子计算机.ppt
  7. linux grub2 修复,Ubuntu 10.04修复GRUB2
  8. 微信红包随机数字_微信红包随机算法转载
  9. python分类算法的应用_Python基于sklearn库的分类算法简单应用示例
  10. 计组之中央处理器:3、数据通路(单总线结构、专用通路结构)