是不是只要有rw段,那么就应该在ro段代码中,自己写代码将rw段拷贝到rw base然后调用执行?
请大侠拨云见日!
共2条
1/1 1 跳转至页
2楼
首先表示感谢!!
这个不是一两句就能说明白的,你的理解可以说不对,对于ARM(各种MCU)程序都可以在ROM中执行,(---明白了)
RW/RO是为了配合其内存管理而定义的处理方法,这样可以起到节省资源的作用,(--很深刻,谢谢)
举个简单的例子,一段程序,如果中间需要使用大量的数组,而这个数组一开始是不需要初始值的,只是在程序运行中才用来存储数据,我们可以直接在ROM程序里面也给数组分配空间(声明为全局变量,是吧),运行时直接把程序从ROM中复制到RAM中(到链接定址的时候指定的地址。对吧),但如果我们不这么处理,而是将可执行代码放到 ROM中的代码段,数组放到ROM(是RAM吗)中的数据段,这样数据可以存储为地址+长度的格式,占用ROM的空间就会大为减少。
您例子的意思是不是,这个数组不需要初始化的话。那么在rom中就不需要生成rw段。那么相对于声明为全局变量。生成的镜像的大小就会小一些?
对定址器的问题请教您,ads工具链接的时候指定ro base, rw base后,生成的镜像反编译后是绝对定址的机器码。所以当需要执行这个镜像的时候,就需要按照定址器所设定的参数,通过引导程序将之(ro段,rw段)拷贝到定址的地址(ro base, rw base)
是这样吗? 谢谢!!
这个不是一两句就能说明白的,你的理解可以说不对,对于ARM(各种MCU)程序都可以在ROM中执行,(---明白了)
RW/RO是为了配合其内存管理而定义的处理方法,这样可以起到节省资源的作用,(--很深刻,谢谢)
举个简单的例子,一段程序,如果中间需要使用大量的数组,而这个数组一开始是不需要初始值的,只是在程序运行中才用来存储数据,我们可以直接在ROM程序里面也给数组分配空间(声明为全局变量,是吧),运行时直接把程序从ROM中复制到RAM中(到链接定址的时候指定的地址。对吧),但如果我们不这么处理,而是将可执行代码放到 ROM中的代码段,数组放到ROM(是RAM吗)中的数据段,这样数据可以存储为地址+长度的格式,占用ROM的空间就会大为减少。
您例子的意思是不是,这个数组不需要初始化的话。那么在rom中就不需要生成rw段。那么相对于声明为全局变量。生成的镜像的大小就会小一些?
对定址器的问题请教您,ads工具链接的时候指定ro base, rw base后,生成的镜像反编译后是绝对定址的机器码。所以当需要执行这个镜像的时候,就需要按照定址器所设定的参数,通过引导程序将之(ro段,rw段)拷贝到定址的地址(ro base, rw base)
是这样吗? 谢谢!!
共2条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| window下生成compilecommands.json的的方法被打赏¥22元 | |
| 【S32K3XX】GPIO中断配置被打赏¥26元 | |
| 【分享开发笔记,赚取电动螺丝刀】WS2812B的RGB灯介绍以及驱动方法被打赏¥25元 | |
| PTC与NTC功能常规对比被打赏¥14元 | |
| 【S32K3XX】核间通信MU使用被打赏¥27元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于3pin锂电池接口的介绍/使用被打赏¥16元 | |
| 以启明云端ESP32P4开发板实现TF卡读写功能被打赏¥28元 | |
| 【分享开发笔记,赚取电动螺丝刀】树莓派5串口UART0配置被打赏¥25元 | |
| 【STM32F103ZET6】17:分享在Rtos项目中断管理的使用经验被打赏¥23元 | |
| 【STM32F103ZET6】16:分享在中断中恢复串口任务,遇到的问题被打赏¥31元 | |
我要赚赏金
