1
4
7
新手上路
使用道具 举报
1万
6万
10万
管理员
23
68
137
初级会员
山河 发表于 2023-7-14 10:02 说下结果吧 先说原因,烧录的BIN文件或HEX文件是包含程序的入口地址的,不能把编译的0x08008000地址的程序 ...
2360985396 发表于 2023-7-14 10:17 单bank的升级都必须从地址0x80000000代码开始执行 你放到别的位置当然是不能执行的,双app升级也必须是从 ...
44
山河 发表于 2023-7-14 11:02 对,但是想要两个app相互升级,后期升级的时候就很麻烦,要查看到当前运行的是哪个APP,尽管可以用flash ...
14
58
100
2360985396 发表于 2023-7-14 15:01 写上位机更新的时候 建议输入本次checksum 并且上位机也计算chencksum 如何计算的结果和你输入的一致,又 ...
50
71
lb1057907736 发表于 2023-7-29 21:05 是的,现场升级程序时必须要查询flash标志,用来确定单片机中正在运行的是APP1或APP2,但是只需要准备一 ...
104
125
山河 发表于 2023-7-31 15:50 感谢大佬指导,因为设计的产品现场查询不方便,如果客户不懂选错app,产品也是直接变砖了,最好还是往“ ...
0
13
lb1057907736 发表于 2023-7-31 17:46 首先bin文件是不包含地址信息的,但考虑到你的上位机是普通串口,通信协议估计也是自定义的,传bin时肯定 ...
3
146
quar 发表于 2023-10-27 10:55 为啥不能做到一个bin呢,bin里面加起始地址信息即可,boot判断这个地址并写入相应的app分区
skyshine 发表于 2023-10-27 13:39 同样一个工程,完全一样的程序,改了程序中断入口,比如keil里就是target设置IROM的地址,0x08000000改成 ...
quar 发表于 2023-10-27 15:15 这是两个版本的bin了吧,你只要在bin里面加入起始地址的信息,bootloader接收到后去判断应该写到哪个分区 ...
lb1057907736 发表于 2023-10-27 15:44 你没明白,因为中断向量的问题,APP1和APP2是不同的。bin就是不同的,不能只修改bin的起始地址就行了。如 ...
quar 发表于 2023-10-27 16:08 为啥编译的时候,修改中断向量表的地址不用根据起始地址智能设置呢?Image$$ER_IROM1$$Base
lb1057907736 发表于 2023-10-27 16:34 我咨询一下,STM32的BL中可以使用中断吗?
quar 发表于 2023-10-27 17:18 可以啊,有其他什么考虑吗?
lb1057907736 发表于 2023-10-27 23:02 PIC几年前的8位单片机,做BL还不建议使用中断,中断留给APP用。不是不能用,将会把固件写的更复杂。因为 ...
quar 发表于 2023-10-30 15:13 有个疑问,这个硬件中断源地址(中断向量)是在boot中的吗?这个中断函数是写在app的吗,那中断向量(boot ...
lb1057907736 发表于 2023-10-30 22:09 0x08和0x18是两个固定的硬件中断源,在BL中。假如APP从地址0x2000开始,那么0x2008和0x2018就是APP中断函 ...
quar 发表于 2023-10-31 11:16 那为啥不设置一个标志位呢,boot的时候,标志为0,就goto到boot的处理函数,跳转APP后标志为1,就goto到AP ...
本版积分规则 发表回复 回帖后跳转到最后一页
|小黑屋|Archiver|手机版|硬汉嵌入式论坛
GMT+8, 2024-6-15 19:30 , Processed in 0.297831 second(s), 26 queries .
Powered by Discuz! X3.4 Licensed
Copyright © 2001-2023, Tencent Cloud.