CN111338658A - 一种基于stm32CPU下载PIC单片机程序的方法及系统 - Google Patents
一种基于stm32CPU下载PIC单片机程序的方法及系统 Download PDFInfo
- Publication number
- CN111338658A CN111338658A CN202010123301.9A CN202010123301A CN111338658A CN 111338658 A CN111338658 A CN 111338658A CN 202010123301 A CN202010123301 A CN 202010123301A CN 111338658 A CN111338658 A CN 111338658A
- Authority
- CN
- China
- Prior art keywords
- pic
- programming
- module
- downloading
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000001960 triggered effect Effects 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000001276 controlling effect Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims 3
- 239000002994 raw material Substances 0.000 claims 3
- 238000003860 storage Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- DIDLWIPCWUSYPF-UHFFFAOYSA-N microcystin-LR Natural products COC(Cc1ccccc1)C(C)C=C(/C)C=CC2NC(=O)C(NC(CCCNC(=N)N)C(=O)O)NC(=O)C(C)C(NC(=O)C(NC(CC(C)C)C(=O)O)NC(=O)C(C)NC(=O)C(=C)N(C)C(=O)CCC(NC(=O)C2C)C(=O)O)C(=O)O DIDLWIPCWUSYPF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于stm32CPU下载PIC单片机程序的方法及系统,包括,检测模块检查编程电压、解锁序列是否正常,利用控制模块保障所述编程电压、所述解锁序列全部呈正确状态,触发PIC端模块进入编程模式;所述PIC端模块读取编程指令,将DAT引脚上的数据写入Program Memory内,并执行相对应的所述编程指令操作;所述PIC端模块的内部地址读取写入所述Program Memory的所述数据,依次写入ID和配置字并增加到下一个地址,直至烧写结束;监视模块监测所述烧写结束,通知所述控制模块控制所述编程电压时序保持所述正确状态,所述PIC端模块退出所述编程模式。本发明能够提高下载效率,增加了芯片烧写的稳定性。
Description
技术领域
本发明涉及嵌入式开发技术领域,尤其涉及一种基于stm32CPU下载PIC单片机程序的方法及系统。
背景技术
单片机也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。简单地说,单片机就是一块芯片,这块芯片组成了一个系统,通过集成电路技术的应用,将数据运算与处理能力集成到芯片中,实现对数据的高速化处理。
PIC单片机以它低功耗,低价格,高性能等优点近年来应用广泛,在对PIC单片机下载程序的过程中,传统的下载方式需要借助PC端实现,使用效率低,并且不实用于在大批量生产PIC单片机时的批量程序下载。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种基于stm32CPU下载PIC单片机程序的方法,能够实现STM32对多片PIC单片机同时离线下载的功能,提高批量生产效率。
为解决上述技术问题,本发明提供如下技术方案:包括,检测模块检查编程电压、解锁序列是否正常,利用控制模块保障所述编程电压、所述解锁序列全部呈正确状态,触发PIC端模块进入编程模式;所述PIC端模块读取编程指令,将DAT引脚上的数据写入ProgramMemory内,并执行相对应的所述编程指令操作;所述PIC端模块的内部地址读取写入所述Program Memory的所述数据,依次写入ID和配置字并增加到下一个地址,直至烧写结束;监视模块监测所述烧写结束,通知所述控制模块控制所述编程电压时序保持所述正确状态,所述PIC端模块退出所述编程模式。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:若所述编程电压、所述解锁序列未呈现所述正确状态,则通知所述控制模块进行整改,调控状态为所述正确状态。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:进行所述烧写之前还包括,将HEX烧写程序文件装入STM32端模块内;所述STM32端模块利用ICSP协议接口与所述PIC端模块连接;所述检测模块读取所述HEX文件校验下载完整性,同时检测所述编程电压时序及所述解锁序列是否正确。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:所述PIC端模块需在所述电压时序、所述解锁序列正确状态下才能进入所述编程模式,包括,将芯片VDD管脚上电,设置最小阈值2.85V;利用Tents对VPP管脚电平进行拉低,收到正确的所述编程电压序列;所述PIC端模块在CLK引脚脉冲驱动下采用低位先传策略,向DAT引脚传输正确的所述编程电压序列;所述解锁序列利用32位二进制数正确进入所述编程模式。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:所述PIC端模块进入所述编程模式后,包括,所述PIC端模块读取所述编程指令,根据一组不同的命令采取不同的操作;所述PIC端模块将所述HEX烧写程序传输至内部地址空间,传输完成后执行内部所述编程指令,将所述DAT引脚上的所述数据写入所述ProgramMemory内。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:写入所述Program Memory包括,所述数据单字循环写入所述Program Memory内,并再次调用所述数据对写入所述PIC端模块的所述数据进行回读;若写入的所述数据无误,则执行增加地址命令进行下一个所述地址的写入,若写入的所述数据有误,则在所述STM32端模块内返回下载失败的错误报告,所述STM32端模块产生一个退出所述编程模式的所述电压序列,正确退出所述编程模式,不损伤芯片。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:写入所述ID、所述配置字包括,所述Program Memory写入完成,通知所述PIC端模块开始写入所述ID;所述PIC端模块从所述ProgramMemory读取所述数据,并查看所述数据是否正确,若不正确,则生成所述错误报告,若正确,则增加到下一个所述地址;若增加的下一个所述地址等于8004h时,则所述地址再次增加到8007h,写入所述配置字;若增加的下一个所述地址不等于8004h时,则所述PIC端模块重新写入所述ID。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的方法的一种优选方案,其中:写入所述配置字具体包括,当增加的所述地址达到8007h时,所述PIC端模块写入所述配置字的Config Word;读取写入所述Program Memory内的所述数据,并判断读取的所述数据是否正确,若为否,则在内部生成所述错误报告,若正确,则增加到下一个所述地址;依次增加,直至所述配置字全部写入完成,所述烧写成功并退出所述编程模式。
作为本发明所述的一种基于stm32CPU下载PIC单片机程序的系统的一种优选方案,其中:检测模块,用于检查所述编程电压和所述解锁序列是否正确;控制模块,用于调整所述编程电压和所述解锁序列呈正确状态;PIC端模块,用于烧写所述HEX文件内的下载程序;监视模块,用于监测所述PIC端模块是否完成烧写;STM32端模块,用于装载所述HEX文件,连接所述PIC端模块。
本发明的有益效果:本发明通过提前装入HEX文件,利用STM32F407单片机通过ICSP协议接口对PIC单片机实现离线下载,提高下载效率,本发明在每次下载结束后加入编程退出电压时序,确保烧写结束正确退出编程模式,增加了芯片烧写的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的流程示意图;
图2为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的写入Program Memory流程示意图;
图3为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的写入配置字流程示意图;
图4为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的STM32F407与PIC单片机连接示意图;
图5为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的PIC低电压编程进入时序示意图;
图6为本发明第一个实施例所述的基于stm32CPU下载PIC单片机程序的方法的PIC退出编程电压时序示意图;
图7为本发明第二个实施例所述的基于stm32CPU下载PIC单片机程序的系统的模块结构分布示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~图6,为本发明的第一个实施例,提供了一种基于stm32CPU下载PIC单片机程序的方法,包括:
S1:检测模块100检查编程电压、解锁序列是否正常,利用控制模块200保障编程电压、解锁序列全部呈正确状态,触发PIC端模块300进入编程模式。其中需要说明的是,进行烧写之前还包括:
将HEX烧写程序文件装入STM32端模块500内;
STM32端模块500利用ICSP协议接口与PIC端模块300连接;
检测模块100读取HEX文件校验下载完整性,同时检测编程电压时序及解锁序列是否正确;
若编程电压、解锁序列未呈现正确状态,则通知控制模块200进行整改,调控状态为正确状态。
进一步的,PIC端模块300需在电压时序、解锁序列正确状态下才能进入编程模式,包括:
将芯片VDD管脚上电,设置最小阈值2.85V;
利用Tents对VPP管脚电平进行拉低,收到正确的编程电压序列;
PIC端模块300在CLK引脚脉冲驱动下采用低位先传策略,向DAT引脚传输正确的编程电压序列;
解锁序列利用32位二进制数正确进入编程模式。
S2:PIC端模块300读取编程指令,将DAT引脚上的数据写入Program Memory内,并执行相对应的编程指令操作。参照图2,本步骤需要说明的是,PIC端模块300进入编程模式后,包括:
PIC端模块300读取编程指令,根据一组不同的命令采取不同的操作;
PIC端模块300将HEX烧写程序传输至内部地址空间,传输完成后执行内部编程指令,将DAT引脚上的数据写入Program Memory内。
具体的,写入Program Memory包括:
数据单字循环写入Program Memory内,并再次调用数据对写入PIC端模块300的数据进行回读;
若写入的数据无误,则执行增加地址命令进行下一个地址的写入,若写入的数据有误,则在STM32端模块500内返回下载失败的错误报告,STM32端模块500产生一个退出编程模式的电压序列,正确退出编程模式,不损伤芯片。
S3:PIC端模块300的内部地址读取写入Program Memory的数据,依次写入ID和配置字并增加到下一个地址,直至烧写结束。参照图3,其中需要说明的是,写入ID、配置字包括:
Program Memory写入完成,通知PIC端模块300开始写入ID;
PIC端模块300从Program Memory读取数据,并查看数据是否正确,若不正确,则生成错误报告,若正确,则增加到下一个地址;
若增加的下一个地址等于8004h时,则地址再次增加到8007h,写入配置字;
若增加的下一个地址不等于8004h时,则PIC端模块300重新写入ID。
进一步的,写入配置字具体包括:
当增加的地址达到8007h时,PIC端模块300写入配置字的Config Word;
读取写入Program Memory内的数据,并判断读取的数据是否正确,若为否,则在内部生成错误报告,若正确,则增加到下一个地址;
依次增加,直至配置字全部写入完成,烧写成功并退出编程模式。
S4:监视模块400监测烧写结束,通知控制模块200控制编程电压时序保持正确状态,PIC端模块300退出编程模式。
较佳的,本实施例采用ICSP技术,对于单片PIC芯片只需5个引脚控制就能够完全实现对PIC单片机的烧写,参照图4,本发明方法采用低电压策略对PIC芯片进行烧录,其中,MCLR管脚:芯片的编程控制引脚,VDD引脚、GND引脚:芯片供电,DAT:芯片的数据控制引脚,DAT引脚将控制数据从407下载到PIC同时也用于回读PIC内部数据以校验HEX文件下载的完整性,CLK引脚:407向PIC提供编程脉冲。
进一步的,参照图5,本实施例为使PIC芯片正常进入编程模式,除了在芯片上电时提供正确的编程引脚电压时序,同时还在芯片的DAT引脚上输出一串特定的解锁序列,该序列用16进制表示即为0x4d434850,PIC端在正确的电压时序下接收到正确的解锁序列才能正常进入编程模式,Tents大于100ns,Tents大于250ns,Tckh大于100ns,Tckl大于100ns,在CLK脉冲的驱动下,32位的解锁序列遵循低位先传的方式输出到DAT引脚。
优选的,进入编程模式后,PIC根据一组不同的编程命令采取不同的操作,该组命令由一个1Byte的低6位控制,在传输数据时数据与数据之间通过0相互隔开,同样在数据传输时遵循低位先传的原则,在编程过程中PIC的一个地址空间可以存储14位有效数据,数据传输完毕后执行内部编程指令将DAT引脚上的数据写入Program Memory里,然后再次调用数据回读命令对写入PIC的数据进行回读,若写入无误则执行增加地址命令进行对PIC内部地址8000H-8008H的部分进行芯片ID和配置字的写入,其中,芯片ID是可选的,8007H-8008H两个地址空间存储的分别是PIC的配置字1和配置字2,本实施例为PIC配置的配置字1和2分别是0x3fec和0x3eff,参照图6,烧写完后,所示电压时序控制PIC退出编程模式即完成一次烧写,其中,Texit>1us。
场景一:
对本方法中采用的技术效果加以验证说明,本实施例选择的不同方法和采用本方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
传统的技术方案:传统的下载PIC芯片的方法需要由MICROCHIP公司提供的的PICKIT下载器件与PC机连接,再通过MPLAB软件连接进行烧写,并且在对相应的芯片烧写前需要在软件内进行相应的设置,采用传统的下载方法只能同时对一块芯片进行下载,效率低下,而且MICROCHIP提供的下载器件成本高昂,不利于大规模应用。
为验证本方法相对传统方法具有较高的效率,不仅摆脱了PC端下载的限制,利用STM32平台的优势,而且能实现同时对多块芯片进行同时下载,大大提高了大规模应用生产的可能性。
本实施例中将采用传统利用PICKIT4下载器下载的方法和本发明方法对下载同一批次的PIC芯片所用的时间进行实时测量对比。
测试环境:对两组各50块同一批次的PIC12LF1572出厂芯片分别用传统PICKIT4下载器件与本发明所提出的方法进行烧写,在利用本发明方法进行烧写时为了便于操作在该方案中同时对4块芯片进行烧写,在这里采用4块芯片仅为了说明该方案的有效性,实际应用中可对该方案做出相应扩展,烧写完成后利用MPLAB软件对每块芯片内的HEX文件进行回读以验证程序下载的有效性和正确性,同时对这两种方法下载所用的时间进行计时,在进行计时时仅对两种方法的下载时间进行计时,即所有芯片从开始烧录到烧录完成所用的总时间,人为设备操作时间不计算在内。结果如下表所示:
表1:测试数据表。
由表1能够看出,本发明方法相较于传统技术方法更具有实用性,不仅成本低、过程简便、耗时短,且下载效率高、能够同时支持多块芯片下载,实现大批量工作,验证了本发明方法能够提升经济效益、提高下载效率、节约时间、简化工作量度。
实施例2
参照图7,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于stm32CPU下载PIC单片机程序的系统,包括:
检测模块100,用于检查编程电压和解锁序列是否正确。
控制模块200,用于调整编程电压和解锁序列呈正确状态。
PIC端模块300,用于烧写HEX文件内的下载程序。
监视模块400,用于监测PIC端模块300是否完成烧写。
STM32端模块500,用于装载HEX文件,连接PIC端模块300。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种基于stm32CPU下载PIC单片机程序的方法,其特征在于:包括,
检测模块(100)检查编程电压、解锁序列是否正常,利用控制模块(200)保障所述编程电压、所述解锁序列全部呈正确状态,触发PIC端模块(300)进入编程模式;
所述PIC端模块(300)读取编程指令,将DAT引脚上的数据写入Program Memory内,并执行相对应的所述编程指令操作;
所述PIC端模块(300)的内部地址读取写入所述Program Memory的所述数据,依次写入ID和配置字并增加到下一个地址,直至烧写结束;
监视模块(400)监测所述烧写结束,通知所述控制模块(200)控制所述编程电压时序保持所述正确状态,所述PIC端模块(300)退出所述编程模式。
2.如权利要求1所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:包括,
若所述编程电压、所述解锁序列未呈现所述正确状态,则通知所述控制模块(200)进行整改,调控状态为所述正确状态。
3.如权利要求1或2所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:进行所述烧写之前还包括,
将HEX烧写程序文件装入STM32端模块(500)内;
所述STM32端模块(500)利用ICSP协议接口与所述PIC端模块(300)连接;
所述检测模块(100)读取所述HEX文件校验下载完整性,同时检测所述编程电压时序及所述解锁序列是否正确。
4.如权利要求3所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:所述PIC端模块(300)需在所述电压时序、所述解锁序列正确状态下才能进入所述编程模式,包括,
将芯片VDD管脚上电,设置最小阈值2.85V;
利用Tents对VPP管脚电平进行拉低,收到正确的所述编程电压序列;
所述PIC端模块(300)在CLK引脚脉冲驱动下采用低位先传策略,向DAT引脚传输正确的所述编程电压序列;
所述解锁序列利用32位二进制数正确进入所述编程模式。
5.如权利要求1或4所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:所述PIC端模块(300)进入所述编程模式后,包括,
所述PIC端模块(300)读取所述编程指令,根据一组不同的命令采取不同的操作;
所述PIC端模块(300)将所述HEX烧写程序传输至内部地址空间,传输完成后执行内部所述编程指令,将所述DAT引脚上的所述数据写入所述Program Memory内。
6.如权利要求5所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:写入所述Program Memory包括,
所述数据单字循环写入所述Program Memory内,并再次调用所述数据对写入所述PIC端模块(300)的所述数据进行回读;
若写入的所述数据无误,则执行增加地址命令进行下一个所述地址的写入,若写入的所述数据有误,则在所述STM32端模块(500)内返回下载失败的错误报告,所述STM32端模块(500)产生一个退出所述编程模式的所述电压序列,正确退出所述编程模式,不损伤芯片。
7.如权利要求6所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:写入所述ID、所述配置字包括,
所述Program Memory写入完成,通知所述PIC端模块(300)开始写入所述ID;
所述PIC端模块(300)从所述Program Memory读取所述数据,并查看所述数据是否正确,若不正确,则生成所述错误报告,若正确,则增加到下一个所述地址;
若增加的下一个所述地址等于8004h时,则所述地址再次增加到8007h,写入所述配置字;
若增加的下一个所述地址不等于8004h时,则所述PIC端模块(300)重新写入所述ID。
8.如权利要求7所述的基于stm32CPU下载PIC单片机程序的方法,其特征在于:写入所述配置字具体包括,
当增加的所述地址达到8007h时,所述PIC端模块(300)写入所述配置字的ConfigWord;
读取写入所述Program Memory内的所述数据,并判断读取的所述数据是否正确,若为否,则在内部生成所述错误报告,若正确,则增加到下一个所述地址;
依次增加,直至所述配置字全部写入完成,所述烧写成功并退出所述编程模式。
9.一种基于stm32CPU下载PIC单片机程序的系统,其特征在于:包括,
检测模块(100),用于检查所述编程电压和所述解锁序列是否正确;
控制模块(200),用于调整所述编程电压和所述解锁序列呈正确状态;
PIC端模块(300),用于烧写所述HEX文件内的下载程序;
监视模块(400),用于监测所述PIC端模块(300)是否完成烧写;
STM32端模块(500),用于装载所述HEX文件,连接所述PIC端模块(300)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123301.9A CN111338658B (zh) | 2020-02-27 | 2020-02-27 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123301.9A CN111338658B (zh) | 2020-02-27 | 2020-02-27 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338658A true CN111338658A (zh) | 2020-06-26 |
CN111338658B CN111338658B (zh) | 2023-10-10 |
Family
ID=71183727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123301.9A Active CN111338658B (zh) | 2020-02-27 | 2020-02-27 | 一种基于stm32CPU下载PIC单片机程序的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338658B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012010354A1 (de) * | 2010-07-23 | 2012-01-26 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt |
CN202383659U (zh) * | 2011-10-26 | 2012-08-15 | 惠州市亿能电子有限公司 | 一种程序下载系统 |
WO2013154398A1 (ko) * | 2012-04-12 | 2013-10-17 | 한양대학교 산학협력단 | 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법 |
CN203444462U (zh) * | 2013-08-27 | 2014-02-19 | 无锡泛太科技有限公司 | 一种烧写多个单片机程序的装置 |
CN104035793A (zh) * | 2014-05-22 | 2014-09-10 | 浙江大学 | 基于单片机的在应用无线编程方法 |
CN104156237A (zh) * | 2014-07-23 | 2014-11-19 | 武汉精测电子技术股份有限公司 | 单片机的在线升级方法 |
CN105117236A (zh) * | 2015-06-30 | 2015-12-02 | 无锡华润矽科微电子有限公司 | 一种自动校验的编程烧写方法 |
CN105528222A (zh) * | 2014-09-28 | 2016-04-27 | 比亚迪股份有限公司 | 单片机烧写控制系统、单片机及单片机烧写控制方法 |
US20160380739A1 (en) * | 2015-06-25 | 2016-12-29 | Intel IP Corporation | Patch download with improved acknowledge mechanism |
WO2018075012A1 (en) * | 2016-10-18 | 2018-04-26 | Hewlett-Packard Development Company, L.P. | Operating system installations via radio frequency identification chips |
CN108154039A (zh) * | 2017-12-22 | 2018-06-12 | 中国电子科技集团公司第四十七研究所 | 单片机内部存储器加密方法 |
CN108563452A (zh) * | 2018-03-09 | 2018-09-21 | 南昌市科陆智能电网科技有限公司 | 一种嵌入式单片机自动化在线烧写程序的方法及系统 |
CN208207790U (zh) * | 2018-05-31 | 2018-12-07 | 湖南品腾电子科技有限公司 | 一种智能通用单片机烧录器 |
CN109240719A (zh) * | 2017-07-03 | 2019-01-18 | 湖南大学 | 一种基于stm32的程序下载器 |
CN109271174A (zh) * | 2018-08-01 | 2019-01-25 | 广州市星翼电子科技有限公司 | 一种单片机多个固件分散烧录方法 |
CN109871223A (zh) * | 2019-01-17 | 2019-06-11 | 南京品畅科技发展有限公司 | 一种基于stm32单片机的IAP方法及系统 |
CN110045968A (zh) * | 2019-04-16 | 2019-07-23 | 广东欧谱曼迪科技有限公司 | 一种stm32跨单片机烧录程序的方法 |
CN209281375U (zh) * | 2019-02-28 | 2019-08-20 | 广州市风标电子技术有限公司 | 一种通用在线编程器 |
-
2020
- 2020-02-27 CN CN202010123301.9A patent/CN111338658B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012010354A1 (de) * | 2010-07-23 | 2012-01-26 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt |
CN202383659U (zh) * | 2011-10-26 | 2012-08-15 | 惠州市亿能电子有限公司 | 一种程序下载系统 |
WO2013154398A1 (ko) * | 2012-04-12 | 2013-10-17 | 한양대학교 산학협력단 | 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법 |
CN203444462U (zh) * | 2013-08-27 | 2014-02-19 | 无锡泛太科技有限公司 | 一种烧写多个单片机程序的装置 |
CN104035793A (zh) * | 2014-05-22 | 2014-09-10 | 浙江大学 | 基于单片机的在应用无线编程方法 |
CN104156237A (zh) * | 2014-07-23 | 2014-11-19 | 武汉精测电子技术股份有限公司 | 单片机的在线升级方法 |
CN105528222A (zh) * | 2014-09-28 | 2016-04-27 | 比亚迪股份有限公司 | 单片机烧写控制系统、单片机及单片机烧写控制方法 |
US20160380739A1 (en) * | 2015-06-25 | 2016-12-29 | Intel IP Corporation | Patch download with improved acknowledge mechanism |
CN105117236A (zh) * | 2015-06-30 | 2015-12-02 | 无锡华润矽科微电子有限公司 | 一种自动校验的编程烧写方法 |
WO2018075012A1 (en) * | 2016-10-18 | 2018-04-26 | Hewlett-Packard Development Company, L.P. | Operating system installations via radio frequency identification chips |
CN109240719A (zh) * | 2017-07-03 | 2019-01-18 | 湖南大学 | 一种基于stm32的程序下载器 |
CN108154039A (zh) * | 2017-12-22 | 2018-06-12 | 中国电子科技集团公司第四十七研究所 | 单片机内部存储器加密方法 |
CN108563452A (zh) * | 2018-03-09 | 2018-09-21 | 南昌市科陆智能电网科技有限公司 | 一种嵌入式单片机自动化在线烧写程序的方法及系统 |
CN208207790U (zh) * | 2018-05-31 | 2018-12-07 | 湖南品腾电子科技有限公司 | 一种智能通用单片机烧录器 |
CN109271174A (zh) * | 2018-08-01 | 2019-01-25 | 广州市星翼电子科技有限公司 | 一种单片机多个固件分散烧录方法 |
CN109871223A (zh) * | 2019-01-17 | 2019-06-11 | 南京品畅科技发展有限公司 | 一种基于stm32单片机的IAP方法及系统 |
CN209281375U (zh) * | 2019-02-28 | 2019-08-20 | 广州市风标电子技术有限公司 | 一种通用在线编程器 |
CN110045968A (zh) * | 2019-04-16 | 2019-07-23 | 广东欧谱曼迪科技有限公司 | 一种stm32跨单片机烧录程序的方法 |
Non-Patent Citations (2)
Title |
---|
朱向庆等: "基于STM32单片机的通信技术实验系统设计", vol. 36, no. 8, pages 81 - 84 * |
杨伟等: "基于STM32F103C8T6单片机的LCD显示系统设计", 《微型机与应用》, vol. 33, no. 20, pages 29 - 32 * |
Also Published As
Publication number | Publication date |
---|---|
CN111338658B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363640B (zh) | 数据校验方法及装置、计算机可读存储介质 | |
JPS6063644A (ja) | デイジタル装置の動作のモデリング方法及び装置 | |
CN101438253A (zh) | 写入和配置闪速存储器 | |
US20090198770A1 (en) | System and method of updating codes in controller | |
TWI648742B (zh) | 重試讀取方法以及使用該方法的裝置 | |
CN113721927B (zh) | 基于fpga的ate测试向量编译加速方法及ate系统 | |
CN110347529A (zh) | 用于执行错误侦测协议的存储器装置及方法 | |
US6574759B1 (en) | Method for verifying and improving run-time of a memory test | |
US20140129206A1 (en) | Simulator and simulating method for flash memory background | |
CN109725941A (zh) | 一种用于显示驱动芯片的可编程初始化方法及系统 | |
JP4180757B2 (ja) | シミュレーション装置 | |
CN109240130B (zh) | 可程序化接脚位准的控制电路 | |
CN111338658A (zh) | 一种基于stm32CPU下载PIC单片机程序的方法及系统 | |
CN110956998B (zh) | 一种存储器测试装置与系统 | |
CN116343888A (zh) | 一种存储芯片的验证方法、电子设备及存储介质 | |
CN106547577B (zh) | 一种微控制器芯片烧录的方法和装置 | |
CN112542209A (zh) | 非易失性芯片错误注入验证方法、装置、存储介质和终端 | |
TWI442406B (zh) | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 | |
CN107229858B (zh) | 一种支持crc8校验的PECI总线主从机验证系统及验证方法 | |
CN115659883A (zh) | 用于存储器控制器的验证装置、验证方法、存储介质及芯片 | |
CN115480965A (zh) | Peci总线协议命令响应构建方法、装置、设备及介质 | |
Liu et al. | Light Flash Write for Efficient Firmware Update on Energy-harvesting IoT Devices | |
CN107479938A (zh) | 电子设备及其启动方法 | |
CN110209433B (zh) | 一种识别不同型号集中器的方法 | |
CN115509965A (zh) | 存储器控制器与链接识别方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |