hhhhhhhaa 发表于 2018-11-30 16:55:01

突然想到了一个程序下载的问题

一个stm32f103的单片机,可以给另一个单片机下载程序吗?比如拷贝自身的程序或者是其他的程序,应该怎么做啊?

hhhhhhhaa 发表于 2018-11-30 16:56:27

程序下载PA9/PA10也就是BootLoader,SWD/JTAG这三种方式

toofree 发表于 2018-11-30 19:57:27

必须是可以的。这功能就是脱机烧写器了。
得自己研究串口DFU或SWD协议,BOOT0和复位管脚也得由主控MCU来控制。目标程序需要存放到外部存储器或烧写到内部额外的空余空间。

stm1024 发表于 2018-12-1 11:29:33

当然可以,其中一个控制器就是下载器的功能。麻烦的是要这个下载器实现接口协议

hhhhhhhaa 发表于 2018-12-2 10:08:04

stm1024 发表于 2018-12-1 11:29
当然可以,其中一个控制器就是下载器的功能。麻烦的是要这个下载器实现接口协议 ...

应该怎么实现啊?有操作步骤或者方法吗

hhhhhhhaa 发表于 2018-12-2 10:09:11

toofree 发表于 2018-11-30 19:57
必须是可以的。这功能就是脱机烧写器了。
得自己研究串口DFU或SWD协议,BOOT0和复位管脚也得由主控MCU来控 ...

这是原理吧?那具体应该怎么做呢?

hhhhhhhaa 发表于 2018-12-4 15:10:35

求指导啊

hhhhhhhaa 发表于 2018-12-28 11:43:23

写一点自己这几天通过查资料获得的知识吧,现在网上有好多的离线程序下载工装,大部分用的都是103的单片机,质量好点的用407 ,通过串口下载程序,原理是这样的,首先把程序存储到flash内,然后通过串口把程序发送出去,然后加一个串口转JTAG或者是SWD的转换模块,直接和需要下载程序的单片机接口相连接,然后把程序发送到新的单片机内部,这样就完成了程序的下载

hhhhhhhaa 发表于 2018-12-28 13:07:31

这只是理论上的内容 没有进行实际操作,不知道能不能实现
下面写一下我对于程序下载的理解首先就是读取程序到flash内 这一步可以通过计算机与单片机通过串口来发送 单片机需要做的就是接收串口数据然后存储到flash内,这就需要用到spi接口或者iic接口,如果有文件管理系统最好了,可以直接使用,或者是把程序放到SD卡里,直接读取数据
页: [1]
查看完整版本: 突然想到了一个程序下载的问题