1引言
通過串口總線可以對TMS320LF2407A FLASH進(jìn)行編程。串口編程可以對DSP系統(tǒng)編程,同時本文給出了一種可編程的應(yīng)用方法。
該DSP擁有一個片內(nèi)串口,可以通過一個外部的電平轉(zhuǎn)換器件與標(biāo)準(zhǔn)RS232器件通訊。該串口不僅僅用于編程,在編程結(jié)束后可以配置成標(biāo)準(zhǔn)的串口使用。
Bootloader是一個讓用戶方便對片內(nèi)FLASH或RAM進(jìn)行重新編程升級的工具。Bootloader本身不包含某些編程算法,嵌入在片內(nèi)的Bootloader只具有一些基本的代碼下載指令,并在片內(nèi)RAM運行。Bootloader一般都提供一些編程片內(nèi)程序存儲器的ISP和IAP的接口。
ISP(In-System Programming):使用片內(nèi)的Bootloader軟件和通訊接口,對片內(nèi)存儲器進(jìn)行編程和重編程。IAP(In Application Programming):IAP對片內(nèi)存儲器執(zhí)行擦除和寫操作,可以由用戶代碼來執(zhí)行。
2工作過程
2.1DSP初始化
上電以后,程序首先從地址0x0000開始執(zhí)行,然后立即跳轉(zhuǎn)到bootloade程序。
.sect vectors
RESET: B _bootloader ; 地址0x0000
……。。
_bootloader :
Bootloade首先對串口進(jìn)行配置,8位數(shù)據(jù)位,一位停止位,無校驗位,建立與 計算 機的通訊。在此過程中,計算機始終向DSP發(fā)送檢測字符,0x0D. Bootloade一直通過串口監(jiān)聽計算機通訊,如果連續(xù)接受到三個字符與0X0D不相符合,則改為下一個波特率進(jìn)行監(jiān)聽。當(dāng)波特率匹配成功后,Bootloade就準(zhǔn)備接收9個相同的字符。一旦9個字符接收成功后,Bootloade將發(fā)送一個應(yīng)答信號0XAA,表示通訊建立,從此開始,Bootloade接收到的每一個字符都將發(fā)送給計算機,以驗證通訊是否正確。
2.2內(nèi)核傳輸
內(nèi)核通過通訊接口,以字節(jié)為單位進(jìn)行傳輸。首先發(fā)送的是低字節(jié),后面是高字節(jié)。數(shù)據(jù)包格式如下:
計算機發(fā)送:
①啟動地址:一個字(16 bits),每次傳輸一個字節(jié),低字節(jié)優(yōu)先。
②數(shù)據(jù)包容量(要傳輸?shù)淖值臄?shù)目):一個字(16 bits),每次傳輸一個字節(jié),低字節(jié)優(yōu)先。
③內(nèi)核代碼:每次傳輸一個字節(jié),低字節(jié)優(yōu)先。一旦內(nèi)核傳輸?shù)絉am,內(nèi)核會發(fā)送狀態(tài)字節(jié)來表示初始化的狀態(tài)。0X0表示發(fā)送成功,其它 內(nèi)容 表示發(fā)送失敗,計算機會終止傳輸。
2.3內(nèi)核操作
內(nèi)核只要成功傳輸,則內(nèi)核程序?qū)⒔庸芸刂乒δ?。對于TMS320LF2407A,內(nèi)核程序算法必須滿足以下要求:
①內(nèi)核必須小于0X100字,并且必須在程序空間0Xfe00-0Xfeff安裝和執(zhí)行,程序起始點必須是0Xfe00。
②內(nèi)核必須返回程序的狀態(tài)。
③內(nèi)核程序必須能夠?qū)⒖刂乒δ芊祷?,不會破壞程序使用的變量?/p>
④內(nèi)核等待擦除,置1和編程的算法。
⑤內(nèi)核必須裝載到有效的地址內(nèi)存空間內(nèi)。
2.4擦除算法
擦除算法是第一個被下載到目標(biāo)芯片內(nèi)的算法。它將FLASH第一扇區(qū)和第二扇區(qū)的內(nèi)容清0,為FLASH置位作準(zhǔn)備。成功擦除后,返回0x0,不然就返回一個非零值。
2.5置位
下載置位算法,它可以置位FLASH。成功置位后,返回0x0,不然就返回一個非零值。
2.6編程
下載編程算法,但編程算法并不立即執(zhí)行,而是下載第一組編程數(shù)據(jù)。一旦得到編程數(shù)據(jù),將會調(diào)用編程算法,將下載的編程數(shù)據(jù)燒寫到FLASH里。圖2是編程步驟的流程圖。
對FLASH第一扇區(qū)的編程操作結(jié)束以后,編程算法將向 計算 機返回狀態(tài)。并一直等待下一組編程數(shù)據(jù),一直到接收到最后一組數(shù)據(jù)標(biāo)志為止。將編程數(shù)據(jù)燒寫到FLASH后,編程算法將控制權(quán)交給工作程序。
3使用 方法
為了使用該軟件將程序下載到FLASH里,首先要通過編譯器將程序編譯、調(diào)試通過,一般編譯器生成的文件格式為COFF格式,該文件包含程序二進(jìn)制代碼,但不包含要燒寫到FLASH里的二進(jìn)制文件。需要使用工具將該文件格式轉(zhuǎn)換為可下載的文件格式。
在芯片內(nèi)有四個字的密碼,在下載程序時要注意。如果下載程序里的密碼是0X0000 或0X0FFFF,則不用關(guān)心,但如果其它的密碼,則需要記錄下來,以備下次下載時使用,將密碼設(shè)置到要下載的程序里,解密原來的芯片。
Password1:set 0000h ;在地址0x0040中的密碼
Password2:set 0000h ;在地址0x0041中的密碼
Password3:set 0000h ;在地址0x0042中的密碼
Password4:set 0000h ;在地址0x0043中的密碼
4結(jié)果
使用該方法可以方便的對芯片進(jìn)行程序下載,成本低、操作方便。本方法已經(jīng)在北京瑞泰公司的DSP開發(fā)板上調(diào)試通過,穩(wěn)定可靠。
參考文獻(xiàn)
[1]劉和平。 TMS320LF240x DSP結(jié)構(gòu)原理及 應(yīng)用 。 北京:北京航空航天大學(xué)出版社,2002.
[2]張雄偉等。 DSP芯片的原理與開發(fā)應(yīng)用(第3版)[M]。 北京:北京 電子 工業(yè) 出版社,2003.
[3]TMS320LF2407A DSP controller. TI 2000.
[4]潭浩強。 C 程序設(shè)計[M]。 北京:清華大學(xué)出版社,2003.
編輯:jq
-
dsp
+關(guān)注
關(guān)注
554文章
8059瀏覽量
350636 -
FlaSh
+關(guān)注
關(guān)注
10文章
1644瀏覽量
148754 -
串口
+關(guān)注
關(guān)注
14文章
1559瀏覽量
77137
發(fā)布評論請先 登錄
相關(guān)推薦
TMS320C6000 DSP軟件可編程鎖相環(huán)控制器指南
![TMS320C6000 <b class='flag-5'>DSP</b>軟件<b class='flag-5'>可編程</b>鎖相環(huán)控制器指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
可編程的超快納米光子光譜像素矩陣
![<b class='flag-5'>可編程</b>的<b class='flag-5'>超</b>快納米光子光譜像素矩陣](https://file1.elecfans.com//web1/M00/F2/8D/wKgZoWcFsmKANSYAAAHNRi8hzZ8048.jpg)
可編程晶振的優(yōu)點和缺點
![<b class='flag-5'>可編程</b>晶振的優(yōu)點和缺點](https://file1.elecfans.com/web2/M00/08/B3/wKgZomb6EHCAP6_bAABIBW5l9bU312.png)
解析全硅可編程 CMOS 振蕩器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性
![解析<b class='flag-5'>全</b>硅<b class='flag-5'>可編程</b> CMOS 振蕩器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性](https://file1.elecfans.com//web2/M00/02/38/wKgaoma0gHKAGxZwAABDkkN7NPA563.png)
可編程電源的作用是什么
可編程電源如何編程
什么是現(xiàn)場可編程邏輯陣列?它有哪些特點和應(yīng)用?
現(xiàn)場可編程門陣列的原理和應(yīng)用
現(xiàn)場可編程門陣列是什么
用于電視的全可編程LCD偏置IC TPS65178/A數(shù)據(jù)表
![用于電視的<b class='flag-5'>全</b><b class='flag-5'>可編程</b>LCD偏置IC TPS65178/A數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
可編程邏輯器件的特征及優(yōu)勢科普
可編程晶振如何設(shè)置呢
![<b class='flag-5'>可編程</b>晶振如何設(shè)置呢](https://file1.elecfans.com/web2/M00/C1/8C/wKgaomXXBBOAFAjZAABDJ9NdMBs026.png)
評論