NUCLEO-G474RE这个开发板的例程在哪儿下载啊,不知道如和用他的usb和pc串口通信
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
SDIO读取TF卡,1bit模式正常,4bit模式无法读取
stm32g474cct6 flash地址问题
HRTIM中已经设置了两路独立输出,第二路无法设置触发源,提示必须是0
记录使用Cube生成HRTIM工程时的一个bug
离线安装帮助插件
STM32U385的PB1引脚设置推挽输出,外部接电阻上拉时,断掉MCU的电源,MCU仍然运行的问题
新版本STM32CUBEIDE在新建工程中无法没有CUBEMX的选项了?
STM32CubeIDE for Visual Studio Code无法使用
微信公众号
手机版
[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地址修改为对应需要的地址