上海婦科疾病研究所 上海女性不孕醫(yī)院 上海引產(chǎn)醫(yī)院 無(wú)痛引產(chǎn)痛不痛 上海人流醫(yī)院 白癜風(fēng)治療醫(yī)院 上海小兒腦癱醫(yī)院 上海女子醫(yī)院
好看的课外书,穿越小说完本

国产精品无码毛片AV_亚洲毛片精品在线_全球黄色短视频在线免费观看_亚洲一区二区爱av_成年人免费观看网址_欧美美女性爱喷水网址_亚洲毛片av无码不卡_国产无码视频在线观看_高清国语自产拍在线播放_女人午夜免费黄片

用戶(hù)名: 密碼:
主頁(yè) 設(shè)為首頁(yè) 加入收藏
      產(chǎn)品中心       技術(shù)中心       下載中心        社區(qū)新聞        誠(chéng)聘英才       大學(xué)計(jì)劃        關(guān)于我們       技術(shù)論壇
  您的當(dāng)前位置:ADSP開(kāi)源社區(qū) >> 技術(shù)中心 >> ADI操作系統(tǒng) 今天是:
技術(shù)中心  
SigmaDSP
SHARC
A2B音頻總線
Blackfin
ADI操作系統(tǒng)
ADSP-218X
TigerSAHRC
ADI DSP仿真器
產(chǎn)品導(dǎo)航
ADI DSP仿真器
SigmaDSP開(kāi)發(fā)板
ADI A2B總線開(kāi)發(fā)板
SHARC DSP開(kāi)發(fā)板
銷(xiāo)售網(wǎng)絡(luò)
ADI操作系統(tǒng)  
BF537處理器的代碼加載,啟動(dòng)模式和uboot引導(dǎo)的辨析
[ 作者:OP ] [ 來(lái)源:ADSP開(kāi)源社區(qū) ] [ 發(fā)布時(shí)間:2015-12-13 ]

因?yàn)樽罱救艘鲆粋(gè) bf537 程序的啟動(dòng)程序,主要研究了 uboot 的一些資料和 537 的引導(dǎo)模式的資料。下面談?wù)剬?duì) 537 的啟動(dòng)和加載一些理解。

在說(shuō) 537 的加載之前,有必要先要了解一下 537 的 ldr 文件的結(jié)構(gòu), ldr 文件的單元是許多 block, 每個(gè) block 塊都包含 10 個(gè)字節(jié)的文件頭,每個(gè) 10 字節(jié)的文件頭包含 4 字節(jié)的地址段, 4 字節(jié)的 COUNT (字節(jié)數(shù))段, 2 字節(jié)的標(biāo)志段。 Blackfin 的代碼加載模式以 flash 引導(dǎo)模式為例來(lái)描述:上電— > 復(fù)位— > 片內(nèi) bootrom 執(zhí)行,讀flash 的 0x0 地址,按照 block 頭中的 4 個(gè)字節(jié)地址,和字節(jié)數(shù),把 block 搬移到 ram 中指定的地址,如此往復(fù)。(前面省略了初始化代碼的執(zhí)行過(guò)程,因?yàn)楸救苏J(rèn)為它對(duì)解釋此過(guò)程沒(méi)有意義,反而容易迷惑,故省略),以上是代碼的加載過(guò)程,此過(guò)程跟 uboot 沒(méi)有一毛錢(qián)的關(guān)系。


啟動(dòng)方式跟代碼的加載方式?jīng)]有太大的聯(lián)系,所謂 8 中啟動(dòng)模式,只是處理器從何處開(kāi)始執(zhí)行或者說(shuō)是從何處加載執(zhí)行代碼而已,加載過(guò)程跟 flash 引導(dǎo)下加載類(lèi)似,都是按照 block 塊的結(jié)構(gòu)加載的,唯一的不同就是代碼的來(lái)源不同。

     

啟動(dòng)過(guò)程,這里就涉及到一些 uboot 的知識(shí)了,其實(shí)本人認(rèn)為如果設(shè)置成 Flash 引導(dǎo)模式的話(huà),根本不用uboot ,在這里 uboot 的作用就顯得很弱了,就只是一個(gè)更新系統(tǒng)的作用。下面慢慢說(shuō)來(lái),所謂 uboot 引導(dǎo),其實(shí)就是在應(yīng)用程序啟動(dòng)之前,先運(yùn)行 uboot , uboot 的強(qiáng)大功能在于更新系統(tǒng),就是程序下載(程序搬移)。為了能夠?qū)崿F(xiàn)程序下載的功能, uboot 首先要初始化一下處理器的一些寄存器,如設(shè)置時(shí)鐘頻率等,為下載功能代碼的運(yùn)行建立一個(gè)軟件環(huán)境。所以如此說(shuō)來(lái), uboot 的運(yùn)行就可以 這么描述:

(1)       調(diào)用一系列的初始化函數(shù)。

(2)       進(jìn)去命令循環(huán)(即整個(gè) boot 的工作循環(huán)),接受用戶(hù)從串口輸入的命令,然后進(jìn)行相應(yīng)的工作。(這里可以運(yùn)行一些調(diào)試命令和下載命令)

在第二步這里一般是有個(gè)等待時(shí)間的,等待時(shí)間到,沒(méi)有任何命令輸入, uboot 就自動(dòng)跳轉(zhuǎn)到應(yīng)用程序,完成所謂的引導(dǎo)。

個(gè)人認(rèn)為, uboot 的主要作用還是在下載程序,如果在等待時(shí)間內(nèi),什么命令都不輸入,就直接繼續(xù)往下運(yùn)行了,這時(shí) uboot 的作用其實(shí)并不大。所以 uboot 只是在系統(tǒng)啟動(dòng)前的一段代碼而已,這段代碼就是實(shí)現(xiàn)了程序下載功能(當(dāng)然你得輸入命令),就是系統(tǒng)的在線更新。

     

       其實(shí)代碼的加載,啟動(dòng)模式, uboot 的引導(dǎo)過(guò)程,這三者的關(guān)系更像是從微觀想宏觀的擴(kuò)展,要弄清 537 的程序的加載和整個(gè)系統(tǒng)的啟動(dòng)過(guò)程。不要把代碼的加載和 uboot 的引導(dǎo)弄混了,根據(jù)以上的分析,他們其實(shí)并沒(méi)有什么聯(lián)系。加載(以 Flash 引導(dǎo)為例)是從 flash 一個(gè)一個(gè) block 得往 ram 里面復(fù)制,此時(shí)這些工作是由 537 的片內(nèi)bootrom 做的。而 uboot 引導(dǎo)的主要完成的功能是,在系統(tǒng)需要更新時(shí),把新系統(tǒng)下載到 Flash 的制定區(qū)域內(nèi),此時(shí)這些工作是由 uboot 來(lái)完成的,在系統(tǒng)不需要更新時(shí), uboot 運(yùn)行完了就直接去運(yùn)行用戶(hù)程序了,此時(shí) uboot 是沒(méi)什么用的。


       以上是本人對(duì) 537 的程序加載, uboot 引導(dǎo)的理解,錯(cuò)誤之處,歡迎拍磚。

聯(lián)系我們 | 關(guān)于我們 | 免責(zé)聲明 | 誠(chéng)征英才 | 友情鏈接
Copyright 2019 All rights reserved  本網(wǎng)頁(yè)版權(quán)屬Open ADSP所有
北京海淀區(qū)中關(guān)村大街32號(hào)新中發(fā)市場(chǎng)3659 郵編100100
電話(huà) 18611096839 
粵ICP備14035876號(hào)-1