999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TMS320F2833x系列DSP網(wǎng)絡(luò)加載方法研究

2019-09-27 09:32:50陶春榮游新望
雷達(dá)與對抗 2019年3期
關(guān)鍵詞:程序功能

陶春榮,游新望,秦 雅

(中國船舶重工集團(tuán)公司第七二四研究所,南京 211153)

0 引 言

TMS320F2833x(以下簡稱F2833x)是德州儀器公司(TI)推出的支持高性能集成外設(shè)的32位微控制器,廣泛應(yīng)用于實時控制領(lǐng)域。該系列芯片一般通過JTAG接口進(jìn)行軟件程序的加載,能夠滿足調(diào)試需求,但在進(jìn)行現(xiàn)場軟件的升級時可能存在現(xiàn)場環(huán)境惡劣難以到達(dá)、結(jié)構(gòu)件拆卸困難等問題。所以,研究基于遠(yuǎn)程控制的DSP芯片網(wǎng)絡(luò)加載方法可提高程序更改升級的便利性和靈活性,具有重要的實用和推廣價值。

F2833x系列DSP集成了大量的外設(shè)供控制使用,具有改進(jìn)的哈佛結(jié)構(gòu),還兼有RISC處理器的代碼密度和DSP的執(zhí)行速度,其最高主頻可達(dá)150 MHz,內(nèi)部集成了一個單精度浮點單元,并配置了一定容量的閃存(FLASH),可用于DSP程序的存儲及執(zhí)行。該系列芯片支持軟件引導(dǎo)模式,通過引腳配置可以實現(xiàn)SCI、SPI、CAN、I2C、McBSP、XINTF和并行I/O等加載方式。

本文設(shè)計了一種基于TM4C129x系列ARM芯片的網(wǎng)絡(luò)加載方法。通過SCI-A口將TM4C129x芯片與F2833x連接,采用了SCI-A的引導(dǎo)模式,并結(jié)合F2833x的Bootloader實現(xiàn)其網(wǎng)絡(luò)在線燒寫和加載,進(jìn)行了具體的硬件設(shè)計、TM4C129X軟件設(shè)計、二次引導(dǎo)程序設(shè)計及上位機(jī)程序設(shè)計,實現(xiàn)了F2833x芯片程序的網(wǎng)絡(luò)加載升級功能。

1 F2833x系列引導(dǎo)流程介紹

F2833x系列DSP內(nèi)部都固化了ROM存儲器。ROM資源里包含了Bootloader程序。Bootloader程序在系統(tǒng)通電后能自動將存放在外部載體的用戶代碼引導(dǎo)到FLASH存儲器的任何空間或片內(nèi)SARAM中。對于F2833x系列DSP來說,當(dāng)上電復(fù)位后,芯片自動運行引導(dǎo)加載程序。該程序?qū)⑴袛郍PIO84~87引腳的電平狀態(tài),根據(jù)引腳電平狀態(tài)選擇相對應(yīng)的引導(dǎo)方式,然后引導(dǎo)加載程序?qū)⑼獠康某绦蚣虞d到芯片內(nèi)部的SARAM中,最后根據(jù)引導(dǎo)加載程序指定的程序入口地址在片內(nèi)SARAM中運行相應(yīng)的程序,完成芯片的引導(dǎo)啟動。

F2833x上電后,首先處于復(fù)位狀態(tài),當(dāng)復(fù)位引腳置高時器件退出復(fù)位狀態(tài),器件從復(fù)位向量(0x3FFFC0)處開始運行。該處存放著BootROM的初始引導(dǎo)程序InitBoot程序的入口地址。InitBoot程序是由廠家固化到BootROM中的。此時,程序跳轉(zhuǎn)到0x3FFC00處運行InitBoot程序。該程序首先讀取安全保護(hù)模塊的密碼,然后初始化例程調(diào)用模式選擇功能函數(shù)(SelectBootMode)。該函數(shù)根據(jù)GPIO引腳84~87的狀態(tài)確定DSP的引導(dǎo)方式,引導(dǎo)方式與控制引腳間的關(guān)系見表1。上電復(fù)位后,默認(rèn)使能這4個GPIO引腳內(nèi)的上拉功能。此時,必須設(shè)定好相應(yīng)控制引腳的電平狀態(tài),在引導(dǎo)加載程序中將會對相應(yīng)的引腳電平進(jìn)行采樣,之后決定進(jìn)入何種引導(dǎo)方式。SCI、SPI、并行引導(dǎo)等幾個啟動模式還需要進(jìn)一步調(diào)用Bootloader搬移程序。一旦完成SelectBootMode將會把入口地址返回給初始化引導(dǎo)程序(InitBoot),然后初始化引導(dǎo)程序調(diào)用恢復(fù)CPU寄存器的退出例程(ExitBoot)并退出到由引導(dǎo)模式確定的程序入口地址,從而完成硬件引導(dǎo)進(jìn)入用戶程序引導(dǎo)并開始運行用戶程序。

表1 引導(dǎo)模式與控制引腳的關(guān)系

2 F2833x網(wǎng)絡(luò)加載實施方案

從F2833x引導(dǎo)模式可以看出,由于該芯片本身不具備網(wǎng)絡(luò)引導(dǎo)的功能,所以要完成程序的網(wǎng)絡(luò)燒寫及加載需要具備下面兩個條件:

(1) 需要有一塊具備網(wǎng)絡(luò)接口和SCI、I2C、CAN等數(shù)字接口的MCU來實現(xiàn)網(wǎng)絡(luò)通信,以及對F2833x的引腳控制和數(shù)據(jù)加載工作。

(2) 需要制作專用的二次引導(dǎo)程序,以此來實現(xiàn)F2833x與MCU的數(shù)字通信,以及對其內(nèi)部的FLASH進(jìn)行燒寫的工作。

只有具備了上述兩個條件才能實現(xiàn)F2833x的網(wǎng)絡(luò)燒寫、加載功能。因此,本方案采用了TI公司的TM4C129x芯片作為網(wǎng)絡(luò)加載的主控MCU。該芯片采用的是ARM-M0結(jié)構(gòu),具備以太網(wǎng)、USB、CAN、I2C、SCI的豐富的電路接口功能,同時在該芯片上可以運行TI公司專用的實時操作系統(tǒng)。該芯片功能強大到完全可以滿足與上位機(jī)的以太網(wǎng)通信,以及對F2833x的引腳控制和數(shù)據(jù)交互功能,從而實現(xiàn)F2833x的網(wǎng)絡(luò)燒寫、加載功能。在本方案中F2833x采用的是SCI-A引導(dǎo)模式。這種異步串口引導(dǎo)模式具有實現(xiàn)簡單、穩(wěn)定可靠的特點。

F2833x的SCI引導(dǎo)模式采用的是異步方式從SCI-A端口將代碼引導(dǎo)到F2833x中。這種方式使用的是8位的數(shù)據(jù)模式。F2833x通過SCI-A口同主機(jī)進(jìn)行通信,其波特率自動檢測功能可以用來鎖定主機(jī)的通信速率。當(dāng)完成通信速率鎖定后F2833x和主機(jī)開始進(jìn)行數(shù)據(jù)傳輸。每接收到一幀主機(jī)傳來的8位數(shù)據(jù),F(xiàn)2833x都會將此幀8位數(shù)據(jù)再返回給主機(jī)。通過這種方式,主機(jī)可以檢驗F2833x接收到的字符與發(fā)送的字符是否一致,從而保證通信數(shù)據(jù)的完整性。SCI-A的引導(dǎo)流程圖如圖1所示。

圖1 SCI-A引導(dǎo)流程圖

2.1 硬件設(shè)計

根據(jù)F2833x引導(dǎo)流程要實現(xiàn)該芯片引導(dǎo)模式的變化需要GPIO84~GPIO87,以及復(fù)位管腳這5根控制管腳的共同作用。本文采用的是SCI-A的引導(dǎo)模式。因此,主控的MCU不僅要控制這5根控制管腳,而且還需要異步串口與F2833x相連接從而完成對F2833x的數(shù)據(jù)流控制及傳輸。電路設(shè)計圖如圖2所示。

圖2 硬件電路示意圖

由于TM4C129x接口豐富,包含有多路物理GPIO端口和多路UART異步串行數(shù)據(jù)總線接口,其每個物理GPIO端口均可編程為輸入/輸出管腳。在本方案中采用TM4C129x芯片的GPIOA3~GPIOA7端口作為控制管腳與F2833x的5根控制管腳相連接,采用UART0接口與F2833x的SCI-A接口相連,以此來實現(xiàn)對DSP引導(dǎo)模式的控制及程序的加載。利用TM4C129x的以太網(wǎng)控制器實現(xiàn)與上位機(jī)的網(wǎng)絡(luò)通信,通過專用上位機(jī)軟件來實現(xiàn)對DSP的引導(dǎo)及程序加載。

2.2 軟件設(shè)計

2.2.1 TM4C129x軟件設(shè)計

TM4C129x主要完成從網(wǎng)絡(luò)接收上位機(jī)發(fā)來的網(wǎng)絡(luò)加載命令及需要加載的程序。為了確保加載程序在網(wǎng)絡(luò)傳輸中不發(fā)生丟幀等錯誤,TM4C129x與上位機(jī)采用的是可靠的TCP協(xié)議進(jìn)行通信。接收到上位機(jī)的網(wǎng)絡(luò)加載命令后TM4C129x通過5根控制管腳控制F2833x進(jìn)入到SCI-A引導(dǎo)模式,然后TM4C129x將二次引導(dǎo)程序通過SCI-A口加載到F2833x中。加載完畢后復(fù)位F2833x讓其運行加載好的二次引導(dǎo)程序。二次引導(dǎo)程序?qū)⑴cTM4C129x進(jìn)行SCI-A串口的握手通信。握手成功后TM4C129x將上網(wǎng)機(jī)發(fā)來的需要加載的程序通過SCI-A串口傳輸?shù)紽2833x中。傳輸完成后F2833x的二次引導(dǎo)程序?qū)⑦M(jìn)行對F2833x內(nèi)部FLASH空間的擦除及重新燒寫接收到的加載程序工作。上述工作完成后,F(xiàn)2833x通過串口發(fā)送加載完成信號。這時,TM4C129x將控制管腳置為FLASH引導(dǎo)狀態(tài),同時復(fù)位F2833x完成對其的網(wǎng)絡(luò)加載。

2.2.2 二次引導(dǎo)程序設(shè)計

從F2833x的引導(dǎo)方式可以知道,SCI-A引導(dǎo)模式只能實現(xiàn)從外部加載程序到F2833x內(nèi)部并開始運行,并不能實現(xiàn)將程序燒寫到F2833x的FLASH內(nèi)。若要實現(xiàn)在線的FLASH燒寫必須采用二次引導(dǎo)的模式,即編寫一段二次引導(dǎo)程序。該程序可以實現(xiàn)F2833x與TM4C129x的數(shù)據(jù)通信功能,同時能將接收到的加載數(shù)據(jù)按照F2833x的指定格式燒寫到其內(nèi)部相應(yīng)的FLASH空間中去。通過閱讀F2833x的數(shù)據(jù)手冊發(fā)現(xiàn)TI公司提供了在線燒寫F2833x內(nèi)部FLASH的API函數(shù)。利用該函數(shù)可以實現(xiàn)在線燒寫F2833x程序的功能。二次引導(dǎo)程序首先初始化F2833x的時鐘,然后配置其SCI-A串口(實現(xiàn)與TM4C129x的通信),隨后等待TM4C129x的握手信號。收到握手信號后發(fā)送握手成功信號至TM4C129x,然后等待TM4C129x的燒寫命令。當(dāng)接收到燒寫命令后F2833x將先接收需要燒寫的加載程序,而后調(diào)用燒寫FLASH的API函數(shù)擦除FLASH的相應(yīng)區(qū)塊并完成最終的加載程序燒寫。具體的程序流程如圖3所示。

圖3 二次引導(dǎo)程序流程圖

二次引導(dǎo)程序在設(shè)計中有幾個需要特別注意的要點:

(1) 二次引導(dǎo)程序在配置編譯所需的CMD文件時需要將其工作模式配置成RAM工作模式,因為只有這樣專用的燒寫FLASH的API函數(shù)才能正常運行,否則會無法完成對FLASH的正常燒寫。

(2) 在需要燒寫的加載程序的CMD文件的地址空間分配應(yīng)與二次引導(dǎo)程序設(shè)定的燒寫地址相匹配,否則會產(chǎn)生燒寫成功但無法正常實現(xiàn)FLASH引導(dǎo)的問題。

(3) 在二次引導(dǎo)程序中一定要注意對CSM區(qū)塊的檢查及保護(hù)。因為該區(qū)塊是F2833x的保護(hù)區(qū)塊,一旦被燒寫了數(shù)據(jù)便會造成F2833x內(nèi)部FLASH的鎖死保護(hù)。如果不知道燒寫數(shù)據(jù)的內(nèi)容,F(xiàn)2833x芯片將無法再次進(jìn)行FLASH的燒寫,從而造成芯片的報廢。

(4) 二次引導(dǎo)程序是由TM4C129x通過F2833x的SCI-A引導(dǎo)模式加載到F2833x并運行的,因此這段程序是以SCI-A引導(dǎo)模式的數(shù)據(jù)格式存儲在TM4C129x內(nèi)部的,而F2833x編譯完成的數(shù)據(jù)格式無法直接用在SCI-A引導(dǎo)模式上,需要利用TI公司提供的hex2000軟件將其轉(zhuǎn)換成標(biāo)準(zhǔn)SCI-A引導(dǎo)格式后才能使用。

2.2.3 上位機(jī)程序設(shè)計

上位機(jī)程序采用Visual C++編制而成的,主要是完成對TM4C129x的網(wǎng)絡(luò)地址掃描,與TM4C129x建立起TCP連接,發(fā)出相關(guān)的控制指令,控制TM4C129x對F2833x進(jìn)行相關(guān)的操作(CSM保護(hù)塊檢查、FLASH區(qū)塊擦除等操作),將需要加載的程序通過TCP連接傳輸?shù)絋M4C129x上從而實現(xiàn)對F2833x的網(wǎng)絡(luò)加載和燒寫。該程序采用的是多進(jìn)程的體系架構(gòu),由獨立的通信進(jìn)程負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的傳輸,從而避免了單一進(jìn)程大數(shù)據(jù)量傳輸時界面會假死的現(xiàn)象。同時,為了保證傳輸數(shù)據(jù)的一致性,上位機(jī)程序與TM4C129x采用的是帶數(shù)據(jù)校驗的傳輸模式。傳輸?shù)拿繋瑪?shù)據(jù)均會回傳給上位機(jī)進(jìn)行數(shù)據(jù)校驗,當(dāng)出現(xiàn)數(shù)據(jù)不一致時將會給出報錯信息,進(jìn)一步對傳輸?shù)臄?shù)據(jù)起到了保護(hù)作用。

3 結(jié)束語

通過上述方法可實現(xiàn)對F2833x的網(wǎng)絡(luò)加載和燒寫,只需要一臺上位機(jī)通過一根網(wǎng)線就可以實現(xiàn)對F2833x的程序更新。該方法已經(jīng)在多型產(chǎn)品的伺服控制平臺上使用,應(yīng)用穩(wěn)定可靠、效果良好,進(jìn)一步改善了調(diào)試環(huán)境并簡化了調(diào)試步驟,具有很好的實際應(yīng)用和推廣價值。

猜你喜歡
程序功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
關(guān)于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達(dá)功能
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 亚洲视频一区| 91成人精品视频| 依依成人精品无v国产| 中文字幕66页| 亚洲国产理论片在线播放| 88国产经典欧美一区二区三区| 久久综合色播五月男人的天堂| 五月婷婷丁香色| 亚洲综合色婷婷| 国产一级妓女av网站| 91无码人妻精品一区二区蜜桃| 91美女视频在线| 国产嫩草在线观看| 欧美激情视频一区| 欧美性猛交xxxx乱大交极品| 日韩国产高清无码| 青青草国产免费国产| 欧美精品另类| 三区在线视频| 国产精品30p| 高清无码一本到东京热| 乱色熟女综合一区二区| 色爽网免费视频| 91小视频在线| 成人久久精品一区二区三区| 国产一区二区三区免费| 中文一级毛片| 日韩无码视频播放| 久久精品视频一| 日韩高清中文字幕| 欧美成人区| 欧美视频二区| 亚洲精品日产AⅤ| 粉嫩国产白浆在线观看| 欧美色图第一页| 色综合中文| 国产麻豆福利av在线播放| 中文字幕 欧美日韩| 国产不卡一级毛片视频| 制服丝袜无码每日更新| 91亚洲精选| 免费国产在线精品一区| 欧美人与牲动交a欧美精品| 国内精品免费| 91青青在线视频| 伊人网址在线| 中文无码精品A∨在线观看不卡 | 夜夜拍夜夜爽| 国产不卡在线看| 全部免费毛片免费播放| 日韩精品成人网页视频在线| 午夜啪啪福利| 亚洲精品黄| 国产成人av一区二区三区| 免费一级毛片在线播放傲雪网| 五月激情综合网| 欧美A级V片在线观看| 麻豆精品在线| 午夜欧美在线| 亚洲V日韩V无码一区二区| 园内精品自拍视频在线播放| 亚洲国产精品成人久久综合影院| av在线5g无码天天| 婷婷亚洲天堂| 国产精品无码AV中文| 无码啪啪精品天堂浪潮av| 亚洲天堂首页| 视频一区视频二区日韩专区 | h网址在线观看| 在线欧美a| 十八禁美女裸体网站| 美女视频黄又黄又免费高清| 黄色国产在线| 爱做久久久久久| 二级特黄绝大片免费视频大片| 亚洲综合婷婷激情| 男女性色大片免费网站| 中国一级特黄视频| 久草视频福利在线观看| 国产精品欧美日本韩免费一区二区三区不卡| 久久永久免费人妻精品| 熟女成人国产精品视频|