娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月21日(星期六)

2020年12月21日 | TQ210學(xué)習(xí)筆記——uboot代碼搬移

發(fā)布者:幸福約定123 來源: eefocus關(guān)鍵字:TQ210  uboot  代碼搬移 手機看文章 掃描二維碼
隨時隨地手機看文章

學(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)用點


關(guān)鍵字:TQ210  uboot  代碼搬移 引用地址:TQ210學(xué)習(xí)筆記——uboot代碼搬移

上一篇:S5PV210地址尋址能力映射
下一篇:對于S5PV210加載u-boot過程的理解

推薦閱讀

在http://blog.csdn.net/qq_29344757/article/details/73479924文章中介紹了STM32的時鐘體系,現(xiàn)在以STM32標(biāo)準(zhǔn)外設(shè)庫SetSysClockTo72()函數(shù)為例,介紹關(guān)于RCC的編程。有了前面文章的基礎(chǔ),學(xué)習(xí)RCC已經(jīng)不再那么艱難枯燥了,至少我是這么覺得的。SetSysClockTo72(void)函數(shù)是我們使用外設(shè)庫時默認(rèn)的系統(tǒng)時鐘設(shè)置函數(shù)。 如上圖的標(biāo)注,該函數(shù)最核心的功能也就...
以往,江西傳統(tǒng)城鎮(zhèn)配電網(wǎng)項目立項往往憑借個人工作經(jīng)驗,規(guī)劃線下收資,數(shù)據(jù)層層人工報送,這種傳統(tǒng)模式給各專業(yè)項目申報人員和評審人員帶來巨大工作量,并且還可能帶來配網(wǎng)規(guī)劃數(shù)據(jù)歸口不統(tǒng)一、問題不清晰、無閉環(huán)管控、無法精準(zhǔn)立項等諸多問題。 城鎮(zhèn)配電網(wǎng)如何突破這一瓶頸呢?國網(wǎng)江西電科院積極樹立互聯(lián)網(wǎng)思維,全面梳理配網(wǎng)規(guī)劃業(yè)務(wù)需求、業(yè)務(wù)...
vivo 和蔡司正式宣布了他們的戰(zhàn)略全球影像合作伙伴關(guān)系。 幾天前,vivo 暗示了雙方的合作關(guān)系。雙方預(yù)計將在 12 月 29 日展示其首款產(chǎn)品,屆時 vivo X60 系列有望正式使用其中的技術(shù)。根據(jù) vivo 在其網(wǎng)站上發(fā)布的聲明,雙方將組建一個聯(lián)合研發(fā)計劃,稱為 vivo 蔡司成像實驗室。該計劃將專注于為移動成像技術(shù)開發(fā)創(chuàng)新的解決方案。此外,該計劃...
三星Galaxy S系列旗艦預(yù)計將于明年2月推出,近日其高端機型Galaxy S22 Ultra被再次曝光,展示了其背部造型和設(shè)計。爆料者Roland Quandt在推特上分享了他的最新發(fā)現(xiàn),其中包括Galaxy S22 Ultra的站立照片,據(jù)稱來自英國零售連鎖店。圖片展示了一個帶有略微彎曲邊緣的矩形設(shè)計,這與設(shè)備早先的渲染是一致的。現(xiàn)在,從最新的消息來看,這款手機似乎會有...

史海拾趣

問答坊 | AI 解惑

請大家關(guān)注本版的公共郵箱

郵箱名:gongkongren@163.com密碼:dianzishijie希望各位能夠發(fā)一些工控方面的資料,資源共享,大家共同學(xué)習(xí)!…

查看全部問答∨

基于51單片機的車用數(shù)字儀表設(shè)計與實現(xiàn)

基于51單片機的車用數(shù)字儀表設(shè)計與實現(xiàn)…

查看全部問答∨

三極管

某三極管工作在放大區(qū),如果當(dāng)IB從11μA增大到21μA時,IC從2mA變?yōu)?mA,那么它的β約為    C      。 83                 B. 91     ...…

查看全部問答∨

模電的,門為你敞開著,進(jìn)吧,咱問問!!!!

本帖最后由 paulhyde 于 2014-9-15 03:43 編輯 問:1、T1有兩個發(fā)射級,這行得通么?  2、倒相級由三極管T2和電阻R2、R3構(gòu)成。通過T2的集電極和發(fā)射極,提供兩個相位相反的信號相位是如何相反的?能否詳解下? 3、輸出級是由三極管T3、T4, ...…

查看全部問答∨

高壓開關(guān)應(yīng)用中的繼電器如何選擇?

         目前使用的高壓開關(guān)設(shè)備的二次系統(tǒng)由眾多的繼電器、多觸點輔助開關(guān)、行程開關(guān)及壓力開關(guān)等元器件組成,其中繼電器類占的比重約70%,面對紛繁復(fù)雜的繼電器類產(chǎn)品,如何合理選擇、正確應(yīng)用,是系統(tǒng)開發(fā)、設(shè)計 ...…

查看全部問答∨

解決隔離式開關(guān)的傳導(dǎo)性共模輻射問題

在本篇電源設(shè)計小貼士中,我們將繼續(xù)討論共模電流問題。如前所述我們可以使用一個機架電容將共模電流返回至電源,該電容還可以降低噪聲的源阻抗。然而就我們可以使用的電容大小而言是有一個安全極限的,其決定了共模濾波器的剩余量。共模電流是由 Q ...…

查看全部問答∨

TI的高速放大器

http://www.ti.com/lit/ml/slyb199/slyb199.pdf…

查看全部問答∨

R4 launchpad新貨New Hercules ARM Cortex-R4 Launchpads

鏈接:http://www.ti.com/ww/en/launchpad/hercules.html 有兩種MCU,分別是TMS570LS04 和RM42 對比: …

查看全部問答∨

功率因數(shù)校正(PFC)功能的實現(xiàn)

本帖最后由 paulhyde 于 2014-9-15 03:03 編輯 我們老師分析的今年題目,估計會用到這方面的內(nèi)容,和大家分享分享……    …

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 汝州市| 福贡县| 恭城| 皋兰县| 黄大仙区| 青冈县| 休宁县| 镇赉县| 河东区| 汉阴县| 南平市| 安福县| 日喀则市| 安泽县| 大足县| 睢宁县| 贡觉县| 清流县| 邢台市| 禹州市| 香河县| 连云港市| 延安市| 新野县| 葵青区| 博兴县| 会东县| 达州市| 宾川县| 建湖县| 灌云县| 黔江区| 普定县| 青铜峡市| 泽州县| 宝丰县| 辉县市| 海安县| 洮南市| 大丰市| 灌云县|