CN107729090A - 一种基于串口传输的用户程序下载方法 - Google Patents
一种基于串口传输的用户程序下载方法 Download PDFInfo
- Publication number
- CN107729090A CN107729090A CN201711083050.0A CN201711083050A CN107729090A CN 107729090 A CN107729090 A CN 107729090A CN 201711083050 A CN201711083050 A CN 201711083050A CN 107729090 A CN107729090 A CN 107729090A
- Authority
- CN
- China
- Prior art keywords
- program
- user program
- bootloader
- user
- serial port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44573—Execute-in-place [XIP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于串口传输的用户程序下载方法,包括如下步骤:首次配置,需先通过厂家的调试工具,将BOOTLOADER程序下载到启动区;重启设备,连接串口,通过PC端程序操作,将所需下载的用户程序下载到指定区域;程序烧写完成后,自动跳转到程序区,运行用户程序;首次配置后,启动设备将会首先执行BOOTLOADER,待用户无任何操作2秒后,自动跳转到用户主程序运行。本方法实现难度低,占用资源少,可行性广(带有硬件串口或IO口模拟波特率的串口皆可),外设要求低(不需要引出硬件调试口),可大幅节约软件开发、生产人员在下载调试工作中使用的时间,解决了现有通讯设备在下载升级时,操作复杂,导致不必要的人力物力浪费的问题。
Description
技术领域
本发明涉及通讯设备技术领域,尤其涉及一种基于串口传输的用户程序下载方法。
背景技术
当一款通讯设备成功研发完成后,投入市场时,此时往往存在这样的需求:功能芯片厂家可能停产芯片或者对现有芯片进行工艺升级,性能优化迭代。因此也造成了,通讯设备公司现有机型的内部功能芯片常常需要更新,更新后,MCU内的功能芯片控制程序也必须随之升级。此外,从市场上返修的设备,除了验证电路损坏,用户程序也常常需要改写升级。
由于不同厂家的MCU,在升级程序时,需要外接其标配的调试口,并使用其标配的调试工具,已投入市场的旧机型,电路,外壳均已设计安装完成,根据传统方法改程序,就必须拆开机器,连接到指定的接口,通过MCU厂家不同的下载工具对其重新升级,过程中造成了许多人力物力的浪费,不同MCU厂家种类繁多的调试接口,下载工具,也给程序开发调试过程带来不必要的麻烦,为此,我们提出一种基于串口传输的用户程序下载方法。
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于串口传输的用户程序下载方法,具有操作难度低,大幅节约软件开发、生产人员在下载调试工作中使用时间的特点,解决了现有通讯设备在下载升级时,操作复杂,导致不必要的人力物力浪费的问题。
本发明提供如下技术方案:一种基于串口传输的用户程序下载方法,包括如下步骤:
(1)首次配置,需先通过厂家的调试工具,将BOOTLOADER程序下载到启动区;
(2)重启设备,连接串口,通过PC端程序操作,将所需下载的用户程序下载到指定区域;
(3)程序烧写完成后,自动跳转到程序区,运行用户程序;
(4)首次配置后,启动设备将会首先执行BOOTLOADER,待用户无任何操作2秒后,自动跳转到用户主程序运行;
(5)如需升级程序,则重复步骤(2),如需升级BOOTLOADER,则重复步骤(1)。
优选的,所述步骤(1)中提到的首次配置需通过厂家的烧写工具,并外界调试接口,此后在上电复位之后,MCU将首先运行BOOTLOADER,BOOTLOADER会等待电脑端用户的操作,2秒后无操作,则通过指针自动跳转到用户程序的启动向量,直接运行用户程序。
优选的,所述步骤(2)可通过任意窗口程序语言编写(VB,VC),通过打开PC串口,按照协议规范的指令发送到串口即可,并可指定烧写的数据为用户程序、或用户数据文件,按照自定义的协议,依次将数据发送到设备端。
优选的,所述步骤(3)中提到的烧写是将写好的程序编译形成HEX或BIN文件后,将程序写进单片机芯片的过程。
优选的,所述步骤(3)中提到的程序包含设备端的BOOTLOADER程序,PC端的用户程序,及以上两者间的数据传输协议。
本发明提供了一种基于串口传输的用户程序下载方法,通过同时连接常见的串口连接即可实现应用程序一键下载烧写,有效解决了不同厂家的MCU在下载程序时需要额外外接硬件调试接口,并使用专用调试工具才能进行程序下载的问题,此外,通过实现本方法的微控制器,在保证bootloader程序本体及相关中断向量必要的存储空间的前提下,可对片上存储空间的内容进行任意分配擦写,实现自定义数据存储区数据类型的功能(如自定义常用参数区,可只对此区域进行管理,避免每次都全局烧写花费多余时间),本方法实现难度低,占用资源少(BOOTLOADER仅1K左右),可行性广(带有硬件串口或IO口模拟波特率的串口皆可),外设要求低(不需要引出硬件调试口),可大幅节约软件开发、生产人员在下载调试工作中使用的时间,解决了现有通讯设备在下载升级时,操作复杂,导致不必要的人力物力浪费的问题。
附图说明
图1为本发明操作及指令交互流程图;
图2为本发明通讯协议图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种基于串口传输的用户程序下载方法,包括如下步骤:
(1)首次配置,需先通过厂家的调试工具,将BOOTLOADER程序下载到启动区;
(2)重启设备,连接串口,通过PC端程序操作,将所需下载的用户程序下载到指定区域;
(3)程序烧写完成后,自动跳转到程序区,运行用户程序;
(4)首次配置后,启动设备将会首先执行BOOTLOADER,待用户无任何操作2秒后,自动跳转到用户主程序运行;
(5)如需升级程序,则重复步骤(2),如需升级BOOTLOADER,则重复步骤(1)。
操作流程:通过厂家自带烧写软件,按照其说明书指导方式,将BOOTLOADER程序下载到MCU;连接串口,打开PC端软件,点击下拉框选择串口号,点击“浏览”,加载HEX文件,点击“下载”,向设备发送字符“1”,等待接收返回结果;BOOTLOADER收到字符“1”,向上位机返回字符“R”;PC端软件收到字符“R”,接着向下位机发送字符“2”,等待接收返回结果;BOOTLOADER收到字符“2”,向上位机返回字符“E”,通知上位机开始擦除;PC端软件收到字符“E”,信息窗口显示“正在擦除。。。”,等待接收返回结果;BOOTLOADER擦除完成,向上位机返回字符“P”,通知上位机开始正式下载程序;PC端软件收到字符“P”,信息窗口显示“擦除完成”,开始发送第一帧HEX文件中的程序数据,等待接收返回结果;BOOTLOADER收到程序数据,依次解析出数据地址,数据类型,数据长度,数据校验和,根据数据地址,决定写入位置,其中启动向量放在前面规划好的启动向量位置,其他数据根据解析出的地址写入,计算本帧的校验和,判定传输的数据中的校和是否正确,校验正确,发送字符“>”,提示上位机发送下一帧数据,校验失败,发送字符“C”地址超出范围,发送字符“O”PC端软件收到字符“C”,提示校验失败,收到字符“O”,提示地址出错,停止发送,收到字符“>”,继续发送数据;根据解析到的数据类型为1,写完本帧后,读出启动向量地址的数据,进行检查,成功向上位机发送“S”,错误则返回字符“W”;PC端软件收到字符“S”,提示下载完成,收到字符“W”,下载出错,停止本次下载;BOOTLOADER收到完整的程序数据并校验成功后,跳转到启动向量,直接运行程序。
本发明中,通过同时连接常见的串口连接即可实现应用程序一键下载烧写,有效解决了不同厂家的MCU在下载程序时需要额外外接硬件调试接口,并使用专用调试工具才能进行程序下载的问题,此外,通过实现本方法的微控制器,在保证bootloader程序本体及相关中断向量必要的存储空间的前提下,可对片上存储空间的内容进行任意分配擦写,实现自定义数据存储区数据类型的功能(如自定义常用参数区,可只对此区域进行管理,避免每次都全局烧写花费多余时间),本方法实现难度低,占用资源少(BOOTLOADER仅1K左右),可行性广(带有硬件串口或IO口模拟波特率的串口皆可),外设要求低(不需要引出硬件调试口),可大幅节约软件开发、生产人员在下载调试工作中使用的时间,解决了现有通讯设备在下载升级时,操作复杂,导致不必要的人力物力浪费的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于串口传输的用户程序下载方法,其特征在于:包括如下步骤:
(1)首次配置,需先通过厂家的调试工具,将BOOTLOADER程序下载到启动区;
(2)重启设备,连接串口,通过PC端程序操作,将所需下载的用户程序下载到指定区域;
(3)程序烧写完成后,自动跳转到程序区,运行用户程序;
(4)首次配置后,启动设备将会首先执行BOOTLOADER,待用户无任何操作2秒后,自动跳转到用户主程序运行;
(5)如需升级程序,则重复步骤(2),如需升级BOOTLOADER,则重复步骤(1)。
2.根据权利要求1所述的一种基于串口传输的用户程序下载方法,其特征在于:所述步骤(1)中提到的首次配置需通过厂家的烧写工具,并外界调试接口,此后在上电复位之后,MCU将首先运行BOOTLOADER,BOOTLOADER会等待电脑端用户的操作,2秒后无操作,则通过指针自动跳转到用户程序的启动向量,直接运行用户程序。
3.根据权利要求1所述的一种基于串口传输的用户程序下载方法,其特征在于:所述步骤(2)可通过任意窗口程序语言编写(VB,VC),通过打开PC串口,按照协议规范的指令发送到串口即可,并可指定烧写的数据为用户程序、或用户数据文件,按照自定义的协议,依次将数据发送到设备端。
4.根据权利要求1所述的一种基于串口传输的用户程序下载方法,其特征在于:所述步骤(3)中提到的烧写是将写好的程序编译形成HEX或BIN文件后,将程序写进单片机芯片的过程。
5.根据权利要求1所述的一种基于串口传输的用户程序下载方法,其特征在于:所述步骤(3)中提到的程序包含设备端的BOOTLOADER程序,PC端的用户程序,及以上两者间的数据传输协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711083050.0A CN107729090A (zh) | 2017-11-07 | 2017-11-07 | 一种基于串口传输的用户程序下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711083050.0A CN107729090A (zh) | 2017-11-07 | 2017-11-07 | 一种基于串口传输的用户程序下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107729090A true CN107729090A (zh) | 2018-02-23 |
Family
ID=61222795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711083050.0A Pending CN107729090A (zh) | 2017-11-07 | 2017-11-07 | 一种基于串口传输的用户程序下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729090A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111856241A (zh) * | 2020-06-12 | 2020-10-30 | 广芯微电子(广州)股份有限公司 | 一种芯片量产平台系统及其实现方法 |
CN112540765A (zh) * | 2020-12-10 | 2021-03-23 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
CN114036080A (zh) * | 2021-11-09 | 2022-02-11 | 许昌许继软件技术有限公司 | 一种显示终端使用通信串口升级程序的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514018A (zh) * | 2013-10-08 | 2014-01-15 | 上海电力学院 | 基于stm32f4控制器的程序远程下载的实现方法 |
CN105094914A (zh) * | 2015-08-07 | 2015-11-25 | 珠海格力电器股份有限公司 | 远程在线烧写方法、装置及远程在线烧写系统 |
CN105204899A (zh) * | 2015-09-17 | 2015-12-30 | 浪潮软件集团有限公司 | 一种基于网络的单片机固件升级方法的实现 |
CN106991065A (zh) * | 2017-03-31 | 2017-07-28 | 东莞博力威电池有限公司 | 通过usb上位机与带can和/或lin总线设备通讯的方法 |
-
2017
- 2017-11-07 CN CN201711083050.0A patent/CN107729090A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514018A (zh) * | 2013-10-08 | 2014-01-15 | 上海电力学院 | 基于stm32f4控制器的程序远程下载的实现方法 |
CN105094914A (zh) * | 2015-08-07 | 2015-11-25 | 珠海格力电器股份有限公司 | 远程在线烧写方法、装置及远程在线烧写系统 |
CN105204899A (zh) * | 2015-09-17 | 2015-12-30 | 浪潮软件集团有限公司 | 一种基于网络的单片机固件升级方法的实现 |
CN106991065A (zh) * | 2017-03-31 | 2017-07-28 | 东莞博力威电池有限公司 | 通过usb上位机与带can和/或lin总线设备通讯的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111856241A (zh) * | 2020-06-12 | 2020-10-30 | 广芯微电子(广州)股份有限公司 | 一种芯片量产平台系统及其实现方法 |
CN112540765A (zh) * | 2020-12-10 | 2021-03-23 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
CN112540765B (zh) * | 2020-12-10 | 2024-03-08 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
CN114036080A (zh) * | 2021-11-09 | 2022-02-11 | 许昌许继软件技术有限公司 | 一种显示终端使用通信串口升级程序的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117587B1 (en) | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems | |
CN103077058B (zh) | 一种安装应用程序的方法及装置 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN106598650A (zh) | 基于光纤通信的fpga程序在线升级的装置及方法 | |
CN106648803A (zh) | 一种dsp芯片在线升级方法 | |
CN104407878B (zh) | C6000数字信号处理器在线升级方法 | |
KR20100041447A (ko) | 테스트 자동화 장치 및 테스트 자동화 방법 | |
EP2902916A1 (en) | Programming auxiliary system of programmable controller and method thereof | |
CN111008033A (zh) | 一种基于串口的通用dsp在线升级系统及升级方法 | |
CN107729090A (zh) | 一种基于串口传输的用户程序下载方法 | |
CN107577609B (zh) | 一种基于主机端动态链接的嵌入式系统动态模块调试系统 | |
CN109842523A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN107678765A (zh) | 一种基于c8051f系列单片机的在线升级方法 | |
CN110597542A (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN108170457A (zh) | 固件升级方法、装置及vr头戴式显示器 | |
CN104077204A (zh) | 可重构的8位rsic单片机仿真器 | |
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
CN104125504A (zh) | 一种基于持续集成的部署方法、装置及系统 | |
CN115757183A (zh) | 天熠嵌入式操作系统下一种基于代理的任务级调试方法 | |
CN107729040A (zh) | 一种单片机的iap方法及系统 | |
CN108182079A (zh) | 一种基于串口的tms320c6748程序加载方法 | |
CN111414182B (zh) | 一种基于spi的fpga远程升级方法 | |
CN103729202A (zh) | 一种基于gel脚本的dsp可靠在线flash烧写方法 | |
CN102043654A (zh) | 一种基于TMS320VC55xx的DSP简易开发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180223 |