1、把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。
2、像AT89S52或AVR单片机一样,在单片机上有SPI接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的CPU除了执行单片机本身的指令之外,还能执行对ROM进行 *** 作的特殊指令,如ROM擦除、烧写和校验指令。在编程ROM时,下载线先通过传输这些指令给CPU执行(擦除ROM、读入数据、烧写ROM、和校验ROM),这样完成对单片机的ROM的烧写。
3、引导程序,即单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写ROM”的状态存在,就从某个端口(串口、SPI等等)读取数据,然后写入到单片机的ROM中。如果没有“要烧写ROM”的状态,就转到用户的程序开始执行。
扩展资料:
理解这个原理需要知道几个知识点:
单片机是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
单击片烧录原理总结:
ICP:使用SWD接口进行烧录,如J-Link烧录器和J-Flash软件配合使用。
ISP:使用引导程序(Bootload)加上外围UART/USB等接口进行烧录。
IAP:软件自身实现在线电擦除和编程的方法,不使用任何工具。程序通常分成两块,分别为引导程序和应用程序。
可以这样比喻性的理解:单片机就是电脑的主板,我们写的程序就是 *** 作系统,主板里面装入引导 *** 作系统的基本程序,下载程序就是给电脑装系统。
参考资料来源:百度百科-单片机
用UART1串口,然后看芯片简介把boot0和boot1配置好,下载个官方的ISP下载软件,就ok了。首先下载一个软件
Flash
Loader
Demo
然后就是把boot0置1
,boot1置0.
这样就是串口下载模式。
选择好波特率和端口。貌似默认的就行。建议改成com1.其实com0也是没关系的。
最关键的是
stm32单片机的USART只能用usart1。其他几个USART是都不行的。切记。设计电路的时候就要注意这一点。
然后可以打开,简单的按下一步。后面选择domn
to
device.使用默认设置。然后把hex文件放进去就OK。
其实很简单的。
最后一步,还是要还原BOOT设置。
boot0置0,boot1置0.一定要还原设置。不然程序是不会运行的。
就是将写好的程序编译好形成HEX或BIN文件后,将这个程序写进单片机芯片的过程就叫烧写,是沿用最早的单片机只能一次性写入,因此就叫做烧写,后来有了紫外线可擦除的EEPROM,现在有了可随时擦除的FLASHROM,但依然沿用叫烧写了,这样也好,可以特指PC向MCU写入程序。免得和单片机工作时串口的上传和下次数据相混淆
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)