广州致远电子有限公司
K-Flash是一款用于在线Flash的烧写,支持TKScope系列硬件,具有文件烧写与校验、数据擦除、数据查空和数据读取等功能的软件。
从版本V3.40开始,K-F lash开放命令行功能,支持第三方用户程序直接调用。基于这种嵌入式组件,K-Flash用户可以在自己的程序(VC、VB或命令行)中直接调用K-Flash完成在线烧写Flash。由于用户获得了K-Flash的控制权,因此用户在程序中可以灵活地对目标板上的各种Flash进行任意操作,实现一般编程器不能支持的自定义烧写功能。
例如,在有安保要求的产品中,型号相同的产品个体中Flash的代码可能不同。原因是每个产品个体的密码/序列号不同,因此每个产品个体都要形成不同的代码。因此用户可以用软件来生成每个个体的代码,然后控制K-F lash完成对每个产品个体的烧写。由于使用用户自己编写的软件来完成烧写操作,因此在整个烧录过程中密码/序列号都隐藏在用户的软件中,与操作人员完全隔离,可以满足安保产品的保密要求。
与K-Flash配套的TKScope系列硬件同时由广州致远电子有限公司提供,支持全系列的8051、ARM、DSP、AVR、C8051F、C166、C251、MX等内核的内部Flash烧录,同时也支持全部NOR、NAND、SPI、I2C等外部Flash的烧写。
K-F lash配合TKScope支持烧写的内核种类如下:
ARM内核:ARM 7/ARM9/ARM 11/Cortex-M 0/Cortex-M 1/Cortex-M 3/Cortex-A8/Cortex-A9/XScale等全系列芯片;
DSP内核:TI公司C2000/C5000/C6000/OMAP/DaVinci等全系列芯片;
AVR内核:Atmel公司MEGA、TINY、XMEGA等全系列芯片;
C166内核:Infineon公司XC166/XE166/XC2000等全系列芯片;
C8051F系列:Silicon Labs公司全部C8051F系列芯片。
K-Flash具有以下特点。
◆工程化配置,操作简单、方便、快捷;
◆支持TKScope全系列通用仿真器;
◆支持ARM、51、AVR、DSP等多种内核;
◆支持一次烧写多个文件,操作更快捷;
◆支持bin文件、hex文件、ou t文件、elf文件等多种类型的文件;
◆支持片内F lash和片外Flash烧写;
◆支持第三方用户程序调用;
◆具备烧写校验功能,验证烧写是否正确;
◆多种Flash烧写操作,可以进行擦除和读取等操作;
◆具有独立的数据擦除功能,可指定扇区进行擦除,操作更简捷;
◆具有独立的数据读取功能,可指定地址范围进行读取,支持一步到位打开读取出的数据;
◆保存配置到工程文件中,免除繁琐重复的配置操作;
◆支持各大半导体公司的芯片烧写,内置多种芯片的默认配置;
◆ARM内核烧写算法文件公开,用户可自行添加Flash算法。
K-F lash可以进行文件烧写、数据擦除、数据读取等操作,具体功能描述如下:
①文件烧写。可以烧写bin文件、hex文件、out文件、elf文件等多种类型的文件,并校验烧写的数据是否正确。
②烧写校验。烧写完成后,检验烧写的数据是否正确。
③数据擦除。擦除指定扇区内的数据。
④数据读取。读取指定的起始地址和大小的数据并保存到用户指定的路径。
TKScope仿真器通过K-Flash软件实现芯片的烧写、数据擦除和数据读取等功能。操作K-F lash软件,除了直接操作K-Flash用户界面外,还可以通过K-Flash支持的
图1 K-Flash操作界面
命令行参数,由第三方软件调用并执行K-Flash软件所提供的功能,能方便地为自动化操作提供支持。K-Flash运行命令参数解释如下:
返回参数:成功执行返回0,非0代表命令执行错误。
CallK flashDemo测试程序用于验证K-Flash程序调用以及验证命令行参数功能是否正确执行的测试界面,实际上可看作一个第三方程序,通过简单的代码操作完成K-Flash所提供的功能操作,并获得返回值以及日志文件的显示。用户可根据自身需求编写代码完成其他复杂流程,例如擦除—编程—校验等。
图2 调用K-Flash操作
[K-Flash返回]:成功执行返回0,失败执行返回非0。
注意:基于K-Flash第三方程序调用的所有功能都可以在K-Flash GUI界面上进行验证,例如“-prog ram_project”参数调用和直接在GUI界面下“烧写”执行动作是一致的。