廣州致遠(yuǎn)電子有限公司
K-Flash是一款用于在線Flash的燒寫,支持TKScope系列硬件,具有文件燒寫與校驗(yàn)、數(shù)據(jù)擦除、數(shù)據(jù)查空和數(shù)據(jù)讀取等功能的軟件。
從版本V3.40開始,K-F lash開放命令行功能,支持第三方用戶程序直接調(diào)用?;谶@種嵌入式組件,K-Flash用戶可以在自己的程序(VC、VB或命令行)中直接調(diào)用K-Flash完成在線燒寫Flash。由于用戶獲得了K-Flash的控制權(quán),因此用戶在程序中可以靈活地對(duì)目標(biāo)板上的各種Flash進(jìn)行任意操作,實(shí)現(xiàn)一般編程器不能支持的自定義燒寫功能。
例如,在有安保要求的產(chǎn)品中,型號(hào)相同的產(chǎn)品個(gè)體中Flash的代碼可能不同。原因是每個(gè)產(chǎn)品個(gè)體的密碼/序列號(hào)不同,因此每個(gè)產(chǎn)品個(gè)體都要形成不同的代碼。因此用戶可以用軟件來生成每個(gè)個(gè)體的代碼,然后控制K-F lash完成對(duì)每個(gè)產(chǎn)品個(gè)體的燒寫。由于使用用戶自己編寫的軟件來完成燒寫操作,因此在整個(gè)燒錄過程中密碼/序列號(hào)都隱藏在用戶的軟件中,與操作人員完全隔離,可以滿足安保產(chǎn)品的保密要求。
與K-Flash配套的TKScope系列硬件同時(shí)由廣州致遠(yuǎn)電子有限公司提供,支持全系列的8051、ARM、DSP、AVR、C8051F、C166、C251、MX等內(nèi)核的內(nèi)部Flash燒錄,同時(shí)也支持全部NOR、NAND、SPI、I2C等外部Flash的燒寫。
K-F lash配合TKScope支持燒寫的內(nèi)核種類如下:
ARM內(nèi)核:ARM 7/ARM9/ARM 11/Cortex-M 0/Cortex-M 1/Cortex-M 3/Cortex-A8/Cortex-A9/XScale等全系列芯片;
DSP內(nèi)核:TI公司C2000/C5000/C6000/OMAP/DaVinci等全系列芯片;
AVR內(nèi)核:Atmel公司MEGA、TINY、XMEGA等全系列芯片;
C166內(nèi)核:Infineon公司XC166/XE166/XC2000等全系列芯片;
C8051F系列:Silicon Labs公司全部C8051F系列芯片。
K-Flash具有以下特點(diǎn)。
◆工程化配置,操作簡單、方便、快捷;
◆支持TKScope全系列通用仿真器;
◆支持ARM、51、AVR、DSP等多種內(nèi)核;
◆支持一次燒寫多個(gè)文件,操作更快捷;
◆支持bin文件、hex文件、ou t文件、elf文件等多種類型的文件;
◆支持片內(nèi)F lash和片外Flash燒寫;
◆支持第三方用戶程序調(diào)用;
◆具備燒寫校驗(yàn)功能,驗(yàn)證燒寫是否正確;
◆多種Flash燒寫操作,可以進(jìn)行擦除和讀取等操作;
◆具有獨(dú)立的數(shù)據(jù)擦除功能,可指定扇區(qū)進(jìn)行擦除,操作更簡捷;
◆具有獨(dú)立的數(shù)據(jù)讀取功能,可指定地址范圍進(jìn)行讀取,支持一步到位打開讀取出的數(shù)據(jù);
◆保存配置到工程文件中,免除繁瑣重復(fù)的配置操作;
◆支持各大半導(dǎo)體公司的芯片燒寫,內(nèi)置多種芯片的默認(rèn)配置;
◆ARM內(nèi)核燒寫算法文件公開,用戶可自行添加Flash算法。
K-F lash可以進(jìn)行文件燒寫、數(shù)據(jù)擦除、數(shù)據(jù)讀取等操作,具體功能描述如下:
①文件燒寫??梢詿龑慴in文件、hex文件、out文件、elf文件等多種類型的文件,并校驗(yàn)燒寫的數(shù)據(jù)是否正確。
②燒寫校驗(yàn)。燒寫完成后,檢驗(yàn)燒寫的數(shù)據(jù)是否正確。
③數(shù)據(jù)擦除。擦除指定扇區(qū)內(nèi)的數(shù)據(jù)。
④數(shù)據(jù)讀取。讀取指定的起始地址和大小的數(shù)據(jù)并保存到用戶指定的路徑。
TKScope仿真器通過K-Flash軟件實(shí)現(xiàn)芯片的燒寫、數(shù)據(jù)擦除和數(shù)據(jù)讀取等功能。操作K-F lash軟件,除了直接操作K-Flash用戶界面外,還可以通過K-Flash支持的
圖1 K-Flash操作界面
命令行參數(shù),由第三方軟件調(diào)用并執(zhí)行K-Flash軟件所提供的功能,能方便地為自動(dòng)化操作提供支持。K-Flash運(yùn)行命令參數(shù)解釋如下:
返回參數(shù):成功執(zhí)行返回0,非0代表命令執(zhí)行錯(cuò)誤。
CallK flashDemo測試程序用于驗(yàn)證K-Flash程序調(diào)用以及驗(yàn)證命令行參數(shù)功能是否正確執(zhí)行的測試界面,實(shí)際上可看作一個(gè)第三方程序,通過簡單的代碼操作完成K-Flash所提供的功能操作,并獲得返回值以及日志文件的顯示。用戶可根據(jù)自身需求編寫代碼完成其他復(fù)雜流程,例如擦除—編程—校驗(yàn)等。
圖2 調(diào)用K-Flash操作
[K-Flash返回]:成功執(zhí)行返回0,失敗執(zhí)行返回非0。
注意:基于K-Flash第三方程序調(diào)用的所有功能都可以在K-Flash GUI界面上進(jìn)行驗(yàn)證,例如“-prog ram_project”參數(shù)調(diào)用和直接在GUI界面下“燒寫”執(zhí)行動(dòng)作是一致的。
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2010年10期