A. stm32 iap的程序怎么仿真
IAP程序也是自己写的另一个工程,你按照普通APP那样下载仿真即可,只是需要连接通信口进行获取升级文件代码,需要上位机或手动发送。要是以文件的形势访问,则无需通信,只需要读取文件的相关代码和IAP代码即可。
B. 怎样写stm32 iap应用程序
不用重新写,只需要在你原来的没有IAP的工程代码上加上一些东西。
最重要的一点就是向量表需要重新定位,使用相关函数即可,具体的你稍微搜索一下就能知道如何重新定义一个中断向量的偏移地址。
另外需要说明的是,根据我的经验,app里面不像网上说的那样,从IAP跳转到APP后,AAP第一句代码就是重新设置向量偏移,应该要先初始化系统时钟,再执行向量偏移的修改。
除了向量偏移修改这个必选项之外,也可以自定义加一些代码和IAP配合,用来实现如何通过命令来使得APP运行程序时可以跳转到IAP,一般来说是按条件软件复位,以及要让IAP知道是跳转还是升级代码这一标志位如何传递等。
C. stm32 iap程序
很可能是中断向量表没有重定位,或者是没有正确更新SP……
D. stm32的IAP怎么实现啊
肯定是先复制到sram里,然后才烧写到flash中。
flash编程是必须要看的,此外还要知道串口传输文件的协议,比如说Xmodem、Ymodem协议等等。
E. 【STM32】需要用串口进行IAP更新,串口发送数据直接写入flash,不进行SRAM缓冲
STM32官方有示例程序。
F. 请教,对stm32的IAP程序的理解
STM32是可以实现多个APP的,你可以通过你的IAP来控制app,通过不同的地址你可以选择跳转到不同的APP,一般都直接使用的IAP像APP跳转,逆向跳转一般通过复位来实现,但也可以通过代码跳转,APP之间的跳转也是一样的。
需要注意的是每个APP包括IAP都有各自的中断向量表,若在相应代码中有使用中断,跳转前记得先关闭中断,以免刚跳转过去但你还没来得及重新设置中断向量表就进入中断,程序可能跑飞。
你先实现了一个IAP+APP,那么一个IAP+多个APP也就差不多懂了。
G. 请问stm32的IAP校验怎么加
尝试给BIN文件加一个异或效验,放在BIN文件头部。然后STM32 上接收BIN文件时首先收到效验字节, 然后再接收BIN文件,接收时按字节异或,最后与BIN文件头的效验字节比较。
H. stm32 iap程序
iap是个好东西,开发板上讲的很细很明白,在实际用途上来说,串口iap过程需要校验。st官方给的例子很好用,超级终端ymodem协议发送,带crc校验。
1,bootloader介绍,修改的官方iap程序。官方的程序使用的它自己的开发板,要用按键进入bootloader然后选择是否进入iap等等选项,我改成启动时串口是否收到指定字符来判断是否进入iap的bootloader(打开超级终端,连上自己开发板,键盘一直点字符‘a’,然后重启开发板就进入bootloader)。
2,原st官方给的bootloader程序中在跳转到app程序后没有给关掉中断,我在调试stm32f103rb(20kram
128krom)中发现总是不能正常运行app程序,困扰了我很长时间,后来在bootloader加上了关闭中断,后解决了这个问题,同时也隐藏了另一个问题3。
3,我换了cpu改成stm32f103rd(60kram)发现app程序不能进入中断,我找了好久,最终发现是中断关闭没有打开,而stm32f103rb片子上却没有这个问题。。。我在代码上做如下如理,解决了这个问题,终于解决了。。。
I. 怎么使用stm32写IAP的bootloader和APP
这个你就需要从IAP的作者那里去了解了,IAP没有固定的使用方式。
但大概的使用流程是,首先用J-Link之类的先把IAP部分的工程代码写到STM32,然后根据人家自己的APP做些修改(具体修改方法由IAP代码决定,所以这里如何修改,找作者吧),接着把APP生成的源码文件(bin或hex,具体用哪个找作者),通过某些方式(可以是内存卡,串口通讯,网口通讯等,具体找作者)把APP代码传送给已经烧录IAP的STM32芯片,然后IAP就把你传送的代码写到了指定位置。
你也看到了,IAP代码决定了IAP升级程序的使用方式,所以很少有直接用别人的IAP,一般都自己写,除非你在关键硬件上完全和IAP作者的一样。
J. 芯片STM32F103加密后,还能更新IAP代码吗
这个倒没注意过,按说读保护不会跟写保护挂钩。但是,如果确实有这种情况的话,你可以选择另外一种折中的方案,把boot做成分两步引导:第一步引导就放在闪存的最前面,这块以后就不要动了,它的作用纯粹是占用所谓的可能被写保护的区域,当然也负责跳转到第二步;第二步就是真正的boot,而且具备与升级APP有关的功能。 最后,再由第二步跳转至第三步APP部分。
麻烦采纳,谢谢!