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

TMS320F28335平臺串口升級應用程序的方案實現

2019-06-20 10:31:23張劍平黃榮高偉松
電子技術與軟件工程 2019年5期
關鍵詞:程序功能系統

張劍平 黃榮 高偉松

摘要??? 本文介紹在TMS320F28335DSP處理器平臺下,通過串口實現在線升級應用軟件的一種方法。串口通訊遵循Ymodem通訊協議,借助微軟Window操作系統自帶的超級終端,即可實現應用升級。避開了TMS320F28335自帶BootLoader升級軟件需占用GPIO口的弊端;本文論述的方法可避免編寫上位機軟件,是一種便宜的方法。

【關鍵詞】TMS320F28335 串口升級 串口 Ymodem協議

TI公司的TMS320F28335 DSP具有32位TMS320C28XCPU和FPU處理器,片上FLASH、SARAM以及外設相比TMS320F2812有了進一步的擴展和增強,它是目前控制領域中的先進處理器,在電機控制、變頻器、不間斷電源以及電力線通信等系統中應用越來越廣泛。一般而言,DSP系統設計完成后,程序需要固化在片上FLASH。應用升級固化可通過JTGA接口、或利用其量產固化的內置BootLoader程序來實現。但這兩種方式都存在限制:利用前者需要打開產品,這對于產品的量產來說,無論從效率上還是產品的完整性上來說,都不是好的途徑;利用后者,需要配置額外的GPIO口作為啟動選項。然而在系統設計過程中,這些特定的啟動管腳往往有系統設計的需求,被占用后可能無法滿足系統的功能設計。針對上述的問題,本文提出了一種新的應用升級方式:定制啟動程序(IAP),IAP在系統上電之后運行,設置超時后跳轉到應用程序,在超時時間范圍內利用串口Ymodem協議,實現應用程序的升級。本文從系統運行流程開始分析,論述整個原理和實現步驟。

1 系統運行流程分析

1.1 FLASH引導過程分析

在進行IAP設計之前,首先了解TMS320F28335 DSP運行過程。當系統上電復位后,程序到復位向量0x3FFFC0位置開始程序執行,在復位向量處根據向量內容跳轉到片上ROM里面的BootROM位置執行初始化引導函數InitBoot,InitBoot完成對芯片的初始化,并調用模式選擇函數SelectBootMode來確定引導模式,選擇JumptoFLASH模式,程序退出BOOT轉向FLASH中0x33FFF6處執行程序,用戶需要在0x33FFF6開始程序的設計,系統從復位開始到轉向FLASH過程如圖1所示。

1.2 IAP設計思路

TMS320F28335從FLASH引導后,直接跳轉到0x33FFF6這個地址,執行應用程序。為了達到我們的設計目的,在0x33FFF6這個地址插入一個IAP程序。這個程序也是本文所論述的實現串口在線升級程序的產品端固件。插入這個固件之后,TMS320F28335從FLASH引導后不會直接跳轉到應用程序,而是先引導到IAP固件程序。這個固件固化在FLASH中,被執行之后,等待用戶的確認。設計一個3s的超時等待,如果用戶未確認,則超時后跳轉到應用程序。否則執行應用軟件

2 IAP固件原理和實現

2.1 運行過程分析

如圖3所示,IAP固件固化在FLASH中,入口地址為0x33FFF6。TMS320F28335從FLASH引導后,跳轉到UnsecuredFLASH中執行IAP程序。IAP程序必須包含以下幾個功能:

(1)串口通訊功能。接收用戶下發的應用程序;下文論述實現符合YMODEL協議的串口通訊功能。

(2)FLASH讀寫功能;該功能用于將下載的應用程序燒錄到FLASH中。但是TMS320F28335不支持代碼在FLASH中運行的同時操作FLASH,因此需要將FLASH操作的代碼拷貝到RAM中執行。

(3)自我復制功能;該功能即是(2)要求的功能。該功能通過copy_sections例程來實現。如圖2所示。

(4)跳轉到應用程序的功能。

綜合上述,IAP程序在FLASH中開始執行,code_start,wd_disable,Copy_sections例程。Copy_sections例程之后,完成將本身拷貝到UnsecuredRAM中執行。然后跳轉到Unsecured RAM繼續執行IAP程序,完成上述(1)、(2)、(4)功能。

因此,code_start,wd_disable,Copy_sections段例程是加載和運行都在FLASH中的。而c_init00開始的流程,是加載在FLASH中,但是運行在RAM中的。這個功能的實現是通過IAP程序生成時,CMD鏈接文件配置來實現的。下節將對此說明。

2.2 加載和運行配置

IAP程序固化在FLASHA扇區中,拷貝到RAM中執行。

(1)更改DSP2833x_SysCtrl.c文件。#pragmaCODE_SECTION(InitFlash,"ramfuncs");語句。使InitFlash編譯到.text段。

(2)更改DSP2833x_usDelay.asm文件。將函數DSP28x_usDelay的段描述符由.sect"ramfuncs"更改為.text。0

(3)更改DSP2833x_CodeStartBranch.asm文件。code_start函數中,跳轉到LB_c_int00;更改為LBcopy_sections;

(4)更改DSP2833x_CodeStartBranch.asm文件。wd_disable函數中,跳轉到LB_c_int00;更改為LBcopy_sections;

(5)Flash28335_API_V210加入到工程;

(6)將4532.DSP28xxx_SectionCopy_nonBIOS.asm加入到工程;

(7)修改.cmd文件。SECTIONS中加入:wddisable:>FLASHA,PAGE=0wddisable段原來描述在.text段中。

因為.text段被拷貝到RAM中執行。而wddisable需要在FLASH中執行。因此區別.text段單獨描述。

(8)修改.cmd文件。SECTIONS中加入:copysections:>FLASHA,PAGE=0

(9)修改.cmd文件。SECTIONS中加入:Flash28_API:

{

-lFlash28335_API_V210.lib(.econst)-lFlash28335_API_V210.lib(.text)

}

LOAD=FLASHB,

RUN=RAML0,LOAD_START(_Flash28_API_LoadStart),

LOAD_END(_Flash28_API_LoadEnd),RUN_START(_Flash28_API_RunStart),PAGE=0(10)8修改.cmd文件。.text段連接描

述更改為:

.text:LOAD=FLASHB,

RUN=RAML0,PAGE=0LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE(_text_size)修改之后,4532.DSP28xxx_SectionCopy_

nonBIOS.asm會將.text的段拷貝到_text_runstart初執行。該部操作在LBcopy_sections中完成。

(11)在main函數中,完成Flash28_API段的拷貝。_Flash28_API_LoadStart拷貝到_Flash28_API_RunStart。單獨拷貝Flash28_API段,是因為Flash28_API段沒有描述成.text段,因此不會在LBcopy_sections中完成拷貝。

2.3 程序的燒錄和跳轉

應用程序固化在FLASHC扇區中。為了實現跳轉。我們需要將應用程序的code_start代碼固化在FLASHC地址0x13E000處。因為需要更改應用程序的cmd文件。

MEMORY

{

...CINT00:origin=0x13E000,length=

0x000050

...

}

SECTION

{

...boot:>CINT00PAGE=0

{-lrts2800_fpu32lib(.text)

}

...

}

跳轉程序的實現:

typedefvoid(*pFunction)(void);

pFunctionJump_To_Application=(pFunction)0x13E000;

Jump_To_Application();

3 升級操作

通過JTAG接口將IAP程序固化到TMS28335芯片中。打開超級終端,配置IAP程序中對應的串口波特率,這里為38400bps,無校驗。系統上電,3s之內,輸入IAP程序中約定的升級密碼,這里為(“stop”),選擇傳送,發送文件,將目標代碼bin發送升級。如圖4所示。

4 總結

本文首先論述了TMS320F28335通過串口在線加載程序必要性和優越性。接著從TMS320F28335啟動流程開始分析,討論了固件和應用程序的連接位置。然后討論了固件的實現。通過本文的論述,實現了TMS320F28335固件設計的一種新思路。

參考文獻

[1]TI. TMS320x2833x, 2823x BOOT ROM Reference Guide(Literature Number: SPRU963A), 2007-Revised 2008.

[2]TI. Copying Compiler Sections From Flash to RAM on the TMS320F28xxx DSCs(Literature Number: SPRAAU8), 2008

[3]TI.TMS320F28335,28334,28332 Flash APIs For creating custom programming solutions for the TMS32F28335, 28334,28332 DSPs, Release version,2008.08.

猜你喜歡
程序功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 熟女视频91| 中国美女**毛片录像在线 | 麻豆国产在线观看一区二区| 911亚洲精品| 91区国产福利在线观看午夜| 国产精品妖精视频| 欧美另类第一页| 免费国产高清视频| 精品国产香蕉伊思人在线| 国内丰满少妇猛烈精品播| 一级看片免费视频| 久久性妇女精品免费| 国产亚洲精品va在线| 国产剧情国内精品原创| 国产女人爽到高潮的免费视频| 亚洲水蜜桃久久综合网站| 啦啦啦网站在线观看a毛片| 麻豆国产精品视频| 久久情精品国产品免费| 伊人久久婷婷五月综合97色| 欧美在线综合视频| 国产大全韩国亚洲一区二区三区| 日韩黄色在线| 思思99思思久久最新精品| 久久国产免费观看| 国产成人免费手机在线观看视频 | 99热线精品大全在线观看| 国产成人成人一区二区| 国产精品太粉嫩高中在线观看| 中文无码影院| 欧美成人免费午夜全| 亚洲成人网在线播放| 一区二区在线视频免费观看| 中文字幕永久在线看| 国产超碰一区二区三区| 欧洲亚洲欧美国产日本高清| 亚洲中文字幕av无码区| 久久久久青草线综合超碰| 色AV色 综合网站| 亚洲人成在线免费观看| 国产精品亚洲精品爽爽| 国产99视频在线| 毛片免费视频| 国产成人高清在线精品| 久久综合一个色综合网| 青青操国产视频| 国产99在线| 一级毛片高清| 2021国产v亚洲v天堂无码| 国产高清又黄又嫩的免费视频网站| 全免费a级毛片免费看不卡| 日本AⅤ精品一区二区三区日| 亚洲国产欧美中日韩成人综合视频| 国产精品.com| 一级爱做片免费观看久久| 91精品啪在线观看国产60岁| 精品伊人久久久香线蕉| 国产美女免费| 在线a视频免费观看| 四虎在线高清无码| 日韩欧美国产成人| 日韩欧美在线观看| 国产尤物在线播放| 日本午夜视频在线观看| 欧美日韩国产系列在线观看| 五月天在线网站| 久久www视频| 日本一本在线视频| 香蕉eeww99国产在线观看| 2020精品极品国产色在线观看| 亚洲综合香蕉| 国产精品99在线观看| 日韩精品亚洲精品第一页| 亚洲大尺码专区影院| 免费无码AV片在线观看国产| 久久精品国产999大香线焦| 无码免费视频| 国产99精品久久| 日本妇乱子伦视频| 国产91高清视频| 久久婷婷国产综合尤物精品| 成人无码一区二区三区视频在线观看|