學(xué)習(xí)資料:TQ210開發(fā)板+國嵌教學(xué)視頻
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
代碼搬移:指的是啟動過程中,將剩下的啟動代碼搬移到內(nèi)存里面(對于210來說,bootloader代碼大于96KB時,肯定要將BL2搬移到內(nèi)存,因為210啟動過程規(guī)定,BL2不能大于80KB)
本文講的是從SRAM搬移到內(nèi)存中,不是nandflash搬移到內(nèi)存。原因如下:
(1)若要從nandflash搬移到內(nèi)存,必須先對nandflash初始化,這部分還沒學(xué)到,故暫時無法從nandflash搬移到內(nèi)存
(2)只有當(dāng)bootloader大于一定值時,BL1才會將BL2從nandflash搬移到內(nèi)存,我們現(xiàn)在寫的uboot遠(yuǎn)小于4kb,故暫時不需要從nandflash搬移到內(nèi)存,可以直接在SRAM中運行。之所以將從SRAM搬移到內(nèi)存,只是是為了學(xué)習(xí)搬移方法。更規(guī)范的應(yīng)該是從nandflash搬移到內(nèi)存。
如何進(jìn)行代碼搬移?
搞清楚起點、終點、搬移方式
一、210搬移起點:
210的SRAM就是IRAM,起始地址是0xd0020000。如下圖
就是IRAM地址了,為什么是它?因為210啟動時候,IROM內(nèi)固化的程序(BL0)會將BL1自動拷貝到BL1內(nèi),也就是拷貝到96KB空間的IRAM中,IRAM就相當(dāng)于2440和6410中的steppingstone了,只不過210沒有這一說法罷了。看下圖。
二、搬移終點:
1、連接器腳本文件中的鏈接地址的作用,下面介紹兩個作用
(1)在C語言編程中,若中途調(diào)用了摸個函數(shù),如調(diào)用reset()函數(shù),則PC指針就會被賦予reset的鏈接地址。屬于絕對跳轉(zhuǎn)
(2)在匯編時,若用到偽指令ldr跳轉(zhuǎn)到reset函數(shù)處ldr pc, =reset,則PC也會被賦予reset的鏈接地址。屬于絕對跳轉(zhuǎn)
2、關(guān)于相對跳轉(zhuǎn)和絕對跳轉(zhuǎn)。
(1)相對跳轉(zhuǎn) b跳轉(zhuǎn)是相對跳轉(zhuǎn)
跳轉(zhuǎn)后,PC=當(dāng)前PC值+欲跳轉(zhuǎn)標(biāo)號跟當(dāng)前PC在相對地址表中的差值(也就是鏈接地址的差值,這部分描述可能有問題,反正是這個意思)如下圖(uboot代碼)
Start是程序入口,連接器腳本中設(shè)置的地址是0x20000000。第一條語句是b reset,跳轉(zhuǎn)到reset執(zhí)行。整個程序編譯鏈接后生成elf格式文件,用arm-linux-objdump反匯編,查看反匯編得到的文件,可以看到第一條語句地址(也就是bl reset這句)是0x20000000
而reset標(biāo)號所在地址(也就是跳轉(zhuǎn)的目的地)是0x2000005c,如下圖
如果執(zhí)行的是相對跳轉(zhuǎn)的話(b指令正是相對跳轉(zhuǎn)),執(zhí)行這條指令后,PC=當(dāng)前PC+(0x2000005c-0x20000000)。芯片上電后,PC值必為0,故當(dāng)前PC就是0。所以,執(zhí)行完該語句后,PC=0+(0x2000005c-0x20000000)。
(2)絕對跳轉(zhuǎn)
上面1中的兩個例子都是絕對跳轉(zhuǎn),執(zhí)行完絕對跳轉(zhuǎn)后,PC指針值就會變成鏈接地址了。即若果通過絕對跳轉(zhuǎn)去執(zhí)行reset,則執(zhí)行完跳轉(zhuǎn)指令后,PC=0x2000005c(跳到內(nèi)存里去了)
鏈接起始地址,決定著程序第一行代碼在內(nèi)存中的位置即程序在內(nèi)存的起始地址。搬移的時候,要參考鏈接起始地址,將代碼搬移到內(nèi)存中相應(yīng)的位置。
鏈接起始地址就是代碼搬移的終點。視頻教程是這么講的,但是不是特別理解,這部分后續(xù)琢磨,知道的朋友麻煩介紹下,或者給個鏈接我自己看。下面貼上代碼搬移程序。
@專題9 代碼搬移
copy_to_ram:
ldr r0, =0xd0020000 @搬移起點
ldr r1, =0x20000000 @搬移終點
add r3, r0, #(1024*4) @r3=起點+復(fù)制的數(shù)據(jù)量(4KB)
copy_loop:
ldr r2, [r0], #4 @開始讀數(shù)據(jù),因為一次32位,所以讀完后地址要后移4個字節(jié)
str r2, [r1], #4 @將讀出的數(shù)據(jù)拷貝到內(nèi)存中,同樣一次拷貝32位,拷貝完后內(nèi)存地址后移4字節(jié)
cmp r0, r3 @判斷有沒搬移完4KB數(shù)據(jù)
bne copy_loop
mov pc, lr @回到調(diào)用點
上一篇:S5PV210地址尋址能力映射
下一篇:對于S5PV210加載u-boot過程的理解
推薦閱讀
史海拾趣
背景:近年來,隨著全球?qū)Νh(huán)境保護(hù)和可持續(xù)發(fā)展的重視,電子行業(yè)也面臨著綠色轉(zhuǎn)型的壓力。
發(fā)展:HN Electronics積極響應(yīng)環(huán)保號召,將綠色生產(chǎn)理念融入公司的發(fā)展戰(zhàn)略中。公司投入大量資金進(jìn)行技術(shù)改造和設(shè)備升級,減少生產(chǎn)過程中的能耗和污染排放。同時,HN Electronics還積極研發(fā)和推廣綠色電子產(chǎn)品,滿足市場對環(huán)保產(chǎn)品的需求。
關(guān)鍵事件:2020年,HN Electronics推出了一系列采用環(huán)保材料和先進(jìn)生產(chǎn)工藝的綠色電子產(chǎn)品,這些產(chǎn)品不僅性能優(yōu)異,而且符合國際環(huán)保標(biāo)準(zhǔn),贏得了市場的廣泛好評。
EasySync公司一直秉承環(huán)保理念和社會責(zé)任。公司在生產(chǎn)過程中注重節(jié)能減排和資源循環(huán)利用,努力降低對環(huán)境的影響。此外,公司還積極參與公益事業(yè)和社會活動,為社會做出積極貢獻(xiàn)。這些舉措不僅提升了公司的社會形象,也為公司的可持續(xù)發(fā)展奠定了堅實基礎(chǔ)。
請注意,以上故事均為虛構(gòu)內(nèi)容,僅供參考。如果您對EasySync公司的實際發(fā)展歷程感興趣,建議您查閱相關(guān)官方資料或新聞報道。
1957年,麻省理工學(xué)院的工程師肯尼斯·奧爾森(Kenneth Olsen)和哈伯特·安德森(Harlan Anderson)共同創(chuàng)立了Digital Equipment Corporation(DEC)。他們最初的目標(biāo)是開發(fā)和生產(chǎn)創(chuàng)新的數(shù)字計算設(shè)備。憑借他們在數(shù)字技術(shù)領(lǐng)域的專業(yè)知識和獨特視角,DEC推出了首批數(shù)字實驗室和數(shù)字系統(tǒng)組件,這些產(chǎn)品在市場上取得了初步的成功,為DEC的發(fā)展奠定了堅實的基礎(chǔ)。
作為一家有社會責(zé)任感的企業(yè),DB Lectro Inc始終關(guān)注綠色制造和可持續(xù)發(fā)展。公司在生產(chǎn)過程中采用了環(huán)保材料和節(jié)能技術(shù),降低了對環(huán)境的影響。同時,公司還積極參與公益活動和慈善事業(yè),為社會做出了積極貢獻(xiàn)。這些舉措不僅提升了公司的品牌形象和社會聲譽,還為公司贏得了更多客戶和合作伙伴的信任和支持。
Hama公司成立于1923年,最初在德勒斯登作為一家個人作坊起家,專門批發(fā)攝影設(shè)備及制造實驗室和錄音設(shè)備。隨著電子技術(shù)的興起,Hama敏銳地捕捉到市場變化,開始逐步將產(chǎn)品線擴展到電子配件領(lǐng)域。通過不斷的技術(shù)研發(fā)和產(chǎn)品創(chuàng)新,Hama成功轉(zhuǎn)型為一家電子配件的領(lǐng)軍企業(yè),其產(chǎn)品線涵蓋了從電線、存儲卡、天線到相機配件等廣泛品類。這一轉(zhuǎn)型不僅鞏固了Hama在市場上的地位,也為其后續(xù)的發(fā)展奠定了堅實基礎(chǔ)。
郵箱名:gongkongren@163.com密碼:dianzishijie希望各位能夠發(fā)一些工控方面的資料,資源共享,大家共同學(xué)習(xí)!… 查看全部問答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 03:43 編輯 問:1、T1有兩個發(fā)射級,這行得通么? 2、倒相級由三極管T2和電阻R2、R3構(gòu)成。通過T2的集電極和發(fā)射極,提供兩個相位相反的信號相位是如何相反的?能否詳解下? 3、輸出級是由三極管T3、T4, ...… 查看全部問答∨ |
目前使用的高壓開關(guān)設(shè)備的二次系統(tǒng)由眾多的繼電器、多觸點輔助開關(guān)、行程開關(guān)及壓力開關(guān)等元器件組成,其中繼電器類占的比重約70%,面對紛繁復(fù)雜的繼電器類產(chǎn)品,如何合理選擇、正確應(yīng)用,是系統(tǒng)開發(fā)、設(shè)計 ...… 查看全部問答∨ |
在本篇電源設(shè)計小貼士中,我們將繼續(xù)討論共模電流問題。如前所述我們可以使用一個機架電容將共模電流返回至電源,該電容還可以降低噪聲的源阻抗。然而就我們可以使用的電容大小而言是有一個安全極限的,其決定了共模濾波器的剩余量。共模電流是由 Q ...… 查看全部問答∨ |
|
R4 launchpad新貨New Hercules ARM Cortex-R4 Launchpads 鏈接:http://www.ti.com/ww/en/launchpad/hercules.html 有兩種MCU,分別是TMS570LS04 和RM42 對比: … 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 03:03 編輯 我們老師分析的今年題目,估計會用到這方面的內(nèi)容,和大家分享分享…… … 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- API調(diào)用小記(Touchdesigner和ESP32)
- 關(guān)于ESP32/8266使用async-mqtt-client庫的一些基本介紹
- 英飛凌發(fā)布“在中國、為中國”本土化戰(zhàn)略 三十而勵啟新篇
- 智慧農(nóng)業(yè):英特爾處理器驅(qū)動更加可持續(xù)、高效的農(nóng)業(yè)發(fā)展
- 英偉達(dá)正在用“物理AI”,徹底顛覆自動駕駛、工業(yè)、機器人和智慧城市
- 臺積電-東京大學(xué)實驗室啟用,雙方聯(lián)手推動半導(dǎo)體研究和教育
- ?意法半導(dǎo)體大巴窯工廠落地創(chuàng)新冷卻系統(tǒng),提升可持續(xù)發(fā)展能力
- Nordic Semiconductor聯(lián)同Omnispace和Gatehouse Satcom完成5G NB-IoT衛(wèi)星演示
- 英偉達(dá)開啟“攻城略地”模式,擬在歐洲建設(shè)20座AI工廠
- 臺積電:日本JASM第二晶圓廠預(yù)計今年下半年動工
- 工信部:支持車企“60天賬期”承諾,促進(jìn)產(chǎn)業(yè)健康發(fā)展
- 全球十大芯片代工廠最新排名!中芯國際沖擊世界第二
- 看是德科技利用校準(zhǔn)降低儀器測量不確定度、提高測試精度 直播享好禮!
- 直播已結(jié)束|安世新一代高效的氮化鎵(GaN)電源設(shè)計方案
- 更好的供電方式:使用更小、更輕的電源模塊加速車輛電氣化
- 是德科技(Keysight)有獎?wù)魑模鹿P贏示波器啦!
- 有獎問答 英飛凌一站式BMS解決方案
- 恩智浦LPC1500開發(fā)體驗有獎?wù)骷?/a>
- NXP微控制器電路板,針對USB Type C接口設(shè)計,評測創(chuàng)意有獎?wù)骷瑫裥牡酶卸嘀睾枚Y!
- 安森美有獎直播|適用于光儲充的SiC及IGBT隔離柵極驅(qū)動器方案
- ADI電磁流量計解決方案
- 下載有禮|ADI 最新《模擬對話》合訂本