OpenEdv-开源电子网

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

app程序如何调用bootloader区的函数?

[复制链接]

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-6-21
在线时间
14 小时
发表于 2022-5-30 08:51:43 | 显示全部楼层 |阅读模式
1金钱
如题m0芯片,为了减小后续程序升级的容量,打算把一部分功能固定不变函数放到bootloader区,然后app运行时调用。我在map文件中查到boot区的程序地址,app中用函数指针调用,一直不正确。不知道哪里有问题。boot区函数不论是用全局变量还是传参都没有正常调用到

最佳答案

查看完整内容[请看2#楼]

函数放在内部NORFlash吧,定义一个指向这个地址的指针不能用么?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

97

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3694
金钱
3694
注册时间
2018-5-25
在线时间
853 小时
发表于 2022-5-30 08:51:44 | 显示全部楼层
函数放在内部NORFlash吧,定义一个指向这个地址的指针不能用么?
回复

使用道具 举报

4

主题

896

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4309
金钱
4309
注册时间
2019-9-4
在线时间
896 小时
发表于 2022-5-30 09:50:56 | 显示全部楼层
帮顶,希望最后解决的时候能贴一下操作方法
回复

使用道具 举报

2

主题

452

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4296
金钱
4296
注册时间
2018-5-14
在线时间
930 小时
发表于 2022-5-30 10:14:40 | 显示全部楼层
boot区的函数尽量不要用全局变量,boot区使用的内存在跳转到app区有可能被app区的变量覆盖掉。或者链接文件改一下,让app区的一部分ram不被链接,然后将boot的全局变量定义到这部分ram
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-6-21
在线时间
14 小时
 楼主| 发表于 2022-5-30 10:53:34 | 显示全部楼层
姚先起 发表于 2022-5-30 10:14
boot区的函数尽量不要用全局变量,boot区使用的内存在跳转到app区有可能被app区的变量覆盖掉。或者链接文件 ...

已经这样做了,没有效果。boot区写了两个函数,都没有用局部变量。一个用全局变量,链接到一个公共ram,app内存设置再两外一个区域。一个函数用的参数传递,也没有正常运行
回复

使用道具 举报

2

主题

452

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4296
金钱
4296
注册时间
2018-5-14
在线时间
930 小时
发表于 2022-5-31 15:19:50 | 显示全部楼层
gym216 发表于 2022-5-30 10:53
已经这样做了,没有效果。boot区写了两个函数,都没有用局部变量。一个用全局变量,链接到一个公共ram,a ...

其实你单个函数放boot区省不了多少尺寸的,大头是链接的标准库和浮点运算库。
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-6-21
在线时间
14 小时
 楼主| 发表于 2022-6-13 13:31:04 | 显示全部楼层
问题解决,思路是对的。原来的函数本身写的有问题,导致指针调用后程序异常。
回复

使用道具 举报

0

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1360
金钱
1360
注册时间
2021-2-25
在线时间
100 小时
发表于 2022-6-14 10:53:24 | 显示全部楼层
gym216 发表于 2022-6-13 13:31
问题解决,思路是对的。原来的函数本身写的有问题,导致指针调用后程序异常。

牛的,能不能给点示例程序让我参考参考
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 23:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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