keil安装pack中提示Encountered an improper argument. 如何解决
《MCSDK5.X中增加位置环》提及mc_position.c/mc_position.h
stm32cubide搜索不到.h文件里的文本
stm32cubeide-boot loader跳转APP异常问题
我用过stm32cubemax 但是我给stm32cubeide整服了
STM32G473 DRDY不置位?
stspin32G4这颗mcu里面集成的是哪一款G4?能不能用cubemx来进行配置
STM32G473是否支持硬件AES?
STM32G473VET6同时使用6个片上放大器(OPAMP)的PGA加外部偏置模式,引脚位置让差分信号走线分离,信号有无较大影响?
stm32G474的flash模式如何判定?single bank 和dual bank
[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地址修改为对应需要的地址