OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3638|回复: 4

对i.m6ull和stm32启动过程的疑惑,跪求大佬。

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-8-15
在线时间
8 小时
发表于 2022-6-25 10:44:55 | 显示全部楼层 |阅读模式
1金钱
①i.m6ull 的启动方式是从SD卡启动,代码存在SD卡中,程序运行的时候把sd卡中的搬到ddr中,

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-8-15
在线时间
8 小时
 楼主| 发表于 2022-6-25 10:52:20 | 显示全部楼层
.bss和.data都在DDR中,程序中变量的地址就在.bss和.data段吗?

stm32的代码在ROM(0x80000000),.bss和.data也在ROM中,他是如何把.bss和.data的变量都放到RAM中的(0x20000000)?
是把.bss和.data这两个段复制到RAM中?访问变量的时候不从(0x80000000)里的.bss和.data访问,从复制到RAM的.bss和.data里访问吗?
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-8-15
在线时间
8 小时
 楼主| 发表于 2022-6-25 10:55:17 | 显示全部楼层
若我没有定义变量,而是直接指针指向一个未定义过的RAM地址来使用,会有什么问题吗?
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4137
金钱
4137
注册时间
2018-5-14
在线时间
903 小时
发表于 2022-6-27 14:11:59 | 显示全部楼层
大佬的舔狗 发表于 2022-6-25 10:55
若我没有定义变量,而是直接指针指向一个未定义过的RAM地址来使用,会有什么问题吗?

stm是通过启动文件的LoopCopyDataInit 将变量复制到内存中的,链接文件中有堆栈顶和底的地址。imx是内部固化的启动代码,通过读取IVT的配置,将程序和bss和data拷贝到ram里面运行。
回复

使用道具 举报

1

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
426
金钱
426
注册时间
2021-3-9
在线时间
56 小时
发表于 2022-7-5 10:01:13 | 显示全部楼层
现代芯片,内部都是有一个很小的boot程序,很少说完全是裸片的,这个boot程序就帮我们干了很多事情。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 10:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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