一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于USB的MCU程序下载方法、电子设备及存储介质与流程

2021-11-03 14:48:00 来源:中国专利 TAG:

基于usb的mcu程序下载方法、电子设备及存储介质
技术领域
1.本发明涉及信息技术领域,特别是涉及基于usb的mcu程序下载方法。


背景技术:

2.现有的调试器或烧录器,是将pc机中生成的目标二进制文件转换成mcu非易失存储器中程序的设备,如图2所示,调试器或烧录器的一端为usb接口,以连接pc机;另一端为串行或并行总线接口以连接mcu系统,如spi、uart、can、swd总线等,实现对mcu非易失存储器的访问,完成程序下载的功能。其程序下载过程为:1安装调试器\烧录器对应的烧录软件和驱动;2使用调试器\烧录器连接mcu和pc机;3打开烧录软件,选择已生成的二进制文件,发送程序下载命令,完成程序下载功能。
3.现有调试器或烧录器进行程序下载,存在以下缺陷:需要专用的调试、烧录适配器和烧录软件;调试、烧录适配器和烧录软件之间通信协议较为复杂;用户界面不友好,存储器容量、剩余空间大小等不直观;程序下载过程较复杂。


技术实现要素:

4.为了解决现有技术存在的不足,本发明的目的在于提供一种基于usb的mcu程序下载方法,将mcu系统中存储器映射成pc机中u盘,当pc机连接并插入usb数据线后,可在pc机上打开u盘,直接往u盘中拖拽已生成的目标二进制文件即可完成mcu程序的下载。
5.为实现上述目的,本发明提供的一种基于usb的mcu程序下载方法,包括以下步骤:
6.将mcu系统通过usb与pc机相连接,所述pc机根据usb通信协议进行枚举,将usb设备识别为u盘;
7.所述pc机读取所述u盘根目录扇区,解析目录表项信息,在根目录下显示文件信息;
8.所述pc机将程序编译成mcu对应的目标文件,写入到所述u盘根目录下,文件目录项写入成功后,开始传输文件内容,文件传输完成,mcu程序下载结束。
9.进一步地,所述pc机根据usb通信协议进行枚举,将usb设备识别为u盘的步骤,还包括,
10.枚举过程中,所述pc机获取usb设备描述信息时,所述mcu系统将配置好的usb设备描述信息发送到所述pc机,所述pc机收到该信息后,将所述usb设备识别为u盘。
11.进一步地,所述pc机根据usb通信协议进行枚举的步骤,还包括,
12.所述pc机对所述usb设备逐个扇区扫描读取,获取存储在扇区内的文件系统dos引导记录;
13.根据dos引导记录内记录的数据,计算文件系统信息,并根据计算的文件系统信息读取存储的文件信息。
14.进一步地,所述pc机对所述usb设备逐个扇区扫描读取,获取存储在扇区内的文件系统dos引导记录的步骤,还包括,
15.所述pc机读取所述扇区时,所述mcu系统将建立好的dos引导记录信息通过usb发送给所述pc机。
16.进一步地,所述pc机读取u盘根目录扇区,解析目录表项信息,在u盘根目录下显示文件信息的步骤,还包括,
17.在u盘根目录下建立可执行文件的目录表项;
18.所述目录表项对应文件存储区域的首地址定向到mcu系统启动后应用程序开始执行的首地址;
19.打开u盘后,根目录下显示mcu程序的目标文件信息。
20.进一步地,还包括,
21.当在pc机删除目录表项文件时,修改目录表项的首字节,对根目录扇区执行写回操作;
22.mcu系统检测到根目录扇区的写入操作和程序文件目录表项首字节修改后,执行程序擦除操作,擦除mcu系统内部flash存储器中的程序。
23.进一步地,还包括,
24.当在pc机替换或写入目录表项文件时,pc机在根目录扇区修改和写入文件目录表项信息,mcu系统检测到根目录扇区写入操作且不为删除时,执行程序下载,将已修改过的根目录扇区写入根目录所在扇区,返回成功信号;
25.收到根目录扇区写入成功操作后,pc机将从文件目录表项指向的首扇区开始逐个扇区依次写入文件内容;
26.mcu检测到文件内容扇区的写入操作时,将接收到的文件内容写入到指定的扇区中。
27.更进一步地,所述pc机将程序编译成mcu系统对应的目标文件,写入到u盘根目录下,文件目录项写入成功后,开始传输文件内容的步骤,还包括,
28.在传输文件内容的过程中,每写入一个扇区的内容,将接收到的数据和写入的内容进行校验;
29.若校验结果正确,则执行写入操作至文件写入完成;
30.若校验结果错误,生成错误标志,终止文件传输。
31.为实现上述目的,本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于usb的mcu程序下载方法的步骤。
32.为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于usb的mcu程序下载方法的步骤。
33.本发明的基于usb的mcu程序下载方法,具有以下有益效果:
34.1)把mcu系统中存储器映射成pc机中u盘,pc机上在文件系统中直接拖拽目标文件,无需专门的烧录软件;
35.2)仅需一根usb数据线,无需其他调试、烧录设备;
36.3)在mcu系统中内置文件校验程序,以检查传输过程中是否出错,防止程序下载错误。
37.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。
附图说明
38.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
39.图1为根据本发明的基于usb的mcu程序下载方法流程图;
40.图2为现有技术中mcu程序下载设备示意图;
41.图3为根据本发明的基于usb的mcu程序下载设备示意图。
具体实施方式
42.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
43.实施例1
44.图1为根据本发明的基于usb的mcu程序下载方法流程图,下面将参考图1,对本发明的基于usb的mcu程序下载方法进行详细描述。
45.首先,在步骤101,使用usb数据线,一端连接mcu系统后,另一端插入pc机。给mcu系统上电,等待pc机检测到usb连接后,按照usb通信协议,开始枚举过程。
46.优选地,枚举过程中,pc机获取usb设备描述信息时,mcu系统将配置好的usb设备描述信息msd(massive storage device,海量存储设备)通过usb发送给pc机,pc机收到该信息后,将此usb设备识别为u盘。
47.优选地,pc机将按照msd类定义的方法,对该usb设备逐个扇区扫描读取,以获取存储在某个扇区内的文件系统dbr(dos boot record,dos引导记录),并且直到扫描读取到dbr信息为止。在此过程中,pc机读取某个扇区时,mcu系统将建立好的dbr信息通过usb发送给pc机。
48.优选地,pc机读取到dbr后,将根据dbr内记录的数据,计算文件系统信息,包含u盘大小、扇区大小、根目录开始扇区等信息。之后pc机将读取根目录扇区,以读出已经存储的文件信息。
49.本实施例中,打开pc机的文件资源管理器,可看到mcu系统映射的u盘盘符,打开后即可浏览该u盘中存储的内容。
50.在步骤102,打开u盘,pc机读取u盘根目录扇区,发现目录表项信息并解析后,将在u盘根录下显示文件信息。
51.优选地,文件信息包括文件名、大小、修改日期等。
52.本实施例中,由于已在u盘根目录下建立了一个文件目录表项,该目录表项的属性为文件,文件内容存储区域的首地址(文件系统内的地址)定向到mcu启动后应用程序开始执行的首地址(mcu flash地址)。因而打开u盘后,根目录下将显示mcu程序的目标文件信息。
53.优选地,当在pc机删除该文件时,pc机底层将把该文件目录表项的首字节修改成十六进制0xe5后,并对根目录扇区执行写回操作;mcu检测到根目录扇区的写入操作,且发现程序文件目录表项首字节为0xe5后,会把此行为识别为程序擦除操作,将擦除mcu内部
flash存储器中的程序。
54.优选地,当在pc机替换或写入该文件时,pc机首先在根目录扇区修改和写入文件目录表项信息,mcu系统检测到根目录扇区写入操作且不为删除时,把此操作识别为程序下载过程,并将pc机传送过来的、已修改过的根目录扇区写入根目录所在扇区,并返回成功标志。收到根目录扇区写入成功操作后,pc机将从文件目录表项指向的首扇区开始,逐个扇区依次写入文件内容。mcu系统检测到文件内容扇区的写入操作时,将接收到的文件内容写入到指定的扇区中。文件内容写完后,mcu程序的下载过程就完成了。
55.优选地,当从u盘复制该文件到pc机中时,pc机会读取文件内容所在的扇区。mcu系统检测到文件内容所在扇区的读取操作时,将该操作识别为程序读出。可根据需要设置是否允许程序读出,防止他人获取目标程序文件。
56.在步骤103,pc机使用编译软件把写好的程序(c、c 、汇编等语言编写的程序)编译成该mcu对应的目标文件(该mcu可执行的文件),将其复制到u盘根目录下,文件目录项写入成功后,开始传输文件内容。
57.优选地,传输文件内容的过程中,每写入一个扇区的内容,内置校验程序都将把接收到的数据和写入flash的内容进行校验,再次确认,防止程序写入出错。若无错误发生,则一直执行写入操作,直到文件写入完成;若写入过程出现校验错误,终止文件传输过程。
58.在步骤104,文件传输完成,判断文件是否写入成功,若成功,则执行步骤105,否则返回执行步骤103。
59.优选地,在u盘根目录下建立校验文件的目录表项,文件名提示是否写入成功,如写入成功文件名为ok,失败则为fail。pc机在u盘根目录下刷新后,可看到校验信息。
60.在步骤105,程序下载成功,拔出usb数据线。
61.优选地,下次上电启动时,检测到无usb连接,自动执行已下载的程序。
62.图3为根据本发明的基于usb的mcu程序下载设备示意图,如图3所示,在mcu系统上电后,检测到usb连接时,将mcu系统的存储器映射成pc机上的u盘。通过pc机文件系统直接对u盘写入文件完成程序下载的功能
63.本发明的基于usb的mcu程序下载方法,仅通过一根usb数据线而无需其他额外调试或烧录设备和专用的烧录软件即可实现mcu程序下载,将mcu系统中存储器映射成pc机上的u盘。当连接并插入usb数据线后,可在pc机上打开u盘,直接往u盘中拖拽已生成的目标二进制文件即可完成mcu程序的下载。
64.本发明的一个实施例中,还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于usb的mcu程序下载方法的步骤。
65.本发明的一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于usb的mcu程序下载方法的步骤。
66.本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献