MCU分区升级

[复制链接]
1402|11
 楼主| jerevin 发表于 2022-12-21 15:23 | 显示全部楼层 |阅读模式
我分了A区,B区,下载固件的时候两个区都可以正常把东西下载进去,但是在跳转APP时,可以跳进A区,跳不进B区,在APP工程里面我设置了通过判断标志位来对当前的中断向量表进行偏移,偏移的地址也都是下载完固件的首地址,但是就是跳不进B区,这是什么原因呢
szt1993 发表于 2022-12-21 18:36 | 显示全部楼层
B区是不是有什么设置或是访问权限,理论上应该是AB都可以的
linjinming2000 发表于 2022-12-21 19:43 | 显示全部楼层
你这个MCU没有地址映射功能,代码编译后的固件是绝对地址编码的,不是位置无关代码,所以B区的代码不能正常运行,FLASH地址映射功能的只有NXP、英飞凌几家车规级的MCU才具备这些功能,一般工业应用的MCU FLASH不具备地址映射功能
linjinming2000 发表于 2022-12-21 19:45 | 显示全部楼层
常量、函数的地址是绝对地址,所以只是中断向量表偏移没有用
timerc 发表于 2022-12-22 08:37 | 显示全部楼层
A区的程序要配置中断向量表,B区也要配置中断向量表,只要跳转了,都要配置,不然程序没办法运行的啊,你估计B区没有配置吧,感觉跳来跳去没问题啊,GD32内部的FLASH吧
星辰大海不退缩 发表于 2022-12-22 16:23 | 显示全部楼层
linjinming2000 发表于 2022-12-21 19:43
你这个MCU没有地址映射功能,代码编译后的固件是绝对地址编码的,不是位置无关代码,所以B区的代码不能正常 ...

您好用中断向量表进行配置也不可以嘛?这一块确实接触的比较少
tpgf 发表于 2023-1-5 14:54 | 显示全部楼层
请问MCU分区是不是指的是MCU的内存的分隔呢
xiaoqizi 发表于 2023-1-5 15:17 | 显示全部楼层
那么在下载的时候是不是还得人为的指定下载区域呢
木木guainv 发表于 2023-1-5 15:27 | 显示全部楼层
A区和B区占据的地址有米有其他保留用途呢
heimaojingzhang 发表于 2023-1-5 15:37 | 显示全部楼层
调换一下跳转的顺序  或者对地址进行重新分配
zljiu 发表于 2023-1-5 15:47 | 显示全部楼层
这个是不是和相关区域地址的编码形式有关系啊
nawu 发表于 2023-1-5 15:58 | 显示全部楼层
是不是B区的中断向量指向地址错误了呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部