《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TMS320VC54x系列DSP的用戶Bootloader設計
TMS320VC54x系列DSP的用戶Bootloader設計
來源:微型機與應用2012年第6期
張小莉
(海軍計算技術研究所, 北京100841)
摘要: TMS320VC54x系列DSP的內部ROM固化了一個稱為Bootloader程序。在DSP上電時Bootloader將外部Flash中的用戶程序搬移到DSP的片上RAM或片外RAM程序區中,并將程序指針指向用戶程序運行時的首地址執行。在16 bit并行自舉方式下,DSP提供的這個Bootloader程序要求用戶程序代碼長度不能超過32 KB。文介紹了一種用戶Bootloader的設計方法,通過二次自舉可實現對應用程序代碼長度超過32 KB的加載。
Abstract:
Key words :

摘  要: TMS320VC54x系列DSP的內部ROM固化了一個稱為Bootloader程序。在DSP上電時Bootloader將外部Flash中的用戶程序搬移到DSP的片上RAM或片外RAM程序區中,并將程序指針指向用戶程序運行時的首地址執行。在16 bit并行自舉方式下,DSP提供的這個Bootloader程序要求用戶程序代碼長度不能超過32 KB。文介紹了一種用戶Bootloader的設計方法,通過二次自舉可實現對應用程序代碼長度超過32 KB的加載。
關鍵詞: TMS320VC54x;數字信號處理器;自舉;二次自舉

    TMS320VC54x系列DSP上電時,需要通過掩膜在DSP片上ROM的Bootloader(自舉)程序完成對用戶應用程序的加載過程,即DSP上電后自動將固化在Flash中的應用程序讀入到DSP的片上RAM或片外RAM映射成的存儲區間的一個過程[1]。由于片上Bootloader程序在外擴Flash并行自舉方式下,用戶應用程序可執行代碼長度不能超過32 KB,所以在實際應用中常常會遇到可執行代碼超過32 KB的問題。因此,用戶必須設計自己的Bootloader程序,通過二次自舉的方法完成對應用程序的自舉。
1 TMS320VC54x系列DSP的自舉
1.1 自舉方式

    TI公司的TMS320VC54x系列DSP所提供的自舉功能非常強大,它支持多種自舉方式,可以滿足用戶多種不同的需求。
    這些方式包括串行口(標準串口、時分串口、緩沖串口)輸入方式、并行口輸入方式、HPI口輸入方式、I/O口等方式。此外,按照數據進入DSP時的字長又分為8 bit方式和16 bit方式[2]8-11。
1.2 自舉過程
    當MP/MC=0時,TMS320C54x被置于微計算機模式。上電或復位時,程序指針指向片內ROM區的0xff80單元。該單元放置了一條跳轉指令,使程序跳轉到0xf800單元,而0xf800單元的內容就是Bootloader引導程序的起始地址。Bootloader將存放在外部Flash中的應用程序搬移到DSP內部或外部的RAM區,搬移完成后跳轉到該程序的入口處執行。存放在外部Flash的用戶程序與一些必要的引導信號組合在一起稱為自舉表。自舉表內容不僅包括了欲加載的各段代碼,而且包括各段代碼長度、各代碼段存放的目標地址、程序入口地址等信息。TMS320VC54x 系列DSP的自舉表結構[3]如表1所示。

2 用戶Bootloader設計
2.1 外擴Flash并行自舉的局限性及解決方法

    采用外擴Flash的16 bit并行自舉是一種比較方便的使用方式。由于TMS320VC54x DSP系列CPU的數據空間只有64 KB,其中低端32 KB(地址從0000h-7fffh)映射到內部,映射到外部數據空間的只有高端32 KB(地址從8000h-ffffh)。TI掩膜自舉程序的處理方式是僅在這32 KB空間內進行尋址搬移[4]。如果用戶應用程序超過了32 KB,則無法完成自舉過程。
    文中設計的TMS320VC5410A目標平臺采用的Flash為39VF800,存儲容量512 KB×16 bit,用來存儲超過32 KB的用戶主程序。由于TI的5410 ADSP的外部數據空間只有32 KB(地址從8000h-ffffh)。因此,將Flash分為16頁,每頁32 KB,重用8000h-ffffh地址空間。頁編號從0開始,在訪問Flash時需要先指定頁號,然后讀取數據。將用戶自舉程序放在Flash上電默認頁(即第0頁)的最后2 KB,因此需要在Flash的第0頁的ffffh位置寫上F800h。用戶自舉程序從F800h開始連續存放。fffdh中存放主程序常用區起始頁,供Bootloader程序尋址,Flash資源分配示意如表2所示。

2.2 二次自舉
    所謂二次自舉是指上電時CPU片上自舉程序首先將用戶的自舉程序搬移到片內RAM中運行,用戶自舉程序取得控制權后,再將用戶的應用程序自舉到RAM中運行。由于用戶自舉程序是自己編制的,在需要時可以控制Flash換頁,因此也就突破了32 KB的限制。
2.3 可自舉文件的生成
    用戶的自舉過程完全仿照TI的處理方法,只是增加了處理超過32 KB時的尋址切換問題。首先,利用CCS5000的集成開發環境編寫調試自舉程序和應用程序,并生成 .out文件[5]。然后利用TI公司提供的Hex轉換工具Hex500.exe程序將.out文件轉換為ASCII碼文件,生成的ASCII碼文件是一個嚴格按照自舉表格式排列的可執行代碼。同時生成的還有該文件的MAP文件,可以從MAP表中找到程序的入口地址[2]352-380,用戶需將ASCII碼文件進一步轉換為二進制文件,最后,將二進制的用戶自舉程序和用戶主程序分別燒寫到Flash中相應的位置(如表1所示)即可。
    可以利用編程器對Flash進行燒寫。此外,CCS5000的集成開發環境提供了豐富的BIOS函數,使得文件讀寫變得極為方便。用戶也可以自己編寫Flash的文件燒結程序,并通過仿真器將用戶程序燒制到Flash中。
2.4用戶Bootloader實現
    如圖1所示,用戶的自舉程序需要完成CPU初始化、自舉表格式實現、Flash讀寫操作、Flash分頁切換等工作。當地址增加由0xffffh變為0x0000h時,則表明地址溢出,需要換頁。自舉程序從數據空間讀取用戶主程序數據寫入到程序空間,搬移完畢后,用戶自舉程序將控制權交給用戶主程序,從而完成自舉過程。

 

 

    TMS320VC54x系列DSP具有低功耗、高速度和多總線結構,在嵌入式開發中具有廣泛的應用。本文介紹的二次自舉方法,可以很好地解決用戶程序代碼超過32 KB的問題,這種方法具有較好的通用性和實用性,對DSP的技術開發人員有一定的參考啟發。
參考文獻
[1] 張勇,陳天麒.C/C++語言硬件程序設計——基于TMS320VC54x系列DSP[M].西安:西安電子科技大學出
版社,2003:205-207.
[2] 劉益成.TMS320VC54x DSP應用程序設計與開發[M]. 北京:北京航空航天大學出版社,2002.
[3] 自動化在線. TMS320VC54x DSP在線燒寫Flash存儲器并實現自舉引導的方法[J/OL]. (2009-4-21)[2011-11-25].http://www.autooo.net/classid124-id45154.html.
[4] 鄭紅,吳冠.TMS320VC54x DSP應用系統設計[M].北京:北京航空航天大學出版社,2002.
[5] 尹勇,歐光軍,關榮鋒.DSP集成開發環境CCS開發指南[M].北京:北京航空航天大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜综合激情| 美女啪啪无遮挡免费久久网站| 亚洲欧美日韩一区在线观看| 亚洲人成小说网站色在线| 国外成人在线视频| 国产女精品视频网站免费| 欧美色视频一区| 国产精品国产三级国产普通话三级| 欧美精品 国产精品| 欧美大色视频| 欧美激情1区2区| 欧美成人精品1314www| 模特精品裸拍一区| 欧美成人精品福利| 欧美激情视频在线播放| 欧美电影在线免费观看网站| 欧美成人影音| 欧美精品一区二区三区蜜桃| 欧美日本一区| 欧美性色aⅴ视频一区日韩精品| 欧美日韩福利在线观看| 欧美日韩一区二区三区| 欧美午夜女人视频在线| 国产精品久久久久99| 国产伦精品一区二区三区四区免费| 国产情人节一区| 国外视频精品毛片| 亚洲国产精品第一区二区三区| 亚洲欧洲一区二区三区在线观看| 亚洲精品一区二区三区蜜桃久 | 国产综合av| 在线播放国产一区中文字幕剧情欧美 | 国产欧美视频在线观看| 国产深夜精品福利| 激情综合久久| 亚洲激情国产| 一本色道久久综合亚洲精品不| 亚洲一级黄色| 久久精品国产亚洲5555| 亚洲日本va午夜在线影院| 一区二区三区毛片| 欧美一区二区三区免费大片| 久久久免费精品视频| 欧美成人激情视频| 欧美午夜精品久久久| 国产亚洲一区在线| 91久久中文| 亚洲在线成人| 亚洲国产成人不卡| 亚洲天堂成人在线视频| 久久精品视频免费| 欧美另类一区| 国产日韩欧美亚洲| 亚洲激情在线观看视频免费| 亚洲主播在线观看| 亚洲激情av| 亚洲在线中文字幕| 久久躁日日躁aaaaxxxx| 欧美日韩午夜在线| 国内自拍亚洲| 在线视频日韩精品| 久久精品国产久精国产一老狼| 一区二区av| 久久免费视频网站| 欧美日韩日韩| 激情自拍一区| 亚洲自拍电影| 99精品视频免费| 久久精品欧美| 欧美四级在线观看| 伊人久久久大香线蕉综合直播| 夜夜夜精品看看| 亚洲国产日韩在线一区模特| 亚洲中字黄色| 欧美电影在线| 国产一区二区三区奇米久涩| 亚洲美女区一区| 亚洲第一中文字幕| 午夜精品国产精品大乳美女| 免费欧美在线视频| 国产精品一区二区男女羞羞无遮挡 | 国产农村妇女精品一区二区| 亚洲日本aⅴ片在线观看香蕉| 欧美一区二区三区四区夜夜大片| 在线一区观看| 美女91精品| 国产日韩欧美精品一区| 一本色道久久精品| 亚洲免费观看高清完整版在线观看熊| 久久精品噜噜噜成人av农村| 欧美体内she精视频在线观看| 亚洲成色999久久网站| 欧美在线free| 欧美一区二区国产| 欧美午夜电影网| 亚洲精品视频中文字幕| 亚洲激情在线播放| 久久久人成影片一区二区三区| 国产精品福利av| 夜夜嗨av一区二区三区中文字幕| 亚洲肉体裸体xxxx137| 久久综合九色综合欧美就去吻| 国产麻豆精品在线观看| 亚洲图片激情小说| 一本色道综合亚洲| 欧美日韩1234| 亚洲人成在线观看| 亚洲巨乳在线| 欧美美女喷水视频| 亚洲国产小视频| 亚洲人成高清| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产亚洲欧美一区| 午夜在线视频观看日韩17c| 性欧美1819性猛交| 国产精品色网| 亚洲欧美激情诱惑| 香蕉久久夜色精品国产| 国产精品福利片| 亚洲性xxxx| 欧美一级视频| 国产视频一区二区三区在线观看| 亚洲一区二区久久| 亚洲欧美综合另类中字| 国产精品免费视频xxxx| 亚洲影视在线播放| 欧美一级午夜免费电影| 国产精品乱码一区二区三区| 亚洲无亚洲人成网站77777| 亚洲嫩草精品久久| 国产精品老牛| 午夜久久久久久| 欧美在线一级va免费观看| 国产情人节一区| 欧美中文日韩| 男人的天堂亚洲在线| 91久久香蕉国产日韩欧美9色 | 久久精精品视频| 国产亚洲人成网站在线观看| 欧美专区日韩专区| 蜜臀a∨国产成人精品| 亚洲韩日在线| 亚洲一区二区少妇| 国产日韩欧美高清免费| 亚洲国产福利在线| 欧美国产另类| 在线综合欧美| 久久成人这里只有精品| 在线高清一区| 一区二区欧美日韩| 国产精品一区二区在线| 欧美在线一区二区| 欧美激情久久久久久| 999在线观看精品免费不卡网站| 亚洲欧美高清| 国产主播一区二区| 99日韩精品| 国产乱码精品一区二区三区av| 久久精品女人的天堂av| 欧美韩国日本综合| 在线亚洲免费视频| 久久综合久久88| 日韩一级免费| 久久精品日韩欧美| 亚洲精品视频啊美女在线直播| 午夜在线观看欧美| 在线观看一区欧美| 亚洲一区精彩视频| 一区二区在线观看视频在线观看| 99精品欧美一区二区三区综合在线 | 在线一区视频| 久久综合给合久久狠狠色 | 亚洲天堂av高清| 国产亚洲欧美色| 99riav国产精品| 国产日韩视频| 日韩一级精品视频在线观看| 国产精品亚洲精品| 日韩一区二区精品葵司在线| 国产精品一区二区黑丝| 亚洲欧洲日本国产| 国产美女扒开尿口久久久| 亚洲精品在线电影| 国产欧美综合在线| 亚洲图片欧洲图片日韩av| 国产资源精品在线观看| 亚洲午夜精品17c| 尤物yw午夜国产精品视频明星| 在线一区二区三区四区五区| 黑人巨大精品欧美一区二区 | 激情欧美日韩一区| 亚洲男人的天堂在线| 亚洲国产成人在线播放| 香蕉久久夜色精品| 亚洲理伦电影| 免费中文字幕日韩欧美| 欧美亚洲视频在线看网址| 欧美日韩一区自拍| 亚洲精品欧美一区二区三区| 国产一区二区三区直播精品电影|