STM32用串口下载程序的原理是什么?自己能写一个下载软件吗?像官方提供的Flash Loader Demo软件一样,连接串口,然后下载程序?
如果没资料,楼主可以用逻辑分析仪吧下载的过成给抓出来分析,毕竟这个过程
是透明的。
评分
查看全部评分
评分
查看全部评分
你可以设置单片机boot引脚,利用已经固化在系统存储区中的程序进行更新,这样只需要自己写上位机就可以了,但要先搞清楚通信协议是怎样的。
你也可以自己编写一个单片机端的IAP程序,制定自己的通信协议,在编写上位机程序来更新,这样灵活性更大一些,不用设置boot引脚。
评分
查看全部评分
感谢回复!
感谢回复!已经找到,我会仔细阅读的。
对了,ST在芯片内部ROM区域出厂固化的那段程序是支持接收上位机的命令的,但绝对没法改变已经固化程序,是吧?
感谢回复!能详细说说编写单片机端的IAP程序吗?你所说的这个编写的IAP程序能将芯片出厂的固化程序修改掉吗?又为什么不用设置Boot脚呢?
单片机内部Flash可以分为两部分,System Flash 和 User Flash, 单片机上电之后执行哪个Flash中的程序由boot引脚控制。User是你可以使用的Flash,自己编写的代码都被烧录在User Flash中了,单片机在正常工作下也是运行在User Flash中。System内有自举程序代码,用于更新User Flash中你自己编写的程序,它由ST在芯片生产期间编程,你是没有办法改变的。
自己编写IAP的意思就是你再将User Flash 分为两部分使用,一部分存放IAP程序,另一部分存放Application程序,关于IAP的编写,论坛里资料太多了,你搜一下吧。
感谢回复!就算我自己写个上位机串口烧写工具,然后Boot0拉高,烧写代码时候交互的还是System Flash来写User Flash,我无法改变原来ST固化的BootLoader,就只能把User Flash分成两部分了。
感谢回复!就是我自己可以写上位机串口烧写工具,也可以在Flash区域自己写个BootLoader,但ST固化的串口烧写时候的交互代码,我是没有办法擦除重写的?
感谢回复!我再找找办法~~~~