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

歷史上的今天

今天是:2025年04月15日(星期二)

正在發生

2018年04月15日 | TQ2440之uboot---7.start.S中關于bl指令的理解

發布者:psi33 來源: eefocus關鍵字:TQ2440  uboot  bl指令 手機看文章 掃描二維碼
隨時隨地手機看文章

編譯u-boot時,在Makefile 的ALL變量最后加上$(obj)u-boot.dis,會編譯出u-boot.dis,u-boot.dis是通過arm-linux-objdum –d 生成u-boot的每一條指令的反匯編

33d80080:    e59f13f4     ldr    r1, [pc, #1012]    
33d80084:    e59f03f4     ldr    r0, [pc, #1012]    
33d80088:    e5801000   str    r1, [r0] 
33d8008c:     eb000015   bl     33d800e8

………

33d800e8 : 
33d800e8:    e3a00000     mov    r0, #0    ; 0x0

上面的bl指令,從表面上看 bl 33d800e8,好像是跳到了絕對地址0x33d800e8處,此時是運行在絕對0x0地址處,然后用bl一下子跳到了內存地址0x33d800e8處,可是此時內存都還沒有初始化就運行,這怎么可能?

這好像是很矛盾,但仔細分析一下,原來是這樣的:

將 eb000015  轉為二進制:

1110  1011  0000  0000 0000 0000  0001  0101

branch_format

看一下它的具體含義,下面是b/bl 指令的格式-- 出自《ARM Instruction Set》

31-28 –> cond

27-25 –> 101

24     --> L

23-0 –> offset

    "Branch instructions contain a signed 2's complement 24 bit offset. This is shifted left two bits, sign extended to 32 bits, and added to the PC. The instruction can therefore specify a branch of +/- 32Mbytes. The branch offset must take account of the prefetch operation, which causes the PC to be 2 words (8 bytes) ahead of the current instruction. Branches beyond +/- 32Mbytes must use an offset or absolute destination which has been previously loaded into a register. In this case the PC should be manually saved in R14 if a Branch with Link type operation is required.“ 出自《ARM Instruction Set》


1110 –> cond –> always 無條件跳轉

27-25 –> 說明是B 跳轉指令

24 –> L位 Branch with Link, 跳轉時將下一條指令的地址拷貝到R14(lr)中

23-0 –> offset=0x15

執行bl后:pc = 當前pc + ( offset<<2 + 8 ) = 0x8c+(0x15<<2+8)= 0xE8

跳到偏移地址為0xE8的地方,也就是 cpu_init_crit函數中。


關鍵字:TQ2440  uboot  bl指令 引用地址:TQ2440之uboot---7.start.S中關于bl指令的理解

上一篇:TQ2440移植u-boot-2010.06-rc1---1調試的思路
下一篇:TQ2440之uboot---6.運行U-boot目錄examples中的hello_world.c

推薦閱讀

  2017年,中國的石油消耗量僅次于美國,排名第二。并且根據中石油經濟技術研究院發布的一個報告顯示,近年來中國的石油消耗增長速度平均在13%左右,在未來有望成為世界第一大石油消耗國。不過我們國家因地理位置影響,是一個貧油的國家,一直以來石油資源有60%左右依賴于進口,而50%以上的石油資源都用于汽車產業。在石油緊缺的整體大環境下,石油也成...
面對計算機系統和網絡的缺陷和漏洞,黑客們找準機會實施攻擊,白帽黑客則利用黑客技術來測試網絡和系統的性能以判定它們能夠承受入侵的強弱程度。短短幾年時間,人工智能已進駐多個行業,落地無數場景。其中一些行業和場景已為大家所熟知,還有一些正在進入我們的視野,在網絡安全領域,AI“白帽”正成為網絡安全工程師的得力助手。據報道,近日美國市場調...
1945 年 9 月,第二次世界大戰結束,短程軍用雷達需求驟減,其中作為微波發生器的磁控管市場也隨之殆盡。像雷神公司這樣的磁控管制造商,正急切地尋求該技術的新應用。信息源:radartutorial眾所周知,無線電波可以用來加熱介電材料,這項技術在工業和醫療領域中應用甚廣。用無線電波加熱食物的想法也不是什么新鮮事:貝爾實驗室、通用電氣和美國無線電...
單車智能、車路協同和智慧交通是智能網聯化的三駕馬車,均具有不可估量的應用前景。單車智能和車路協同相輔相成,不僅能夠有效地改善出行效率,還將作為智慧城市的一部分影響到社會大眾生活的方方面面。具體而言,車路協同將在三個領域發力,分別為自動駕駛應用場景、車路協同新基建平臺和車路協同應用示范。 ...

史海拾趣

問答坊 | AI 解惑

大家推薦幾本好的參考書吧

清華童詩白的模擬電子技術基礎 謝嘉奎的線性電子線路 國內編的這兩本最經典 …

查看全部問答∨

各位有沒有用過STC系列單片機?

大家好,我第一次用單片機而且是STC系列中STC12C4052AD單片機,利用這個單片機做充電器用,里面有A/D轉換,有PWM口,我覺得性能蠻多的,可是,在編寫程序方面我有點困難,希望和各位交流一下,也麻煩各位指點一下。謝謝!我的QQ:31800252…

查看全部問答∨

由“TI Stellaris系列斷貨之說”想到的......

小弟最近關注流明系列的產品,但是百度了下,得到了一些評論,不知真假,所以想請大家聊聊: 小妹前不久在南京周立功買了幾片LM3S6911玩以太網,當時是48元/片拿的。后來玩出心得打算在公司的新項目中大量應用時,確被告知沒貨了,可憐電路板都已 ...…

查看全部問答∨

我想用51單片機做數字濾波,不知道是否可行?有做過的嗎?

用C51程序來實現一個3-5階的IIR數字濾波器,不知道有沒有人之前做過類似的呢?是否可行? 本來基于DSP,或FPGA做的話應該比較容易實現,但老板比較摳門,控制成本。 想知道用51單片機能不能干這個活。 濾波器基本參數: 采樣率:100HZ 低通濾 ...…

查看全部問答∨

C5000系列的DSP能做C2000系列DSP的實驗嗎?

C2000的DSP是不是比C5000的低級?A/D,FFT實驗用5000是不是更好? C2000DSP有C5000不能做的實驗嗎?…

查看全部問答∨

教你一種實現嵌入式Linux系統新方法

摘要 在Linux中會遇到由于文件系統損壞,需要人工修復而導致系統無法正常啟動的現象。本文采用Linux初始化內存盤(INITRD)技術,并把內存的一部分作為Linux的根目錄,每次啟動把完整的文件系統解壓到這里,避免了系統從損壞的文件系統啟動。這不 ...…

查看全部問答∨

試發一個,STM32自學手冊之GPIO

replyreload += \',\' + 732983; 簡述 GPIO是STM32最常用的設備之一。STM32可以提供最多達80個雙向IO口(視型號而定),他們分別分布在A-E五個端口中。每個端口有16個IO,每個IO口都可以承受最大為5V壓降。通過GPIO的配置寄存器,我們可以把GPI ...…

查看全部問答∨

UART 中斷觸發條件

在UART模式下,發送中斷和接收中斷共用一個中斷向量,想問一下,它們各自的觸發條件是什么…

查看全部問答∨

12點前緊急求助

debug以后出現這個對話框。無語了。。。求助,緊急啊,12點斷網了。Error initializing emulator:Could not find MSP-FET430UIF on specified COM port…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 海原县| 清水县| 长子县| 伊宁市| 汉中市| 闵行区| 道孚县| 库尔勒市| 屏南县| 抚州市| 昌邑市| 吴川市| 安国市| 诏安县| 蕉岭县| 洪洞县| 桦川县| 新竹县| 日土县| 泸定县| 衡阳县| 东平县| 张家界市| 牟定县| 江安县| 公安县| 鹤庆县| 湖北省| 大同市| 泽普县| 大理市| 上高县| 蒙城县| 石景山区| 临夏市| 饶平县| 九江县| 峨山| 芦山县| 凤城市| 贡嘎县|