【技术实现步骤摘要】
一种嵌入式系统固件烧写的进度计算方法及系统
本申请涉及一种嵌入式系统的固件烧写方法,特别是涉及一种嵌入式系统在固件烧写过程中计算固件烧写进度的方法。
技术介绍
嵌入式系统(embeddedsystem)是一种包含有处理器、存储器、输入和/或输出外围设备的计算机系统,用于在一个较大的机械和/或电气系统中执行专用功能。嵌入式系统的存储器中保存有控制程序。嵌入式系统在批量生产时,需要将固件(firmware)作为操作系统目标代码烧写到NANDFlash(与非门闪存)、NORFlash(或非门闪存)、eMMC(embeddedMultiMediaCard,嵌入式多媒体卡)等存储器中。固件是固化在存储介质的程序,决定了嵌入式系统的功能和性能。通常固件写入到嵌入式系统后无法被用户直接读出或者修改,如果在烧写过程中数据传输出现异常,就会导致产品无法正常启动,所以烧写的固件要保证安全可靠。目前可以量产的固件烧写方式有FLASH烧录器、SD卡方式和USB方式等。FLASH烧录器和SD卡烧写方式无法跟踪量产进度信息。USB烧写方式可以实时显示量产进度,并且可以同时量产多个产品设备,现有的嵌入式系统普遍采用USB方式进行固件数据的量产烧写。现有的量产进度计算方式是按阶段初略估算的,不能精确跟踪具体的量产状态,为方便产线工人精确地跟踪量产进度状态,需要一种精确计算固件烧写进度的方法。
技术实现思路
本申请所要解决的技术问题是提供一种嵌入式系统在固件烧写过程中精确计算固件烧写进度的方法,从而能够更方便地跟踪 ...
【技术保护点】
1.一种嵌入式系统固件烧写的进度计算方法,其特征是,包括如下步骤;/n步骤S10:PC机通过串行通信接口连接到某个嵌入式系统的目标板卡的串行通信接口;/n步骤S20:PC机计算所述目标板卡在固件烧写过程中需要处理的数据总量,并在生成的所述目标板卡的固件文件包时将所述需要处理的数据总量写入其中;/n步骤S30:PC机向所述目标板卡通知所述需要处理的数据总量;/n步骤S40:所述目标板卡接收所述需要处理的数据总量,并保存在本地;/n步骤S50:PC机向所述目标板卡发送下载命令与下载数据;所述下载命令包括擦除分区的指令、写入分区的指令;所述下载数据包括所述目标板卡的固件文件包中的镜像文件;/n步骤S60:所述目标板卡接收并处理所述下载命令和下载数据,并把所述下载数据写入本地的非易失性存储器中;在写入过程中,当所述目标板卡每擦除本地的非易失性存储器的一个单元,或者每在本地的非易失性存储器中写入一个数据块,都计算已经处理的数据量,并将已经处理的数据量与所述需要处理的数据总量的比值作为固件烧写的进度量上报给PC机;/n步骤S70:PC机接收并显示所述目标板卡发送的固件烧写的进度量。/n
【技术特征摘要】
1.一种嵌入式系统固件烧写的进度计算方法,其特征是,包括如下步骤;
步骤S10:PC机通过串行通信接口连接到某个嵌入式系统的目标板卡的串行通信接口;
步骤S20:PC机计算所述目标板卡在固件烧写过程中需要处理的数据总量,并在生成的所述目标板卡的固件文件包时将所述需要处理的数据总量写入其中;
步骤S30:PC机向所述目标板卡通知所述需要处理的数据总量;
步骤S40:所述目标板卡接收所述需要处理的数据总量,并保存在本地;
步骤S50:PC机向所述目标板卡发送下载命令与下载数据;所述下载命令包括擦除分区的指令、写入分区的指令;所述下载数据包括所述目标板卡的固件文件包中的镜像文件;
步骤S60:所述目标板卡接收并处理所述下载命令和下载数据,并把所述下载数据写入本地的非易失性存储器中;在写入过程中,当所述目标板卡每擦除本地的非易失性存储器的一个单元,或者每在本地的非易失性存储器中写入一个数据块,都计算已经处理的数据量,并将已经处理的数据量与所述需要处理的数据总量的比值作为固件烧写的进度量上报给PC机;
步骤S70:PC机接收并显示所述目标板卡发送的固件烧写的进度量。
2.根据权利要求1所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S10中,所述串行通信接口是USB接口。
3.根据权利要求1所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S20中,所述目标板卡的固件文件包中包括多个固件文件的镜像文件,还包括配置文件;PC机依次处理所述目标板卡的每一个固件文件的镜像文件,处理完最后一个固件文件的镜像文件后将计算出的需要处理的数据总量记录在生成的固件文件包的配置文件中;
所述步骤S30中,PC机向所述目标板卡发送所述配置文件,以告知所述需要处理的数据总量;
所述步骤S40中,所述目标板卡接收所述配置文件,以获取所述需要处理的数据总量并保存在本地。
4.根据权利要求3所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S20中,PC机生成所述目标板卡的固件文件包时,对每一个固件文件的镜像文件按照存储单元对齐,并预设目标存储单元数量P;预设的目标存储单元数量P大于该镜像文件的实际大小所占用的存储单元数量,多出的存储单元为了实现I/O的负载均衡;
所述步骤S50中,PC机向所述目标板卡发送下载命令时,实际写入该镜像文件的存储单元对应于写入分区的指令,实际不写入该镜像文件而是多出的存储单元对应于擦除分区的指令。
5.根据权利要求3所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S20中,根据每一个固件文件的镜像文件预设的存储单元对应的指令,采用不同的计算方式来计算需要处理的数据总量;
当某个镜像文件的某个存储单元对应于擦除分区的指令,计算需要处理的数据总量时仅叠加该分区的擦除字节数;
当某个镜像文件的某个存储单元对应于写入分区的指令,计算需要处理的数据总量时叠加该分区的擦除字节数以及该镜像文件在该分区的写入字节数。
6.根据权利要求1所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S50中,所述擦除分区的指令是Erase命令,Erase命令传入的参数是分区名称;在执行Erase命令时,按Erase命令的参数提供的分区名称去擦除整个分区。
7.根据权利要求1所述的嵌入式系统固件烧写的进度计算方法,其特征是,所述步骤S50中,所述写入分区的指令是flash命令,flash命令传入的参数是分区名称;在执行flash命令之前,先下载镜...
【专利技术属性】
技术研发人员:胡文,黄金华,于嘉,
申请(专利权)人:翱捷科技上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。