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
主站蜘蛛池模板: 国产资源免费观看| 天天做天天爱夜夜爽毛片毛片| 欧美成人A视频| 国产在线精彩视频二区| 4虎影视国产在线观看精品| 国产探花在线视频| 久久亚洲中文字幕精品一区| 三上悠亚在线精品二区| 日韩黄色精品| 日本人妻一区二区三区不卡影院| 亚洲日韩日本中文在线| 国产精品免费露脸视频| 国产另类视频| 久久伊人色| 国产黄色片在线看| 激情五月婷婷综合网| 国产二级毛片| 欧美成人午夜在线全部免费| 国产第一页亚洲| 亚洲成a人片77777在线播放| 亚洲欧美在线看片AI| 国产91全国探花系列在线播放| 伊人久综合| 久久亚洲精少妇毛片午夜无码| 久久国产精品电影| 精品久久久久无码| 欧美一级高清片久久99| 呦视频在线一区二区三区| 伊人中文网| 亚洲最新地址| 日本91视频| 免费看的一级毛片| 亚洲国产成人综合精品2020| 激情综合五月网| 国产综合亚洲欧洲区精品无码| 日本五区在线不卡精品| 亚洲视频无码| 中文无码精品a∨在线观看| 高清无码一本到东京热| 伊人蕉久影院| 国产第三区| 欧美一区二区自偷自拍视频| 综合人妻久久一区二区精品 | a毛片在线播放| 丰满的熟女一区二区三区l| 国产成人精品一区二区不卡| 麻豆精选在线| 久久香蕉国产线看精品| 亚洲中文字幕日产无码2021| 亚洲国产精品美女| 在线观看无码a∨| av无码一区二区三区在线| 国产女人喷水视频| 三上悠亚精品二区在线观看| 国产69精品久久久久妇女| 亚洲av无码成人专区| 国产欧美亚洲精品第3页在线| 欧美国产综合视频| 欧美中文一区| 女人一级毛片| 免费视频在线2021入口| 成人精品在线观看| 国产美女主播一级成人毛片| 免费A级毛片无码免费视频| 久久性妇女精品免费| 欧美一道本| 亚洲av无码牛牛影视在线二区| 欧美成在线视频| 免费观看国产小粉嫩喷水| 欧美色香蕉| 91福利一区二区三区| 色窝窝免费一区二区三区| 又爽又大又光又色的午夜视频| 自拍亚洲欧美精品| www.99在线观看| 欧美 亚洲 日韩 国产| a级毛片网| 欧美日本中文| 国产色爱av资源综合区| 女人18毛片久久| 日本在线免费网站| 国产亚洲欧美在线中文bt天堂|