STM32给另一个芯片烧录程序

2019-07-20 06:15发布

这几天看PIXHAWK飞控的硬件,它里面有两个STM32,烧录程序时先给主芯片烧录,之后主芯片通过串口给副芯片(STM32F103)烧录程序。我想知道这是什么操作?是哪个知识点的?照这样是不是可以将程序离线保存,需要的时候给另一块烧录?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
小小的爱
1楼-- · 2019-07-20 08:12
 精彩回答 2  元偷偷看……
今天吃红烧鱼
2楼-- · 2019-07-20 11:03
 精彩回答 2  元偷偷看……
DreamWaterPro
3楼-- · 2019-07-20 15:57
今天吃红烧鱼 发表于 2018-9-7 08:18
看了IAP大致明白了,但还有个问题,我看IAP烧录都是用电脑的,用单片机的话怎么烧录?就是STM32自己怎么 ...

不知道楼主有没有注意到,其实有很多第三方生产的或者是爱好者DIY的stlink其实主控芯片就是STM32F103C8T6这款入门芯片;其次,如果楼主有机会在Linux平台下进行stm32的相关开发的话会发现用于串口下载的stm32flash以及stlink的工具st-flash都是开源的。
因此个人觉得,这个功能应该是国外大神通过这些开源代码以及JTAG或者SWD或者是STM32的下载协议、时序等摸索实践出来的,说白了,就是使用主控模拟JTAG或者SWD调试器的时序伪装成为调试器,或者是通过串口模拟为下载软件,按照相关协议规定实现的程序下载。不过我不认为这个和IAP有什么关系。

根据这个思路,的确可以做到将程序离线保存在片内flash或者片外flash中,有需要的时候再给另外一块芯片进行烧录。
小小的爱
4楼-- · 2019-07-20 17:16
今天吃红烧鱼 发表于 2018-9-7 08:18
看了IAP大致明白了,但还有个问题,我看IAP烧录都是用电脑的,用单片机的话怎么烧录?就是STM32自己怎么 ...

如果副芯片之前没有烧写过iap程序的话,那实现原理应该就是4楼说的那样,其实就是板载了一个st-link。st卖的开发板都是这样形式的。板载一个st-link.
今天吃红烧鱼
5楼-- · 2019-07-20 21:00
 精彩回答 2  元偷偷看……
八度空间
6楼-- · 2019-07-20 22:04
 精彩回答 2  元偷偷看……

一周热门 更多>