<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò )與存儲 > 牛人業(yè)話(huà) > ARM11 S3C6410系列教程之三:內存使用

ARM11 S3C6410系列教程之三:內存使用

—— ARM11S3C6410系列教程之三內存使用
作者:Machinnneee 時(shí)間:2013-12-24 來(lái)源:電子產(chǎn)品世界 收藏

  當在S3C6410跑操作系統的時(shí)候,我們不太會(huì )注意S3C6410的使用情況,但是,當我們做裸板測試時(shí),該處理器的8K的片內的使用就不得不注意,一旦編寫(xiě)的程序大小超過(guò)了片內的大小,我們就不能得到正確的結果,究其原因,我們先看一下S3C6410的啟動(dòng)過(guò)程。

本文引用地址:http://dyxdggzs.com/article/203124.htm

  S3C6410如果選用啟動(dòng),在我們燒寫(xiě)裸板程序是,先將程序燒寫(xiě)至中,S3C6410通過(guò)硬件將中前8K的程序完整復制到S3C6410片內內存中。若裸板程序較小,程序可以正常運行,若果程序超過(guò)了8K,那么裸板測試程序不能完整的復制到片內內存,使得程序出現未知的結果。這時(shí),我們需要關(guān)注S3C6410的各種內存的使用情況了。

  我們知道,在一個(gè)程序文件中,擁有代碼段、數據段和bss段,而一個(gè)程序的bin文件中是沒(méi)有bss段,因此,在程序的bin文件中主要完成:

 ?、儆布某跏蓟?br />  ?、?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/DDR">DDR的初始化
 ?、跾3C6410程序的重定位
 ?、芸截惓绦蛑?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/DDR">DDR
 ?、萸宄?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/DDR">DDR中bss段
 ?、蕹绦蜴溄又罝DR中

  為進(jìn)一步說(shuō)明啟動(dòng)過(guò)程,現在進(jìn)行詳細的說(shuō)明:

  S3C6410為NANDflash啟動(dòng),同時(shí)S3C6410外掛DDR,這樣,就能解決程序超過(guò)8K之后的正常運行。三者之間的連接示意圖如下圖所示:

  我們知道,S3C6410啟動(dòng)的時(shí)候,將NANDflash中前8K的程序完整拷貝至S3C6410片內內存中,在這8K程序中,必須完成硬件初始化、DDR初始化和程序從NANDflash中拷貝到DDR中,這樣才能保證S3C6410cpu程序可以跳轉到DDR,保證程序的順利進(jìn)行。在這過(guò)程中會(huì )涉及到程序的鏈接地址和程序的重定位方面的知識,如果你對這方面知識不熟悉,請查閱該方面的知識。

  三者之間的操作步驟如下:

  1、系統上電,S3C6410為NANDflash啟動(dòng),硬件自動(dòng)將NANDflash中前8k的程序復制到S3C6410片內內存中;

  2、系統從S3C6410片內內存0地址開(kāi)始執行,此時(shí)程序需要完成DDR初始化、將bin程序從S3C6410片內內存或者NANDflash拷貝到DDR鏈接地址起始位置;

  3、將NANDflash程序拷貝到DDR中,通過(guò)程序重定位和鏈接到DDR鏈接地址開(kāi)始位置(此時(shí)注意,在程序的編寫(xiě)中需要用位置無(wú)關(guān)跳轉指令進(jìn)行編寫(xiě),否則程序會(huì )因為跳轉后找不到鏈接起始地址和變量而出現錯誤)

  4、當系統完成以上操作后,通過(guò)位置相關(guān)指令將PC值鏈接到DDR重定位位置,完成程序的運行(注意此時(shí)應使用位置相關(guān)指令完成PC值的跳轉,若使用位置無(wú)關(guān)指令,則程序一直循環(huán)在S3C6410片內內存中)。



關(guān)鍵詞: ARM11 DDR NANDflash 內存

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>