国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

分頁燒寫Flash的多頁程序并行自舉方法

發布時間:2010-7-11 20:07    發布者:zealot
TI公司的DSP芯片TMS320Vc5410(簡稱5410)是性能卓越的低功耗定點DSP,在嵌入式系統中有著廣泛的應用。5410沒有自帶的片上非易失性存儲器,因此需要外部的非易失性存儲介質,如EPROM或FLASH,來存儲程序和數據。5410片內有64 K字RAM,由于在片內RAM運行程序比片外運行有高速度低功耗等顯著優點,通常上電后都需要從片外EPROM或Flash上加載程序到片內RAM,但是芯片自帶的自舉程序(簡稱BootLoader)只支持32 K字以內的外部程序加載,因此程序設計往往局限于32 K字空間內,限制了編程的靈活性,不能充分發揮5410的性能。當程序空問大于32 K字時,就需要自己編寫程序來實現自舉。下面首先介紹使用5410對Am29LV200BFlash存儲器進行程序分頁燒寫的方法,然后重點介紹利用Bootloader來編程實現多頁并行自舉引導的方法。

1 Am29LV200B Flash 存儲器的分頁燒寫

1.1 FIash 存儲器簡介

Am29LV200B(簡稱Flash)是AMD公司生產的Flash存儲器,主要特點有:3 V單電源供電,可內部產生高電壓進行編程和擦除操作;支持JEDEC單電源Flash存儲器標準;只需向其命令寄存器寫人標準的微處理器指令,具體編程、擦除操作由內部嵌入的算法實現,并且可以通過查詢特定的引腳或數據線監控操作是否完成;可以對任一扇區進行讀、寫或擦除操作,而不影響其他部分的數據。文中128K×16位Am29LV200B  Flash映射為5410的片外數據存儲空間,地址為:0x8000~0xFFFF,數據總線16位,用于16位方式的并行引導裝載。128K的Flash被分為7頁進行訪問。本文通過DSP的I/O端口向FPGA寫控制字,由FPGA控制Flash的換頁引腳對各個分頁進行訪問;以燒寫2個頁面為例,使用Flash的第1、2頁,初始化時選中第l頁。

1.2 Flash 存儲器的分頁燒寫   

Flash的頁面分配和相應的引腳控制如表1所列。關于Am29LV200B的擦除、寫、校驗等詳細操作。


從表1可以看到,通過對A16、A15等地址引腳的控制,可以實現Flash的頁面切換。在燒寫過程中,只要在指定頁面燒寫完預定空間后就對Flash進行換頁,然后將燒寫指針指向新的一頁的首地址,就可以繼續進行燒寫,當程序燒寫完成后需要將頁面換回到第1頁,在第1頁的FFFFH地址寫入8000H,這樣Bootloader可以從這一頁開始自舉。整個燒寫程序流程如圖1所示。


這里會出現一個問題:程序燒寫好后,雖然Bootloader可以自動加載程序,但是Bootloader怎樣在加載過程中自動換頁?下面詳細介紹利用片上Bootloader編程實現多頁程序并行加載的方法。

2 多頁并行加載的實現

實現多頁加載,關鍵問題是要讓Bootloader知道什么時候可以換頁;但是Bootloader是固化在5410片上ROM內的,無法對其進行編程。解決的方法是通過自己編寫一段“前導”加載程序(簡稱Loader)來實現加載中的換頁:首先將Loader和用戶程序都燒寫到Flash中,當系統上電后,Bootloader將Loader加載到片上并運行,然后Loader將Flash中的用戶程序加載到目標RAM空間。這個加載過程是用戶編程可控的,因此在需要換頁時,可以控制Flash進行換頁,加載完成后,Loader跳轉到用戶程序的人口地址處運行用戶程序。
  
2.1 BootLoader的并行自舉表結構和編程后的自舉表結構   

5410的并行加載過程以及生成并行自舉表的詳細方法請見參考文獻[1]、[3]。Bootloader使用圖2所示的并行自舉表來加載程序。Bootloader從表頭開始依次讀取自舉表,然后將相應的程序段加載到目標RAM,最后以程序段大小為0來結束自舉表的讀取,跳轉到用戶程序入口地址執行用戶程序。從圖2可以看到,Bootloader是以自舉表中的程序長度為0來結束自舉的,于是就可以利用這個特性,給Bootloader制造一個“假象”,讓Bootloader在加載完Loader程序后,認為程序已經加載完畢,然后開始運行Loader程序,繼續加載用戶程序。按照這個思路,可以建立圖3所示的自舉表。

圖3中的黑體字部分,是嵌入了Loader程序的自舉表,有了圖3這樣形式的并行自舉表,系統就可以實現多頁程序的并行自舉。建立這樣的自舉表很簡單,只需要將hex500格式轉換工具生成的Loader的并行自舉表和用戶程序的并行自舉表按圖3給定的格式,通過簡單的文件操作合并在一起就可以了。注意:Loader程序要占用一部分RAM空間,用戶程序空間不能和Loader的RAM空間重疊在一起。


2.2 Loader程序的具體實現


下面以分布在2個FLASH頁面的程序為例,給出5410并行自舉的示例程序。程序中,當I/O端口5寫人數據O時,選中Flash第1頁;寫1時選中第2頁。程序里用黑體字標出的注釋部分,是Loader程序設計的重點或難點。

示例程序中,DSP上電后,Bootloader將Loader程序加載到RAM中,然后執行Loader程序:Loadelr程序從Flash第1頁的8080H開始讀取用戶程序自舉表,當Flash讀取計數值超過31 K時,將Flash切換到頁面2,繼續加載,自舉完成后,跳轉到用戶程序入口地址執行用戶程序。在編寫自舉程序過程中,有這樣幾個問題需要注意:   

①在換頁時,一般情況下程序段都會跨越兩個頁面,因此在確定需要換頁時要計算出第1頁和第2頁分別要加載的段長度。   

②整個用戶程序段開始時有2個字的入口信息,每一個程序段都有3個字的段信息,因此需要在Flash讀取計數時給予修正,才能正確加載數據。   

③在確定需要換頁時要將換頁標志置為1,換頁后要將換頁標志置為0,而且換頁后要將數據讀取指針指向第2頁的開頭地址。   

如果要使用本文的示例程序,一定要將Loader程序燒寫到Flash第1頁8000H的位置,用戶程序段燒寫到8080H以后的位置。再次提醒,Loader程序加載到RAM中的地址,不能和用戶程序段加載到RAM中的地址重疊。例如Loader使用了RAM中的7F80H~8000H這段空間,則用戶程序不能使用這段空間,否則會出現錯誤。Loader的自舉流程如圖4所示。


3  總 結

要實現5410的多頁程序并行自舉,有如下幾個步驟:   

①根據用戶程序的需求以及實際使用Flash的分頁設置,參考第2部分提供的思路和例子編寫Loader程序;   

②使用hex500代碼轉化工具分別生成Loader程序和用戶程序的自舉表;   

③將兩個自舉表按圖2的格式生成一個新的自舉表,再使用第1部分介紹的方法將新的自舉表分頁燒寫到Flash上。   

使用本文介紹的方法,通過多次試驗,系統上電后,能夠很好地實現2個頁面程序的并行自舉。雖然是以2個頁面為例介紹FLASH燒寫和并行自舉的方法,但是對于2頁以上的程序燒寫和并行自舉同樣適用,只需要進行一些細微的改動即可。本文提供的方法以不到128字的RAM空間代價,在5410上實現了將大于32 K字的程序并行自舉到片上RAM,大大提高了編程的自由度和程序的運行速度,降低了系統功耗。這個方法有很強的通用性,可以在很多存在類似問題的DSP芯片(5409、5416等)上進行應用,具有較高的實用價值。
本文地址:http://m.qingdxww.cn/thread-14970-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
mrsh123 發表于 2010-7-12 15:04:58
很好的建議
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 香蕉视频在线观看男女 | 欧美一级在线视频 | 日本高清免费一本视频在线观看 | 一级做a爰片毛片 | 老人毛片 | 国产精品国产三级国产专区不 | 国产成人99久久亚洲综合精品 | 三级福利视频 | 91精品视频免费在线观看 | 欧美视频精品一区二区三区 | 日韩国产成人精品视频人 | 四虎影视永久免费观看地址 | 一级毛片特黄久久免费看 | 国产一二三四区在线观看 | 成人午夜一区二区三区视频 | 日本精品网站 | 中文字幕一区二区三区久久网站 | 麻豆xxxxhd videos| 自拍视频国产 | 成年网站视频在线观看 | 四虎国产精品免费久久影院 | 日本www视频 | 中文字幕一区2区3区 | 天堂激情| 黄色免费观看视频网站 | 色老头综合免费视频 | 日韩男人的天堂 | 四虎影视在线麻豆国产 | 国产小视频网站 | 九九热视频在线 | 春日迟迟再出发综艺在线观看免费 | 日韩精品永久免费播放平台 | 亚洲成在人线综合导航下载 | 日本免费看黄 | 日本高清黄色网站 | 狠狠操穴| 亚洲综合色秘密影院秘密影院 | 八戒八戒看片在线观看网 | 悄悄地喜欢你电视剧免费观看 | 四虎影院色 | 麻豆精品一区二区三区免费 |