CN104035793A - 基于单片机的在应用无线编程方法 - Google Patents
基于单片机的在应用无线编程方法 Download PDFInfo
- Publication number
- CN104035793A CN104035793A CN201410218377.4A CN201410218377A CN104035793A CN 104035793 A CN104035793 A CN 104035793A CN 201410218377 A CN201410218377 A CN 201410218377A CN 104035793 A CN104035793 A CN 104035793A
- Authority
- CN
- China
- Prior art keywords
- program
- chip microcomputer
- boot
- user
- carry out
- 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
Abstract
本发明公开了一种基于单片机的在应用无线编程方法。通过编写引导程序(BootLoaderProgram)并将其写入单片机的引导程序区,配合WindowsXP中的超级终端程序,采用Xmodem文件传输协议,通过蓝牙无线传输模块将应用程序文件传输至单片机,并将应用程序写入Flash中的应用程序区,实现在应用无线编程,无需专用编程器即可实现程序固件的更新。其中对单片机内部Flash的读、写、缓存等操作以及文件传输协议的匹配均有引导程序完成。应用本发明,单片机下载程序时无需专用下载器,通过无线编程的方式进行程序更新,提高单片机程序更新的速度和效率。
Description
技术领域
本发明涉及一种基于单片机的在应用无线编程方法,属于嵌入式技术领域。
背景技术
在目前的嵌入式领域当中,单片机的程序更新往往需要专用的编程器(下载器)来实现,即在更新程序的过程中,需有线连接专用下载器,设置相应信号线,进入编程模式,利用单片机专用的串行或并行编程接口对单片机内部的Flash进行编程操作。这种编程方式无法实现在应用编程,且需要通过有线连接专用编程器,使得单片机的程序更新过程繁琐且耗时。中国专利申请CN101685401A公开了一种无线编程方法,但是需要额外增加选通器、硬件编程模块等模块,增加了成本和功耗,而且降低了处理器的工作效率。
发明内容
为了克服现有单片机有线编程技术的不足, 本发明提供一种基于单片机的在应用无线编程方法。此方法在更新程序时可免去连接电缆的繁琐,利用单片机的串口和无线通信模块(如蓝牙)实现和PC端上位机的通信,将程序数据包传输至单片机并写入Flash,实现程序固件的更新,不需要专用串行或并行下载设备,实现在应用编程(In Application Programming)。此编程过程只会短暂打断原有程序的正常运行,可以藉此实现快速的程序固件升级。
本发明解决其技术问题所采用的技术方案是:
一种基于单片机的在应用无线编程方法,通过编写引导程序(Boot Loader Program)并将其写入单片机的引导程序区,配合WindowsXP中的超级终端程序,采用Xmodem文件传输协议,通过蓝牙无线传输模块将用户应用程序文件传输至单片机,并将用户应用程序写入Flash中的用户应用程序区,实现在应用无线编程,其中对单片机内部Flash的读、写、缓存操作以及文件传输协议的匹配均由引导程序完成。所述的单片机为ATmega128单片机。
当单片机上电或软复位后,程序指针会跳转至引导程序区首地址,执行引导程序,引导程序首先会执行提示用户下载程序操作,若用户三秒输入下载指令,则执行传输程序文件包操作,依据Xmodem文件传输协议,通过蓝牙无线通信模块将二进制格式的程序文件通过上位机发送至单片机,传输完成并校验正确后,执行将程序写入Flash操作,将传输过来的用户应用程序写入Flash中的用户应用程序区,并执行用户程序;若用户三秒内未输入下载指令,则直接执行用户程序;在执行用户程序的过程中,若需要再次进行程序的更新,则可输入更新指令,此时会执行引导程序,完成新一次的程序传输、下载及更新。
本发明的有益效果是:
1)单片机下载程序时无需专用下载器;
2)通过无线编程的方式进行程序更新;
3)提高单片机程序更新的速度和效率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明在应用无线编程方法的程序流程图;
图2是Xmodem传输协议流程图。
具体实施方式
在应用编程IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。
本发明所要实现的在应用无线编程是以IAP技术为基础,配合无线通信和文件传输协议,实现在应用的快速程序更新。
通常在用户需要实现IAP功能时,即能够实现用户程序运行中的自我更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、UART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中。其中第一个程序称之为引导程序(Boot Loader),第二个程序称之为用户应用程序。
本发明实例所选用的单片机为ATMEL公司生产的ATmage128单片机。ATmega128具有128K字节的系统内可编程Flash、4K字节的EEPROM和4K字节的内部SRAM。配合USART、SPI等外部通信接口可实现在系统/在应用编程。
AVR单片机采用的是哈佛结构内核,其内部数据存储器和程序存储器时是分开独立寻址的。ATmega128具有128K字节的在应用编程Flash。因为所有AVR指令为16位或32位,故而FLASH是组织成 的形式。其程序计数器PC为16位,故存储空间为。
ATmega128的Flash由两个区构成:应用程序FLASH区和引导程序Flash区。应用程序FLASH区是用来存储应用程序代码的区域,引导程序Flash区用来存储Boot Loader代码。Boot Loader代码可以运行SPM指令,访问整个FLASH区,包括引导程序FLASH区本身。因此,通过编写Boot Loader程序,可以实现对片内FLASH的操作,进而实现程序在线更新。
ATmega128程序存储器的更新以页的方式进行。页是Flash的组成部分,由数个字节组成,在编程过程中使用,页的组织结构不影响正常的操作。由于FLASH存储器是以页的组织形式存在,程序计数器可以看做由两个部分组成:其一为实现页内寻址的低位部分;其二为实现页寻址的高位部分。
程序存储器按照页的方式进行更新一般遵循以下过程:首先将需要被编程的页擦除,然后运行SPM指令以一次一个字的方式将数据写入临时页缓冲器,最后将临时页缓冲器中的内容写入待编程的页,至此完成Flash一个页的更新。当然,写临时页缓冲器的操作也可以放在执行页擦除操作之前。如果只需要改变页的一部分,则在整个页擦除之前必须将页中其他部分保存起来(如保存于页缓冲器中),然后再写回Flash,这时Boot Loader提供了一个有效的读-修改-写特性,允许用户软件首先读取页中的内容,然后对内容做必要的改变,接着把修改后的数据写回到Flash中。值得注意的是,临时页缓冲器可以随机寻址。在执行Flash自编程时,保证在页擦除和页写操作中寻址相同的页是十分关键的。
既然ATmega128具备引导加载支持的用户程序自编程功能,我们就可以利用单片机本身自动下载和更新程序代码的系统程序自编程更新的机制,实现在应用编程和系统程序的远程自动更新的应用。
所以,应用ATmega128实现无缝化编程的本质,就是让单片机可以灵活地运行一个常驻Flash的引导加载程序(Boot Loader Program),实现对用户应用程序的在线自编程更新。引导加载程序的设计可以使用任何的可用的数据接口和相关的协议读取代码,或者从程序存储器中读取代码,然后将代码写入(编程)到Flash存储器中。
据此,本发明给出了一个实际的Boot Loader程序,它可以配合WindowsXP中的超级终端程序,采用Xmodem传输协议,通过无线编程的方式下载更新用户的应用程序。
实施例
参见附图1,图1为一种基于单片机的在应用无线编程方法的程序流程图。使用ATmega128单片机实现在应用无线编程,首先需要使用有线编程的方式将引导程序(Boot Loader Program)写入Flash中的引导程序区。引导程序包括对Flash的读、写、缓存等操作函数,为了使程序文件的传输正常进行,引导程序必须同上位机的Xmodem文件传输协议相匹配。当单片机上电或软复位后,程序指针会跳转至引导程序区首地址,执行Bootloader程序2,Bootloader程序首先会执行提示用户下载程序操作3,若用户三秒内按下键盘按键“d”,则执行传输程序文件包操作7,依据Xmodem文件传输协议,通过蓝牙无线通信模块将二进制格式的程序文件通过上位机发送至单片机,传输完成并校验正确后,执行将程序写入Flash操作8,将传输过来的用户应用程序写入Flash中的用户应用程序区,并执行用户程序5;若用户三秒内未按下键盘按键“d”,则直接执行用户程序5。在执行用户程序的过程中,若需要再次进行程序的更新,则可按下键盘按键“b”,此时会执行Bootloader程序2,完成新一次的程序传输、下载及更新。
参见附图2,图2为Xmodem传输协议流程图。Xmodem协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。标准分为Xmodem和1k-Xmodem两种,前者以128字节块的形式传输数据,后者字节块为1k即1024字节,并且支持一般校验和、CRC两种校验方式。如果接收方关于一个块的校验与它在发送方的校验相同时,接收方就向发送方发送一个认可字节。在出现数据包错误的情况下,Xmodem协议支持多次传输(一般为10次)。Xmodem协议传输由接收程序和发送程序完成,在本项目中,接收程序即为下位机,发送程序采用WindowXp系统自带的超级终端实现。传输过程由接收程序发送协商字符开始,协商字符用来协商校验方式,协商通过之后发送程序就开始发送数据包,接收程序接收到完整的一个数据包之后按照协商的方式对数据包进行校验。校验通过之后发送确认字符,然后发送程序继续发送下一个包;如果校验失败,则发送否认字符,发送程序重传此数据包。为了便于读者理解,下面就协议定义、数据包格式、传输启动、传输过程、特殊处理、校验、传输逻辑做详细说明。
Xmodem传输协议的相关关键字如下:
标示符 | 十六进制 | 含义 |
<SOH> | 01H | Xmodem数据头 |
<STX> | 02H | 1K-Xmodem数据头 |
<EOT> | 04H | 发送结束 |
<ACK> | 06H | 认可响应 |
<NAK> | 15H | 不认可响应 |
<CAN> | 18H | 撤销传送 |
<EOF> | 1AH | 填充数据包 |
对于标准Xmodem 协议来说,如果传送的文件不是128或者1024字节的整数倍,那么最后一个数据包的有效内容肯定小于帧长,不足的部分需要用CTRL-Z(0x1A)来填充。如果传送的是bootloader工程生成的.bin文件,MCU收到后遇到0x1A字符会怎么处理?其实如果传送的是文本文件,那么接收方对于接收的内容是很容易识别的,因为CTRL-Z不是前128个ASCII码,不是通用可见字符,如果是二进制文件,MCU其实也不会把它当作代码来执行。哪怕是EXCEL文件等,由于其内部会有些结构表示各个字段长度等,所以不会读取多余的填充字符。否则Xmodem太弱了。对于1k-Xmodem,同上理。
传输由接收方启动,方法是向发送方发送“C”或者NAK(这里提到的“C”是用来启动传输的。以下我们会看到“C”还可以用来对数据产生重传的机制)。接收方发送NAK信号表示接收方打算用累加和校验;发送字符“C”则表示接收方想打算使用CRC校验。
当接收方发送的第一个“C”或者NAK到达发送方,发送方认为可以发送第一个数据包,传输已经启动。发送方接着应该将数据以每次128字节的数据加上包头,包号,包号补码,末尾加上校验和,打包成帧格式传送。
发送方发了第一包后就等待接收方的确认字节ACK,收到接收方传来的ACK确认,就认为数据包被接收方正确接收,并且接收方要求发送方继续发送下一个包;如果发送方收到接收方传来的NAK(这里,NAK用来告诉发送方重传,不是用来启动传输)字节,则表示接收方请求重发刚才的数据包;如果发送方收到接收方传来的CAN字节,则表示接收方请求无条件停止传输。
如果发送方正常传输完全部数据,需要结束传输,正常结束需要发送方发送EOT字节通知接收方。接收方回以ACK进行确认。当然接收方也可强制停止传输,当接收方发送CAN字节给发送方,表示接收方想无条件停止传输,发送方收到CAN后,不需要再发送 EOT确认。
虽然数据包是以SOH来标志一个信息包的起始的,但在SOH位置上如果出现EOT则表示数据传输结束,再也没有数据传过来。接收方首先应确认数据包序号的完整性,通过对数据包序号取补,然后和数据包序号的补码异或,结果为0表示正确,结果不为0则发送NAK 请求重传。接收方确认数据包序号正确后,然后检查是否期望的序号。如果不是期望得到的数据包序号,说明发生严重错误,应该发送一个CAN来中止传输。如果接收到的数据包的包序号和前一包相同,那么接收方会忽略这个重复包,向发送方发出ACK,准备接收下一个包。
接收方确认了信息包序号的完整性和是正确期望的后,只对128字节的数据区段进行算术和校验,结果与帧中最后一个字节(算术校验和)比较,相同发送ACK,不同发送NAK。
Xmodem 协议支持2种校验和,它们是累加和与CRC校验。当接收方一开始启动传输时发送的是NAK,表示它希望以累加和方式校验。当接收方一开始启动传输时发送的是字符“C”,表示它希望以CRC方式校验。
归纳起来,Xmodem是按照如下逻辑进行传输的:
1)收发双方拨号连通后,发送方等待接收方传来NAK信号。当第一个NAK到达,发送方解释为开始发送第一个包。
2)发送方一旦收到第一个NAK,启动了传输,发送方就将数据以每次128/1024字节打包成帧格式传送,再等待接收方的确认信号。
3)发送方收到接收方传来的ACK信号,解释为信息包被正确接收,并有发送下一个包的含义。
4)发送方收到接收方传来的NAK信号,解释为请求重发同一数据包。
5)发送方收到接收方传来的CAN信号,解释为请求无条件停止传输过程。
6)发送方正常传输完全部数据,需要正常结束,发送EOT信号通知接收方。接收方用ACK进行确认。
7)接收方发送CAN无条件停止传输过程,发送方收到CAN后,不发送EOT确认。
8)虽然信息包是以SOH来标志一个信息包的起始的,但在SOH位置上出现的EOT则表示数据传输结束,再也没有数据传过来。
9)接收方首先应确认信息包序号的完整性,通过对信息包序号取补,然后和信息包序号的补码异或,结果为0表示正确,结果不为0则发送NAK请求重传。
10)接收方确认信息包序号正确后,然后检查是否期望的序号。如果不是期望得到的信息包序号,说明发生严重错误,应该发送一个CAN来中止传输。
11)对于10)情况的唯一例外,是收到的包的信息包序号与前一个信息包序号相同,此中情况,接收方简单忽略这个重复的包,向发送方发出ACK,准备接收下一个包。
12)接收方确认了信息包序号的完整性和是正确期望的后,对数据区段进行算术和校验,结果与帧中最后一个字节(算术校验和)比较,相同发送ACK,不同发送NAK。
本发明采用Xmodem传输协议实现程序文件的传输,借助WindowsXp系统自带的超级终端,编写与超级终端匹配的下位机实现通信。Xmodem传输协议如附图2所示,开始传输程序文件时重试次数为零,执行接收端发送“NAK”请求数据10,若收到答复,即接收端收到发送端发送过来的信息,则执行接收数据包号、数据包号补码操作12,接收完成后需要校验数据包号、数据包号补码是否正确,如果正确,则执行接收128字节数据操作14,并执行接收和校验字节操作15。接收完和校验字节后,需要校验和校验字节是否正确,如果正确,则表明一个数据包接收完成。如果在校验数据包号、数据包号补码、和校验字节时出现错误,则执行重试次数加一操作18,如果重试次数超过10次,则执行退出数据传输操作20,否则继续执行接收端发送“NAK”请求数据操作10,再次传输此数据包。
实现无缝化编程就要求BootLoader程序能够对Flash中的用户程序区进行操作,包括页擦除、装填缓存页和页写入。
执行页擦除操作首先需要设置Z指针与RAMPZ的地址信息,然后将“X0000011”写入SPMCSR,最后在其后的四个时钟周期内执行SPM。R1和R0中的数据被忽略。页地址必须写入Z寄存器的PCPAGE。Z指针的其他位被忽略。在页擦除过程中可以读取NRWW。擦除NRWW区的页时,在操作过程中CPU 停止。
执行装载临时缓冲器(页加载)操作时,写一个指令字首先需要设置Z指针的地址信息,以及将指令字写入R1:R0,然后将“00000001”写入SPMCSR,最后在其后的四个时钟周期内执行SPM。Z寄存器中PCWORD的内容用来寻址临时缓冲区。页写操作完成,或置位SPMCSR寄存器的RWWSRE将使临时缓冲区自动擦除。系统复位也会擦除临时缓冲区。但是如果不清除临时缓冲区就只能对每个地址进行一次写操作。注意,若在SPM页载入操作中EEPROM写入,所有载入数据将丢失。
执行页写操作首先需要设置Z指针与RAMPZ的地址信息,然后将“X0000101”写入SPMCSR,最后在其后的四个时钟周期内执行SPM。R1和R0中的数据被忽略。页地址必须写入Z寄存器的PCPAGE。Z指针的其他位被忽略。擦除RWW区的页时,在页擦除过程中可以读取NRWW区。擦除NRWW区的页时,在页写过程中CPU停止。
Claims (3)
1.一种基于单片机的在应用无线编程方法,其特征是:通过编写引导程序(Boot Loader Program)并将其写入单片机的引导程序区,配合WindowsXP中的超级终端程序,采用Xmodem文件传输协议,通过蓝牙无线传输模块将用户应用程序文件传输至单片机,并将用户应用程序写入Flash中的用户应用程序区,实现在应用无线编程,其中对单片机内部Flash的读、写、缓存操作以及文件传输协议的匹配均由引导程序完成。
2.根据权利要求1所述的方法,其特征是:所述的单片机为ATmega128单片机。
3.根据权利要求1所述的方法,其特征是:当单片机上电或软复位后,程序指针会跳转至引导程序区首地址,执行引导程序,引导程序首先会执行提示用户下载程序操作,若用户三秒输入下载指令,则执行传输程序文件包操作,依据Xmodem文件传输协议,通过蓝牙无线通信模块将二进制格式的程序文件通过上位机发送至单片机,传输完成并校验正确后,执行将程序写入Flash操作,将传输过来的用户应用程序写入Flash中的用户应用程序区,并执行用户程序;若用户三秒内未输入下载指令,则直接执行用户程序;在执行用户程序的过程中,若需要再次进行程序的更新,则可输入更新指令,此时会执行引导程序,完成新一次的程序传输、下载及更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410218377.4A CN104035793A (zh) | 2014-05-22 | 2014-05-22 | 基于单片机的在应用无线编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410218377.4A CN104035793A (zh) | 2014-05-22 | 2014-05-22 | 基于单片机的在应用无线编程方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104035793A true CN104035793A (zh) | 2014-09-10 |
Family
ID=51466568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410218377.4A Pending CN104035793A (zh) | 2014-05-22 | 2014-05-22 | 基于单片机的在应用无线编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035793A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933612A (zh) * | 2015-12-29 | 2017-07-07 | 珠海优特电力科技股份有限公司 | 程序文件下载方法和系统 |
CN107402776A (zh) * | 2016-05-20 | 2017-11-28 | 南京阿波罗机器人科技有限公司 | 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法 |
CN107678761A (zh) * | 2017-09-13 | 2018-02-09 | 深圳市共进电子股份有限公司 | Mcu固件升级方法、装置、设备及存储介质 |
CN107703818A (zh) * | 2017-10-31 | 2018-02-16 | 北方工业大学 | 基于WiFi的无线编程创客教育智能控制器系统 |
CN108847935A (zh) * | 2018-07-03 | 2018-11-20 | 广州市河东智能科技有限公司 | 数据发送方法 |
CN109324838A (zh) * | 2018-08-31 | 2019-02-12 | 深圳市元征科技股份有限公司 | 单片机程序的执行方法、执行装置及终端 |
CN109347659A (zh) * | 2018-09-17 | 2019-02-15 | 瓴泰科技(上海)有限公司 | 基于nb-iot的智能终端设备和模组远程升级方法 |
CN110187909A (zh) * | 2019-06-03 | 2019-08-30 | 山东海格尔信息技术股份有限公司 | 一种基于安卓系统的单片机固件升级方法 |
CN110262349A (zh) * | 2019-06-28 | 2019-09-20 | 中国航空工业集团公司雷华电子技术研究所 | 一种c8051f系列单片机的远程在线编程方法及系统 |
CN111338658A (zh) * | 2020-02-27 | 2020-06-26 | 上海电力大学 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811708A (zh) * | 2005-01-28 | 2006-08-02 | 中兴通讯股份有限公司 | 一种实现单片机闪存动态更新的方法 |
US20090113196A1 (en) * | 2007-10-27 | 2009-04-30 | Hsun-Yao Jan | Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems |
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
CN103512149A (zh) * | 2012-06-27 | 2014-01-15 | 珠海格力电器股份有限公司 | 一种控制装置、程序更新方法及空调 |
-
2014
- 2014-05-22 CN CN201410218377.4A patent/CN104035793A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811708A (zh) * | 2005-01-28 | 2006-08-02 | 中兴通讯股份有限公司 | 一种实现单片机闪存动态更新的方法 |
US20090113196A1 (en) * | 2007-10-27 | 2009-04-30 | Hsun-Yao Jan | Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems |
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
CN103512149A (zh) * | 2012-06-27 | 2014-01-15 | 珠海格力电器股份有限公司 | 一种控制装置、程序更新方法及空调 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933612A (zh) * | 2015-12-29 | 2017-07-07 | 珠海优特电力科技股份有限公司 | 程序文件下载方法和系统 |
CN107402776A (zh) * | 2016-05-20 | 2017-11-28 | 南京阿波罗机器人科技有限公司 | 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法 |
CN107678761A (zh) * | 2017-09-13 | 2018-02-09 | 深圳市共进电子股份有限公司 | Mcu固件升级方法、装置、设备及存储介质 |
CN107703818A (zh) * | 2017-10-31 | 2018-02-16 | 北方工业大学 | 基于WiFi的无线编程创客教育智能控制器系统 |
CN108847935A (zh) * | 2018-07-03 | 2018-11-20 | 广州市河东智能科技有限公司 | 数据发送方法 |
CN109324838B (zh) * | 2018-08-31 | 2022-05-10 | 深圳市元征科技股份有限公司 | 单片机程序的执行方法、执行装置及终端 |
CN109324838A (zh) * | 2018-08-31 | 2019-02-12 | 深圳市元征科技股份有限公司 | 单片机程序的执行方法、执行装置及终端 |
CN109347659A (zh) * | 2018-09-17 | 2019-02-15 | 瓴泰科技(上海)有限公司 | 基于nb-iot的智能终端设备和模组远程升级方法 |
CN109347659B (zh) * | 2018-09-17 | 2021-09-24 | 瓴泰科技(上海)有限公司 | 基于nb-iot的智能终端设备和模组远程升级方法 |
CN110187909A (zh) * | 2019-06-03 | 2019-08-30 | 山东海格尔信息技术股份有限公司 | 一种基于安卓系统的单片机固件升级方法 |
CN110262349A (zh) * | 2019-06-28 | 2019-09-20 | 中国航空工业集团公司雷华电子技术研究所 | 一种c8051f系列单片机的远程在线编程方法及系统 |
CN111338658A (zh) * | 2020-02-27 | 2020-06-26 | 上海电力大学 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
CN111338658B (zh) * | 2020-02-27 | 2023-10-10 | 上海电力大学 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035793A (zh) | 基于单片机的在应用无线编程方法 | |
US10937020B2 (en) | Wearable device with near-field communication function and near-field communication control system | |
CN104620564A (zh) | 经由利用数据隧道的接口的多协议数据元素的传输 | |
CN101815988A (zh) | 固件映像更新和管理 | |
US20100223403A1 (en) | Integrated circuit card interface device with multiple modes of operation | |
CN102736938A (zh) | Fpga配置程序的烧写方法 | |
CN106155734B (zh) | 一种软件版本的下载方法及装置 | |
CN108762797A (zh) | 一种ssd固件在线更新方法、系统及ssd | |
CN101183314A (zh) | 一种实现数字信号处理器程序在线编程的方法 | |
CN102740279B (zh) | 一种无线网络接入终端及其运行方法 | |
CN102314618A (zh) | 用于rfid的中断产生及确认的装置和方法 | |
CN100389389C (zh) | 在嵌入式系统中实现引导程序热升级的方法 | |
CN105022646A (zh) | 一种数据无损的远程代码更新方法和装置 | |
CN108037931B (zh) | 一种对微处理器存储单元进行文件烧写的方法 | |
CN104461589A (zh) | 单片机升级方法及升级系统 | |
CN108255510B (zh) | 一种基于iap在线升级待升级固件传输校验设计方法 | |
CN101976211A (zh) | 一种在cap文件中替换函数的方法、装置及系统 | |
US8595420B2 (en) | Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus | |
CN109426511B (zh) | 软核更新方法和系统 | |
CN110134423B (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
WO2020077487A1 (zh) | 优化和运行安卓应用程序的方法以及相关装置 | |
KR101384536B1 (ko) | 스마트 카드에서 호스트 단말의 api 호출 시스템 및 방법, 그 호스트 단말 및 스마트 카드, 이를 위한 기록매체 | |
US10461971B2 (en) | IC card, portable electronic device, program, processing apparatus, and processing system | |
WO2016078222A1 (zh) | 引导程序传输方法、嵌入式系统及引导程序传输系统 | |
CN102455970B (zh) | 带可靠性检测功能的多外设boot实现方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140910 |