
STM32G474CBT6上电瞬间用示波器测得io口产生较大电压(浪涌电压)
STM432G4单片机IAP程序+上位机
关于STM32G474 双BANK的测试问题
STM32CubeIDE报错
SDIO读取TF卡,1bit模式正常,4bit模式无法读取
cudeide执行run是烧录还是只是执行呢
STM32G473 flash擦除时程序卡死
STSPIN32G4内部驱动电压输出问题
cubeIDE在run后出现错误
在STM32Cube IDE1.18.0里 写ODR 编译不成,咋办?
[md]这样只能将文件都合成为BIN文件的格式,将下板的程序放到固定的地址,这个地址会被别的代码占用。通过bin文件烧写到上板,上板通过读取指定地址开始给下板升级。
用bin文件就不用考虑下板的程序地址了。
这里存放的是中断函数地址,可以通过map文件看一下默认的函数地址和.BIN文件中的是否一致。因为地址的变更,会导致中断函数地址的变更。我认为这个是正常的。
只要你修改的参数都生效了、功能也正常就可以。
我现在有上下两块板子,上板存放了自己的boot、app程序以及下板的app程序。我想把这三个程序合成一个hex,将来产线烧程序就只需烧录一次(否则至少要烧两次)。
上板的boot和app合成一个hex很容易,但下板app的起始地址和其在上板存放位置是不同的(例如实际下面板子的app起始地址是0x08005000,而在上板存放地址为0x0804E000),因此不能直接将下板app的hex与上面进行合成。
我现在想到的办法就是,将下板程序的ld文件中Flash的起始偏移量以及中断向量偏移宏改为0x0804E000,然后跟上板两个程序进行hex合成,但实际烧录到机器中后,程序运行异常。
请问大家,有没有其他办法实现我的功能?
你好,我新增了附加说明,麻烦帮忙看看,十分感谢
[md]你好,我新增了附加说明,麻烦帮忙看看,十分感谢
[md]我不太理解楼主的意思,上板和下板是两个独立的mcu是吗?如果是独立的,应该是两个独立的程序,为什么还要写到一个程序里面呢?
[md]你好,我这个项目是双芯片的,需要通过上面的MCU去升级下面的MCU,因此需要将下板MCU的app程序放在上板MCU里面
生成两个文件的不同是中断向量表的不同,你想要将多个bin文件通过J-Falsh将文件=放在合适的地址当中。若是使用keil编译,两个bin文件的不同应该是在编译的时候选择的on-chip的地址不同导致,所以你可以将on-chip地址修改为对应需要的地址