廣州致遠電子有限公司
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可以進行文件燒寫、數據擦除、數據讀取等操作,具體功能描述如下:
①文件燒寫??梢詿龑慴in文件、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界面下“燒寫”執行動作是一致的。