硬汉嵌入式论坛

 找回密码
 立即注册
查看: 403|回复: 5
收起左侧

[技术讨论] bootloader和APP的linker分配空间疑问

[复制链接]

75

主题

181

回帖

406

积分

高级会员

积分
406
发表于 2025-12-1 11:04:16 | 显示全部楼层 |阅读模式
本帖最后由 lindahnu 于 2025-12-1 13:53 编辑

bootloader和app的代码都存在外置的flash中,流程是有一个boot程序把bootloader搬到ram里运行,然后再由bootloader搬APP代码到ram里运行。

bootloader和app的linker文件在分配空间时,怎么能不浪费资源,保证代码运行效率?


目前想到两种分配方案:


1、bootloader code从ram首地址开始分配
     bootloader code
     APP code
     APP ram
     bootloader ram

     app linker里ram大小可以定义占用到bootloader ram空间吗?
     bootloader执行完后释放了code区,app还要使用这个code区,app的linker还得额外定义这个ram section,无论这个section是放代码还是变量,是不是访问效率比第2个方案要慢?因为地址是跳的,和原来app的ram空间不是连续的?

2、app code从ram首地址开始分配
     APP code
     APP ram
     bootloader code
     bootloader ram

     app linker里ram大小可以定义占用到bootloader的code+ram空间吗?



回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-1 11:59:34 | 显示全部楼层
RAM里面运行BOOT或者APP,都是独立,用那个加载那个就行,用完了可以完全释放。

然后只要你用的RAM在总线上同一个块,指令和数据总线都访问这个RAM,速度就有影响。远不如两个RAM块或者一个RAM,一个Flash。
回复

使用道具 举报

75

主题

181

回帖

406

积分

高级会员

积分
406
 楼主| 发表于 2025-12-1 14:46:34 | 显示全部楼层
eric2013 发表于 2025-12-1 11:59
RAM里面运行BOOT或者APP,都是独立,用那个加载那个就行,用完了可以完全释放。

然后只要你用的RAM在总 ...

硬汉,就是bootloader和app的linker,都是在ram空间里的。你的意思是app的linker定义ram的大小可以占用bootloader的code和ram?
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-1 15:24:53 | 显示全部楼层
lindahnu 发表于 2025-12-1 14:46
硬汉,就是bootloader和app的linker,都是在ram空间里的。你的意思是app的linker定义ram的大小可以占用bo ...

对,除非你的APP要使用boot里面记录的一些数据,或者boot要使用APP的数据。要运行那个,重新从你的Flash加载到RAM就行。
回复

使用道具 举报

75

主题

181

回帖

406

积分

高级会员

积分
406
 楼主| 发表于 2025-12-1 17:15:51 | 显示全部楼层
eric2013 发表于 2025-12-1 15:24
对,除非你的APP要使用boot里面记录的一些数据,或者boot要使用APP的数据。要运行那个,重新从你的Flash ...

硬汉,用的RAM在总线上同一个块,指令和数据总线都访问这个RAM,速度会影响多少呢?
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-2 09:46:31 | 显示全部楼层
lindahnu 发表于 2025-12-1 17:15
硬汉,用的RAM在总线上同一个块,指令和数据总线都访问这个RAM,速度会影响多少呢?

这个得实测下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-1-10 07:55 , Processed in 0.040613 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表