怎样将裸片STM32和电脑物理连接到一起?

发布网友 发布时间:2022-04-24 00:46

我来回答

4个回答

热心网友 时间:2022-06-22 11:14

从这个问问题的水平上看,要先给LZ介绍点背景:
1、芯片制造商一般会预留几种程序烧录的方式,其中比较常见的是串口。
2、不同芯片厂商的的烧录方式是不同的,比如STM32需要设置BOOT0和BOOT1引脚设置当前烧录的程序位置。
3、虽然不同的芯片厂商都可能使用串口下载程序,但是他们的烧录方式和命令不一定相同,主要是看芯片制造商的文档。
OK,进入楼主的问题:
1、程序烧录只不过是数据流的交互,不需要使用特殊的导线,只要能导电就行。当然,如果是远距离传输,需要根据串口的阻抗进行阻抗匹配。
2、计算机输出的串口为RS232电平,单片机一般为TTL电平,需要使用电平转换器,或者使用USB转串口的硬件工具。
3、不同封装的STM32芯片引脚定义不同,接线时使用USART1引脚,具体的引脚定义在STM32的数据手册里面有。
4、HEX文件只不过是记录了程序的机器码信息的文件,是二进制文件的文本格式,烧录工具在载入这种文件时,需要进行解析,才知道那一部分的二进制代码需要写入哪一个地址(注意,代码烧录不能随便选择地址,需要由HEX文件上的地址决定。如果需要将代码转移到别的地址空间,需要对程序编译参数进行设置,然后重新编译)

我们常用的连接方式:232转TTL电平,转换后的TX接STM32的RX,转换后的RX接STM32的TX。将BOOT0和BOOT1设置好(具体设置忘记了,请参照STM32的参考手册),接下来的通信就是看烧录工具了。
具体烧录工具的协议没有研究过,一般是读芯片ID,令芯片进入Bootloader,然后将地址和数据传输给芯片的BIOS,芯片烧录。追问您好,现在的情况是这样的!用JLINK下载进去并运行了,得到了我要的结果。可是,掉电之后(复位程序不消失,拔掉JLINK也不消失)就得再次下载程序给STM32,否则它就什么现象都没有,之前下载的一切都消失了。我看网上有人说BOOT0 BOOT1,我的BOOT0始终接地,BOOT1没有管它。下载方式用的是SWD。

我用的不是成型的实验学习板,是自己做的板子,下载的时候点击JLINK-FLASH的program&verify。怎样永久让程序保存在STM32呢

追答在下载的时候配置的地址正确了吗?该不会配置到了RAM的地址吧?需要将地址配置为FLASH区域,相关的数据手册里面有详细的介绍……sorry for late

热心网友 时间:2022-06-22 11:14

STM32可以通过其USART1引脚实现程序的下载,就是ISP,只要电脑有串口就好办。不知这是不是你需要的。

热心网友 时间:2022-06-22 11:15

1、先举个例子,如果给手机升级程序,首先要用一根数据线连接电脑和手机,电脑上要对应一个能把应用程序下载到手机上的软件。
2、同样给32下载一个道理,32有多种下载方式,串口,网口,USB口,及JLINK。具体还得看看手册,建议使用JLINK用keil可以直接烧写。追问您好,还想请教您。用的是JLINK。用Keil生成的HEX文件。用SWD方式,点击program&verify下载进去后,STM32就得必须处于有电的状态,一旦掉电了,之前下载的程序就消失了,BOOT0 始终接地,BOOT1悬空。怎么能让STM32掉电不消失程序?我打算烧写好之后,就不再处理此片单片机了,最好是能永远加密在里面,不想再断电它就空了。谢谢!

热心网友 时间:2022-06-22 11:16

可以通过串口连接,GPIOA8和GPIOA9,一个输入一个输出

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com