CN111856241A - 一种芯片量产平台系统及其实现方法 - Google Patents
一种芯片量产平台系统及其实现方法 Download PDFInfo
- Publication number
- CN111856241A CN111856241A CN202010532936.4A CN202010532936A CN111856241A CN 111856241 A CN111856241 A CN 111856241A CN 202010532936 A CN202010532936 A CN 202010532936A CN 111856241 A CN111856241 A CN 111856241A
- Authority
- CN
- China
- Prior art keywords
- chip
- user application
- chip firmware
- application program
- program
- 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2868—Complete testing stations; systems; procedures; software aspects
- G01R31/287—Procedures; Software aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
Abstract
本发明公开了一种芯片量产平台系统及其实现方法,所述系统包括:芯片固件端,用于获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端,以于建立PC端与芯片固件端之间的通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,并将接收的CRC校验结果数据存放到特定的内存区中;PC端,用于在通过串口数据线连接芯片固件端后,根据选择的用户应用程序下载路径,将用户应用程序下载至所述芯片固件端,并于下载完成后,向芯片固件端发送CRC校验结果。
Description
技术领域
本发明涉及芯片制造技术领域,特别是涉及一种芯片量产平台系统及其实现方法。
背景技术
嵌入式电子产品的研发过程按时间顺序会经过研发设计、小批量试产、大批量量产几大流程。其中,小批量试产作为中间流程,是补充验证研发设计的流程,串联研发设计与大批量量产,是产品从研发设计到量产不可缺少的中间环节。前期研发设计阶段的用户应用程序设计(也即软件设计)用仿真编译器进行调试和在线烧录,后期当用户应用程序开发完成需要进行大批量量产时,一般会用烧录器实行离线烧写进行量产,然而在小批量试产阶段可能大多数还是会采用仿真编译器进行在线烧录。
目前,嵌入式电子产品在小批量试产阶段用户应用程序一般采用仿真编译器进行在线烧录,这个过程需要试产人员用仿真编译器接到产品上,再用开发软件如MDK(Keil公司开发的ARM开发工具)进行下载。
这种方法不仅要求试产人员搭好硬件平台,将仿真编译器与试产目标板的下载仿真端口连接起来,而且需要在PC电脑上安装开发软件如MDK,而这些开发软件大多数是需要付费购买,并且有些只能绑定在一台PC电脑上适用。现有技术的缺点成本上比较高,而且依赖于仿真编译器和开发软件如MDK,在工厂产线生产区间这些软硬件环境不方便实现,可操作性比较差,生产成本较高,效率较低。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种芯片量产平台系统及其实现方法,以解决用户小批量量产产品时,使用仿真编译器和MDK工程下载用户应用软件对芯片进行在线烧写时灵活性较差,生产成本较高,效率较低的问题。
为达上述及其它目的,本发明提出一种芯片量产平台系统,包括:
芯片固件端,用于获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端,以于建立PC端与芯片固件端之间的通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,并将接收的CRC校验结果数据存放到特定的内存区中;
PC端,用于在通过串口数据线连接芯片固件端后,根据选择的用户应用程序下载路径,将用户应用程序下载至所述芯片固件端,并于下载完成后,向芯片固件端发送CRC校验结果。
优选地,所述芯片固件端包括:
Bootloader程序获取存储单元,用于获取Bootloader固件端软件程序,将其存储到芯片内存BOOT区;
用户应用程序接收单元,用于在PC端与芯片固件端之间建立串口通信后,接收PC端发送的表示烧录指令的BOOT协议帧,对所述BOOT协议帧分析处理,下载对应的用户应用程序,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中。
优选地,在下载用户应用程序时,由所述PC端向所述芯片固件端发送表示烧录指令的BOOT协议帧,等待所述芯片固件端的响应,当所述芯片固件端接收到到PC端发送的BOOT协议帧后,利用所述Bootloader程序对其进行分析处理,接收用户应用程序数据,并于分析处理完所述BOOT协议帧后进行BOOT响应,同时于下载完毕后,接收所述PC端向所述芯片固件端发送的CRC校验结果存放到特定的内存区中,所述BOOT协议帧包括帧头、BOOT指令号、数据长度n、长度为n个字节的数据以及帧尾。
优选地,所述CRC校验结果为所述PC端根据用户应用程序代码计算所得。
优选地,所述芯片固件端还包括测试指令接收执行单元,用于接收PC端发送的测试指令,执行测试指令并向PC端发送结果响应。
优选地,所述芯片固件端还包括用户应用程序执行指令接收单元,用于当执行完所有需要的功能测试后,接收PC端发送的用户应用程序执行指令,向PC端发送响应并运行用户应用程序。
优选地,所述PC端包括:
串口连接控制单元,用于读取系统中的可用设备,更新串口列表,确定串口通讯参数,与芯片固件端通过串口数据线建立通信;
用户应用程序烧录单元,用于选择用户应用程序路径,解析用户程序文件并提取文件中的有效数据进行BOOT协议帧组包,向所述芯片固件端发送烧录指令,将用户应用程序下载至芯片固件端,并于下载完成后,向所述芯片固件端发送CRC校验结果。
优选地,所述PC端还包括测试指令发送单元,用于向所述芯片固件端发送测试指令,以根据所述芯片固件端的响应显示测试结果。
优选地,所述PC端还包括用户应用程序执行指令发送单元,用于当执行完所有需要的功能测试后,向所述芯片固件端发送用户应用程序执行指令,并接收所述芯片固件端的响应结果。
为达到上述目的,本发明还提供一种芯片量产平台系统的实现方法,包括如下步骤:
步骤S1,芯片固件端获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端;
步骤S2,在建立PC端与芯片固件端之间的串口通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。
与现有技术相比,本发明一种芯片量产平台系统及其实现方法通过获取Bootloader程序下载到芯片固件端的芯片内存BOOT区,并通过串口数据线连接PC端,在建立PC端与芯片固件端之间的串口通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用,解决了用户小批量量产产品时,使用仿真编译器和MDK工程下载用户应用软件对芯片进行在线烧写时灵活性较差、生产成本较高、效率较低的问题,无需购买高价的仿真编译器和下载MDK软件,且操作简单,大大降低生产复杂度和成本,而且在大批量量产中,本发明的量产平台也可提高CP3、FT测试的效率。
附图说明
图1为本发明一种芯片量产平台系统的系统架构图;
图2为本发明一种芯片量产平台系统的实现方法的步骤流程图;
图3为本发明实施例中芯片量产平台系统的工作流程图;
图4为本发明实施例中PC端的GUI界面示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种芯片量产平台系统的系统架构图。如图1所示,本发明一种芯片量产平台系统,包括:
芯片固件端10,用于获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端20,以于建立PC端20与芯片固件端10之间的通信后,从PC端20下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端20向芯片固件端10发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。在本发明中,芯片固件端10即目标板(芯片),也就是说,每个目标板(芯片)先将Bootloader程序下载到芯片内存的BOOT区,通过串口线连接PC端,下载用户应用程序到芯片内存的用户区域。
具体地,芯片固件端10包括:
Bootloader程序获取存储单元101,用于获取Bootloader(系统启动加载项)固件端软件程序,将其存储到芯片内存BOOT区。在本发明具体实施例中,可于工厂生产时直接将BOOT程序代码固化至芯片内存BOOT区,Bootloader程序的内容是一直跟着芯片、不会改动的一个程序。
当Bootloader软件程序下载至芯片固件端10后,芯片固件端10准备就绪,等待从PC端20发来的指令。测试者只需操作PC端界面和连接串口数据线,无需再对芯片固件端进行操作。
用户应用程序接收单元102,用于在PC端20与芯片固件端10之间建立串口通信后,接收PC端20发送的表示烧录指令的BOOT协议帧,利用Bootloader程序对BOOT协议帧进行响应并下载对应的用户应用程序,并于用户应用程序下载完毕后,接收PC端20向芯片固件端10发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。在本发明具体实施例中,在下载用户应用程序时,首先PC端20向芯片固件端10发送表示烧录指令的BOOT协议帧,也就是说,烧录指令跟下载到芯片固件端内存的内容(即用户应用程序)都在所述BOOT协议帧里的,具体地,所述BOOT协议帧包括帧头,BOOT指令号,数据长度n,n个字节长度的数据,以及帧尾,处于芯片内存BOOT区的Boootloader程序在接收到BOOT协议帧后,会读取分析帧的信息,若读取的BOOT指令号为下载(烧录),则将后面的数据烧写到相应的内存,并于处理完该BOOT协议帧对PC端进行BOOT响应,并于整个用户程序下载完毕后,接收PC端20向芯片固件端10发送的CRC校验结果存放到特定的内存区中,以供CRC校验时使用,所述CRC校验结果为PC端20根据用户应用程序代码计算所得。
优选地,芯片固件端10还包括:
测试指令接收执行单元103,用于接收PC端20发送的测试指令,利用Boootloader程序执行测试指令并向PC端发送结果响应。
也就是说,当用户应用程序烧录至芯片固件端10后,用户可于PC端根据自己的需要,选择对芯片进行一些基本的测试,比如FLASH擦除、检查CRC校验、写软安全序列等,向芯片固件端发送代表相应测试指令的BOOT协议帧,其中FLASH擦除功能主要是擦除芯片FLASH的MAIN区内容;检查CRC校验时,芯片固件端的测试指令接收执行单元103会将已下载到芯片固件端内存的所有内容,重新进行CRC计算,得到的CRC校验结果将与下载完成时从PC端接收到的CRC校验结果进行对比,查看CRC校验是否符合预期,用户应用程序代码是否正确写入芯片内存,也就是说,测试指令接收执行单元103会对下载到芯片内存的代码进行从头到尾的CRC校验,其主要是为了确认烧写过程中烧写的内容有没有出错,会不会发生了移位,错帧等问题,以确认正确的内容有下载到正确的内存地址上;写软安全序列具体的操作为发送一个花样值到芯片内存的特定地方,这样当芯片在掉电再次上电时,会自动检查此内存区的值,若为花样值,则芯片内存会进行重映射,能直接在用户应用程序处启动,而不会再从BOOT区启动执行Boootloader程序,以方便客户使用,芯片固件端的测试指令接收执行单元103在执行完相应的指令以后,会向PC端界面发送结果响应,即BOOT响应,然后系统会将测试结果显示在PC端GUI界面的状态栏里,方便用户直观了解指令执行结果。
优选地,用户还可以根据自身的需要在PC端输入其他功能的测试指令,比如读写特定的内存区域,进入低功耗模式等,同样,测试指令接收执行单元103接收到相应的测试指令后,执行相应的测试指令并向PC端发送结果响应,PC端用这种方式发送的指令将会在旁边的接收框里收到结果响应,其状态栏不会显示测试结果。
优选地,芯片固件端10还包括:
用户应用程序执行指令接收单元104,用于当执行完所有需要的功能测试后,接收PC端发送的用户应用程序执行指令,向PC端发送响应并运行用户应用程序。
在本发明中,当用户执行完所有需要的功能测试后,可通过PC端发送用户应用程序执行指令的RUN_APP帧,用户应用程序执行指令接收单元104通过Bootloader程序接收处理RUN_APP帧,向PC端发送BOOT响应,并自动跳转到用户应用程序。
PC端20,用于于通过串口数据线连接芯片固件端10后,选择用户应用程序下载路径,将用户应用程序下载至芯片固件端10,并于下载完成后,向芯片固件端10发送CRC校验结果,以由芯片固件端10将该CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。
具体地,PC端20包括:
串口连接控制单元201,用于读取系统中的可用设备,更新串口列表,确定串口通讯参数,与芯片固件端10通过串口数据线建立通信。
具体地说,于PC端插入连接芯片固件端的串口数据线后,通过PC端读取系统中的可用设备,自动更新串口列表,然后选择串口号、波特率、数据位长度、停止位长度和奇偶校验等串口通讯参数,并于选择完毕后打开串口,以打开PC端与固件端之间的通信。
用户应用程序烧录单元202,用于选择用户应用程序路径,解析用户程序文件并提取文件中的有效数据进行BOOT协议帧组包,向芯片固件端10发送表示烧录指令的BOOT协议帧,以将用户应用程序下载至芯片固件端10,并于下载完成后,向芯片固件端10发送CRC校验结果,所述CRC校验结果为PC端根据用户应用程序代码计算所得。在本发明具体实施例中,当串口打开后,需要先选择用户应用程序的路径,向芯片固件端10发送表示烧录指令的BOOT协议帧,以下载用户应用程序至芯片固件端10,并等待芯片固件端10的响应,所述BOOT协议帧包括帧头,BOOT指令号,数据长度n,n个字节长度的数据,以及帧尾,此时BOOT协议帧中的BOOT指令号为下载(烧录),后面的数据则为要烧写到芯片固件端相应内存的用户应用程序,在下载完成后,PC端20还向芯片固件端10发送CRC校验结果,芯片固件端10会将此数据存放到特定的内存区中,供CRC校验时使用。
优选地,PC端20还包括:
测试指令发送单元203,用于向芯片固件端10发送测试指令,以根据芯片固件端10的响应显示测试结果。
也就是说,当用户应用程序烧录至芯片固件端10后,用户可于PC端根据自己的需要,选择对芯片进行一些基本的测试,比如FLASH擦除、检查CRC校验、写软安全序列等,向芯片固件端发送代表相应测试指令的BOOT协议帧,其中FLASH擦除功能主要是擦除芯片FLASH的MAIN区内容;检查CRC校验时,芯片固件端会将已下载到芯片固件端内存的所有内容,重新进行CRC计算,得到的CRC校验结果将与下载完成时从PC端接收到的CRC校验结果进行对比,查看CRC校验是否符合预期,用户应用程序代码是否正确写入芯片内存;写软安全序列具体的操作为发送一个花样值到芯片内存的特定地方,这样当芯片在掉电再次上电时,会自动检查此内存区的值,若为花样值,则芯片会会内存进行重映射,能直接在用户应用程序处启动,而不会再从BOOT区启动执行BOOT程序,方便客户使用。芯片固件端10在执行完相应的指令以后,会向PC端10发送结果响应,即BOOT响应,然后系统会将测试结果显示在PC端GUI界面的状态栏里,方便用户直观了解指令执行结果。
优选地,用户还可以根据自身的需要在PC端输入其他功能的测试指令,比如读写特定的内存区域,进入低功耗模式等,同样,芯片固件端10接收到相应的测试指令后,执行相应的测试指令并向PC端发送结果响应,PC端用这种方式发送的指令将会在旁边的接收框里收到结果响应,其状态栏不会显示测试结果。
用户应用程序执行指令发送单元204,用于当执行完所有需要的功能测试后,向芯片固件端10发送用户应用程序执行指令,并接收芯片固件端10的响应结果。
在本发明中,当用户执行完所有需要的功能测试后,可通过PC端的用户应用程序执行指令发送单元204发送用户应用程序执行指令的RUN_APP帧,芯片固件端10接收到RUN_APP帧后,向PC端发送BOOT响应,并自动跳转到用户应用程序。
图2为本发明一种芯片量产平台系统的实现方法的步骤流程图。如图2所示,本发明一种芯片量产平台系统的实现方法,包括如下步骤:
步骤S1,芯片固件端获取Bootloader(系统启动加载项)固件端软件程序,将其存储到芯片内存BOOT区,并通过串口数据线连接PC端。
一般地,可于工厂生产时直接将Bootloader程序代码固化至芯片内存BOOT区。
当Bootloader软件程序下载至芯片固件端后,芯片固件端准备就绪,等待从PC端发来的指令。测试者只需操作PC端界面和连接串口数据线,无需再对芯片固件端进行操作。
步骤S2,在建立PC端与芯片固件端之间的串口通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。
具体地说,在PC端与芯片固件端之间建立串口通信后,芯片固件端接收PC端发送的烧录指令,对烧录指令进行响应并下载对应的用户应用程序,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。在本发明具体实施例中,在下载用户应用程序时,首先PC端向芯片固件端发送表示烧录指令的BOOT协议帧,等待芯片固件端的响应,当芯片固件端接收到到PC端发送的BOOT协议帧后,利用处于BOOT区的Bootloader程序根据BOOT协议帧接收用户应用程序数据,并于处理完后向PC端进行BOOT响应,于整个应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果存放到特定的内存区中,供CRC校验时使用,所述CRC校验结果为PC端根据用户应用程序代码计算所得。
优选地,于步骤S2后,还包括如下步骤:
步骤S3,接收PC端发送的测试指令,执行测试指令并向PC端发送结果响应。
也就是说,当用户应用程序烧录至芯片固件端后,用户可于PC端根据自己的需要,选择对芯片进行一些基本的测试,比如FLASH擦除、检查CRC校验、写软安全序列等,向芯片固件端发送代表相应测试指令的BOOT协议帧,其中FLASH擦除功能主要是擦除芯片FLASH的MAIN区内容;检查CRC校验时,芯片固件端会将已下载到芯片固件端内存的所有内容,重新进行CRC计算,得到的CRC校验结果将与下载完成时从PC端接收到的CRC校验结果进行对比,查看CRC校验是否符合预期,用户应用程序代码是否正确写入芯片内存;写软安全序列具体的操作为发送一个花样值到芯片内存的特定地方,这样当芯片在掉电再次上电时,会自动检查此内存区的值,若为花样值,则芯片会会内存进行重映射,能直接在用户应用程序处启动,而不会再从BOOT区启动执行BOOT程序,方便客户使用,固件端在执行完相应的指令以后,会向PC端界面发送结果响应,即BOOT响应,然后系统会将测试结果显示在PC端GUI界面的状态栏里,方便用户直观了解指令执行结果。
优选地,用户还可以根据自身的需要在PC端输入其他功能的测试指令,比如读写特定的内存区域,进入低功耗模式等,同样,芯片固件端接收到相应的测试指令后,执行相应的测试指令并向PC端发送结果响应,PC端用这种方式发送的指令将会在旁边的接收框里收到结果响应,其状态栏不会显示测试结果。
优选地,于步骤S3后,还包括如下步骤:
步骤S4,当执行完所有需要的功能测试后,芯片固件端接收PC端发送的用户应用程序执行指令,向PC端发送响应并运行用户应用程序。
在本发明中,当用户执行完所有需要的功能测试后,可通过PC端发送用户应用程序执行指令的RUN_APP帧,芯片固件端于接收到RUN_APP帧后,向PC端发送BOOT响应,并自动跳转到用户应用程序。
实施例
在本实施例中,本发明一种芯片量产平台系统分为两个部分,一个为芯片固件端,另一个为PC端,两部分的工作过程如图3所示,具体工作过程如下:
第一步,固件端烧录系统启动加载项。
一般地,可于工厂生产时直接将Bootloader程序代码固化至芯片内存BOOT区,当芯片固件端准备就绪后,等待从PC端发来的指令。测试者只需操作PC端界面和连接串口数据线,无需再对固件端进行操作。
第二步,固件端下载用户应用软件APP程序。其基本原理如下:插入连接芯片固件端的串口数据线后,打开PC端GUI界面,本实施例中,PC端的GUI界面软件如图4所示,PC端会读取系统中的可用设备,自动更新串口列表;手动选择串口号、波特率、数据位长度、停止位长度和奇偶校验等串口通讯参数,并于选择完毕后,打开串口,以打开PC端与固件端之间的通信;串口打开后,先选择应用软件APP程序的路径,然后下载应用软件APP程序,PC端发送BOOT协议帧等待响应,芯片固件端的Bootloader程序根据所述BOOT协议帧接收用户应用软件APP程序数据,并于处理完所述BOOT协议帧后对PC端进行响应,同时在下载完成后,PC端会向芯片固件端发送CRC校验结果(此CRC校验结果为PC端根据应用软件APP程序代码计算所得),芯片固件端会将此数据存放到特定的内存区中,供CRC校验时使用。
第三步,用户还可以根据自己的需要,选择对芯片进行一些基本的测试,比如FLASH擦除、检查CRC校验、写软安全序列等,即PC端向芯片固件端发送BOOT协议帧,并等待响应,其中FLASH擦除功能主要是擦除芯片FLASH的MAIN区内容;检查CRC校验时,芯片固件端会将第二步后已下载到芯片内存的所有内容,重新进行CRC计算,得到的CRC校验结果将与下载完成时从PC端接收到的CRC校验结果进行对比,查看CRC校验是否符合预期,APP代码是否正确写入芯片内存;写软安全序列具体的操作为发送一个花样值到芯片内存的特定地方,这样当芯片在掉电再次上电时,会自动检查此内存区的值,若为花样值,则芯片会会内存进行重映射,直接在用户程序处启动,而不会再从BOOT区启动执行BOOT程序,方便客户使用;固件端在执行完相应的指令以后,会向PC端界面发送结果响应(BOOT响应),然后系统会将测试结果显示在GUI界面的状态栏里,方便用户直观了解指令执行结果。另外,用户还可以根据自身的需要在GUI界面的指令输入框手动输入其他功能的测试指令,比如读写特定的内存区域,进入低功耗模式等。用这种方式发送的指令将会在旁边的接收框里收到结果响应,此时状态栏将不会显示测试结果。
第四步,当用户执行完所有需要的功能测试后,点击“RUN APP”按钮运行用户应用软件APP程序,即向芯片固件端发送RUN APP帧并等待响应,芯片固件端在接收到指令后会给PC端发送响应(BOOT响应),然后自动跳转到用户应用程序。至此,量产步骤结束。
在大批量量产时,本发明的芯片固件端软件可用于协助工厂进行CP3(ChipProbe,晶圆针卡测试,相对于常温测试CP1、高温老化后测试CP2,在客户想要的条件下再测试一遍称之为CP3)、FT(Fuction Test,功能测试)测试,提高量产效率。
综上所述,本发明一种芯片量产平台系统及其实现方法通过获取Bootloader程序下载到芯片固件端的芯片内存BOOT区,并通过串口数据线连接PC端,在建立PC端与芯片固件端之间的串口通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用,解决了用户小批量量产产品时,使用仿真编译器和MDK工程下载用户应用软件对芯片进行在线烧写时灵活性较差、生产成本较高、效率较低的问题,无需购买高价的仿真编译器和下载MDK软件,且操作简单,大大降低生产复杂度和成本,而且在大批量量产中,本发明的量产平台也可提高CP3、FT测试的效率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种芯片量产平台系统,包括:
芯片固件端,用于获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端,以于建立PC端与芯片固件端之间的通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,并将接收的CRC校验结果数据存放到特定的内存区中;
PC端,用于在通过串口数据线连接芯片固件端后,根据选择的用户应用程序下载路径,将用户应用程序下载至所述芯片固件端,并于下载完成后,向芯片固件端发送CRC校验结果。
2.如权利要求1所述的一种芯片量产平台系统,其特征在于,所述芯片固件端包括:
Bootloader程序获取存储单元,用于获取Bootloader固件端软件程序,将其存储到芯片内存BOOT区;
用户应用程序接收单元,用于在PC端与芯片固件端之间建立串口通信后,接收PC端发送的表示烧录指令的BOOT协议帧,对所述BOOT协议帧分析处理,下载对应的用户应用程序,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中。
3.如权利要求2所述的一种芯片量产平台系统,其特征在于:在下载用户应用程序时,由所述PC端向所述芯片固件端发送表示烧录指令的BOOT协议帧,等待所述芯片固件端的响应,当所述芯片固件端接收到到PC端发送的BOOT协议帧后,利用所述Bootloader程序对其进行分析处理,接收用户应用程序数据,并于分析处理完所述BOOT协议帧后进行BOOT响应,同时于下载完毕后,接收所述PC端向所述芯片固件端发送的CRC校验结果存放到特定的内存区中,所述BOOT协议帧包括帧头、BOOT指令号、数据长度n、长度为n个字节的数据以及帧尾。
4.如权利要求3所述的一种芯片量产平台系统,其特征在于:所述CRC校验结果为所述PC端根据用户应用程序代码计算所得。
5.如权利要求3所述的一种芯片量产平台系统,其特征在于,所述芯片固件端还包括测试指令接收执行单元,用于接收PC端发送的测试指令,执行测试指令并向PC端发送结果响应。
6.如权利要求5所述的一种芯片量产平台系统,其特征在于,所述芯片固件端还包括用户应用程序执行指令接收单元,用于当执行完所有需要的功能测试后,接收PC端发送的用户应用程序执行指令,向PC端发送响应并运行用户应用程序。
7.如权利要求6所述的一种芯片量产平台系统,其特征在于,所述PC端包括:
串口连接控制单元,用于读取系统中的可用设备,更新串口列表,确定串口通讯参数,与芯片固件端通过串口数据线建立通信;
用户应用程序烧录单元,用于选择用户应用程序路径,解析用户程序文件并提取文件中的有效数据进行BOOT协议帧组包,向所述芯片固件端发送烧录指令,将用户应用程序下载至芯片固件端,并于下载完成后,向所述芯片固件端发送CRC校验结果。
8.如权利要求7所述的一种芯片量产平台系统,其特征在于,所述PC端还包括测试指令发送单元,用于向所述芯片固件端发送测试指令,以根据所述芯片固件端的响应显示测试结果。
9.如权利要求8所述的一种芯片量产平台系统,其特征在于:所述PC端还包括用户应用程序执行指令发送单元,用于当执行完所有需要的功能测试后,向所述芯片固件端发送用户应用程序执行指令,并接收所述芯片固件端的响应结果。
10.一种芯片量产平台系统的实现方法,包括如下步骤:
步骤S1,芯片固件端获取Bootloader程序并存储到芯片内存BOOT区,并通过串口数据线连接PC端;
步骤S2,在建立PC端与芯片固件端之间的串口通信后,从PC端下载用户应用程序至芯片固件端,并于用户应用程序下载完毕后,接收PC端向芯片固件端发送的CRC校验结果,将接收的CRC校验结果数据存放到特定的内存区中,供CRC校验时使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532936.4A CN111856241A (zh) | 2020-06-12 | 2020-06-12 | 一种芯片量产平台系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532936.4A CN111856241A (zh) | 2020-06-12 | 2020-06-12 | 一种芯片量产平台系统及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111856241A true CN111856241A (zh) | 2020-10-30 |
Family
ID=72986076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010532936.4A Pending CN111856241A (zh) | 2020-06-12 | 2020-06-12 | 一种芯片量产平台系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111856241A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282442A (zh) * | 2021-07-22 | 2021-08-20 | 翱捷科技(深圳)有限公司 | 芯片量产自动化校准预设固件高速下载的方法及系统 |
CN114487758A (zh) * | 2022-04-18 | 2022-05-13 | 江苏邑文微电子科技有限公司 | 半导体设备的测试方法、测试系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107037757A (zh) * | 2017-04-17 | 2017-08-11 | 浙江威星智能仪表股份有限公司 | 一种基于光电传输的BootLoader程序升级方法 |
CN107729090A (zh) * | 2017-11-07 | 2018-02-23 | 福建北峰通信科技股份有限公司 | 一种基于串口传输的用户程序下载方法 |
-
2020
- 2020-06-12 CN CN202010532936.4A patent/CN111856241A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107037757A (zh) * | 2017-04-17 | 2017-08-11 | 浙江威星智能仪表股份有限公司 | 一种基于光电传输的BootLoader程序升级方法 |
CN107729090A (zh) * | 2017-11-07 | 2018-02-23 | 福建北峰通信科技股份有限公司 | 一种基于串口传输的用户程序下载方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282442A (zh) * | 2021-07-22 | 2021-08-20 | 翱捷科技(深圳)有限公司 | 芯片量产自动化校准预设固件高速下载的方法及系统 |
CN113282442B (zh) * | 2021-07-22 | 2021-11-02 | 翱捷科技(深圳)有限公司 | 芯片量产自动化校准预设固件高速下载的方法及系统 |
CN114487758A (zh) * | 2022-04-18 | 2022-05-13 | 江苏邑文微电子科技有限公司 | 半导体设备的测试方法、测试系统 |
CN114487758B (zh) * | 2022-04-18 | 2022-08-16 | 江苏邑文微电子科技有限公司 | 半导体设备的测试方法、测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7099818B1 (en) | System and method for automatically matching components in a debugging system | |
US7478281B2 (en) | System and methods for functional testing of embedded processor-based systems | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN107783873B (zh) | 一种烧录器自动化测试平台的实现方法 | |
EP1170668A2 (en) | Central processing unit for easily testing and debugging programs | |
US20080098380A1 (en) | System, method, and device for updating programmable electronic equipment with a transport device from a deployment server via the internet or other communication medium | |
US20050268195A1 (en) | Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems | |
US6842858B2 (en) | Mechanism for updating firmware of an electronic device | |
US20040202015A1 (en) | SDIO card development system | |
CN110209419A (zh) | 一种基于can总线的嵌入式dsp设备升级方法及装置 | |
CN107678949B (zh) | 实现嵌入式设备不同通信方式的自动化测试方法 | |
CN108519889B (zh) | 一种基于jtag标准的fpga程序远程升级系统及方法 | |
US20090198770A1 (en) | System and method of updating codes in controller | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN111008033A (zh) | 一种基于串口的通用dsp在线升级系统及升级方法 | |
CN111856241A (zh) | 一种芯片量产平台系统及其实现方法 | |
CN109739769A (zh) | Bootrom加载功能自动化测试方法及装置 | |
CN111459744A (zh) | 视频处理芯片的固件烧录方法和固件调试方法 | |
US20060026462A1 (en) | Apparatus for recovering BIOS in computer system | |
US20080126862A1 (en) | System and Method for Testing Software Code for Use on a Target Processor | |
US20040177344A1 (en) | Debugging method for the keyboard controller code | |
CN111984533A (zh) | 一种软件自动化测试系统及方法 | |
KR100709067B1 (ko) | 무선통신단말기 테스트 장치 및 그를 이용한무선통신단말기 원격 테스트 시스템 | |
CN113157508B (zh) | 嵌入式系统的测试方法、系统、装置、设备及存储介质 | |
US6598176B1 (en) | Apparatus for estimating microcontroller and method thereof |
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 |
Application publication date: 20201030 |
|
RJ01 | Rejection of invention patent application after publication |