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

處理器啟動過程

發布者:SparklingBeauty最新更新時間:2025-02-05 來源: cnblogs關鍵字:處理器  啟動過程  S3C6410 手機看文章 掃描二維碼
隨時隨地手機看文章

1 處理器啟動過程簡介

  • 處理器上電后,PC寄存器固化了一個默認值

  • PC默認值用于決定第一條執行的指令

  • 第一條執行指令隸屬于啟動程序

  •  

    2 啟動程序(BootLoader)
    系統上電后運行的第一個程序(Not Os)
    根據運行階段、體積和功能的不同分為三個部分
    BL0 - 固化于硬件中,用于初始化硬件,加載并運行BL1
    BL1 - 存儲于外部設備中,用于初始化主存,加載并運行BL2
    BL2 - 存儲于外部存儲設備中,用于引導操作系統執行

  • 3 S3C6410啟動過程

  •  

     

  • 4 S5PV210啟動過程

  •  

     

    4.1 啟動過程簡介
    S5PV210使用的啟動方式是:外接的大容量Nand + 外接大容量DRAM + SoC內置SRAM。

    實際上210的啟動還要更好玩一些,210內置了一塊96KB大小的SRAM(叫iRAM),同時還有一塊內置的64KB大小的NorFlash(叫iROM)。210的啟動過程大致是:
    第一步:CPU上電后先從內部IROM中讀取預先設置的代碼(BL0),執行。這一段IROM代碼首先做了一些基本的初始化(CPU時鐘、關看門狗···)(這一段IROM代碼是三星出廠前設置的,三星也不知道我們板子上將來接的是什么樣的DRAM,因此這一段IROM是不能負責初始化外接的DRAM的,因此這一段代碼只能初始化SoC內部的東西);然后這一段代碼會判斷我們選擇的啟動模式(我們通過硬件跳線可以更改板子的啟動模式),然后從相應的外部存儲器去讀取第一部分啟動代碼(BL1,大小為16KB)到內部SRAM。
    第二步:從IRAM去運行剛上一步讀取來的BL1(16KB),然后執行。BL1負責初始化NandFlash,然后將BL2讀取到IRAM(剩余的80KB)然后運行。
    第三步:從IRAM運行BL2,BL2初始化DRAM,然后將OS讀取到DRAM中,然后啟動OS,啟動過程結束。

    通過以上分析可以發現只能運行最大為96KB的bootloader,以上只是三星官方推薦的啟動方式,實際上并不一定采取這種啟動方式。

    4.2 S5PV210啟動過程相關補充說明
    210內部有iROM和iRAM,因此啟動時分兩個階段:內部啟動階段和外部啟動階段。對于內部啟動階段各種S5PV210的開發板都是相同的,對于外部啟動階段,不同開發板會有不同。

    IROM和IRAM
    S5PV210出廠時內置了64KB iROM和96KB iRAM。iROM中預先內置燒錄了一些代碼(稱為iROM代碼),iRAM屬于SRAM(不需軟件初始化,上電即可使用)。210啟動時首先在內部運行iROM代碼,然后由iROM代碼開啟外部啟動流程。

    為什么需要設計iROM和iRAM?答案是為了支持多種外部設備啟動。

    Second boot support
    When 1 st boot mode fails, SD/MMC boot will be tried through SD/MMC channel 2 with 4-bit data。
    當第一啟動模式失敗時,SD/MMC卡啟動模式下將會從SD/MMC2通道嘗試再次啟動。這種二級啟動是一種冗余設計。SoC中第一啟動介質故障而導致不能啟動時,可以從備用啟動介質啟動。我們做裸機實驗時從SD2啟動就是利用了這一設計特性。

    使用IROM啟動的好處
    1、降低BOM成本。因為iROM可以使SOC從各種外設啟動,因此可以省下一塊boot rom(專門用來啟動的rom,一般是norflash)。
    2、支持各種校驗類型的nand。
    3、可以在不使用編程器的情況下使用一種外部存儲器運行程序來給另一種外部存儲器編程燒錄。這樣生產時就不用額外購買專用編程器了,降低了量產成本。

    BL0做了什么

    關看門狗
    初始化指令cache
    初始化棧
    初始化堆
    初始化塊設備復制函數device copy function
    設置SoC時鐘系統
    復制BL1到內部IRAM(16KB)
    檢查BL1的校驗和
    跳轉到BL1去執行
    S5PV210的啟動順序(不優先選擇Uart、USB啟動)

    先1st啟動,通過OMpin選擇啟動介質
    再2nd啟動,從SD2
    再Uart啟動
    再USB啟動


關鍵字:處理器  啟動過程  S3C6410 引用地址:處理器啟動過程

上一篇:關于交叉編譯openssh的問題
下一篇:Tiny210 U-BOOT(二)----配置時鐘頻率基本原理

推薦閱讀最新更新時間:2025-06-22 15:11

ARM處理器啟動流程———S3C2440、S3C6410、S5PV210
S3C2440 支持從norflash和nandflash啟動。 Nandflash不參與統一編址,CPU總是從編址的0地址處取指令執行,為了實現從nandflash啟動,S3C2440芯片從在CPU啟動的時候,首先將nandflash前面4kB的內容復制到芯片中的叫做stepping stone的sram中,steppping stone只有4KB大小,4KB的代碼會完成一些硬件初始化的工作,并且將nandflash中剩余部分的代碼復制到SDRAM中去,這部分代碼包括bootload的剩余代碼或者還有內核代碼,并在內存中執行。S3C2440內存是從0x30000000地址開始的,也就是BANK6. S3C6410 啟動方式:no
[單片機]
STM32代碼的啟動過程
分享這篇文章,談一下STM32啟動流程。如果讀者朋友已經有過匯編相關基礎,能夠夠好理解本文內容。匯編語言是比C語言更接近機器底層的編程語言,能讓我們更好的理解和操縱硬件底層。 STM32三種啟動模式 下好程序后,重啟芯片時,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存,這就是所謂的啟動過程。 STM32上電或者復位后,代碼區始終從0x00000000開始,其實就是將存儲空間的地址映射到0x00000000中。三種啟動模式如下: 從主閃存存儲器啟動,將主Flash地址0x08000000映射到0x00000000,這樣代碼啟動之后就相當于從0x08000000開始。主閃存存儲器是STM32內置的Flash,作為芯片內置的
[單片機]
LPC啟動過程和重映射概念
1.LPC2200的啟動過程: (1) 芯片啟動時,是從0地址開始,但是這時引導程序被映射到了地址0,所以這時啟動的就是引導程序。 (2) 引導程序檢查ISP引腳的狀態和BOOT【1】和BOOT【0】,根據不同的狀態,將不同的內容映射到地址0,例如 0x80000000或者0x40000000,這個要看你的配置了,從而進行重新映射。 (3) 重新映射后,就跳轉到0再運行,這時候實際上運行的是0x80000000或者0x40000000的程序了。 注意:設置RW和RO的目的是為了告訴編譯器把生成的代碼放在存儲器的什么地方。代碼實際是存在0x80000000或者0x40000000那里的,只是通過映射的方式,將前面的中斷向量表部
[單片機]
u-boot啟動過程分析——基于lpc2210的移植代碼
u-boot是一種普遍用于嵌入式系統中的Bootloader。 Bootloader介紹 Bootloader是進行嵌入式開發必然會接觸的一個概念,它是嵌入式學院 嵌入式工程師職業培訓班 二期課程中嵌入式linux系統開發方面的重要內容。本篇文章主要講解Bootloader的基本概念以及內部原理,這部分內容的掌握將對嵌入式linux系統開發的學習非常有幫助! Bootloader的定義:Bootloader是在操作系統運行之前執行的一小段程序,通過這一小段程序,我們可以初始化硬件設備、建立內存空間的映射表,從而建立適當的系統軟硬件環境,為最終調用操作系統內核做好準備。意思就是說如果我們要想讓一個操作系統在我們的板子上運轉起來
[單片機]
u-boot<font color='red'>啟動</font><font color='red'>過程</font>分析——基于lpc2210的移植代碼
S3C6410之uboot回爐再造(1)start.S - SVC模式設置
  雖然已經寫了幾篇關于uboot移植的、但是覺得整體對uboot的理解還是只停留在copy的層面。   狠下心來,從代碼進行uboot的分析,并從新移植一次uboot。   這次更側重于記錄代碼分析心得。   使用uboot的版本仍為2010.3版本。   這里有一個很是詳盡的start.S分析網站,分析過程借鑒了網站的方法,但也有一些不同的地方 http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html   總的不同有如下   在網站的分析中,基于代碼為arm9
[單片機]
linux串口終端驅動——s3c6410平臺(三)
上一篇關注的是tty上層字符層面的操作和注冊,這一篇主要關注線程的注冊,如何與上層建筑聯系起來。 一、 tty_ldisc.c提供了tty_register_ldisc()接口用于注冊線路規程,例如/driver/char/n_tty.c文件則針對N_TTY線路規程實現了具體的tty_disc結構體中的成員。 tty_register_ldisc(N_TTY, &tty_ldisc_N_TTY) 其中有 #define N_TTY 0 struct tty_ldisc_ops tty_ldisc_N_TTY = { .magic = TTY_LDISC_MAGIC, .name = n_tt
[單片機]
芯馳科技發布X10,打造全民AI時代座艙處理器新標桿
4月23日, 上海國際車展期間,芯馳科技重磅發布最新一代AI座艙芯片X10。 在X9系列智能座艙產品數百萬片量產交付的基礎上,芯馳以X10卓越的性能、創新的架構以及豐富的AI生態,率先引領座艙處理器的AI變革,打造出全民AI時代座艙處理器新標桿。 芯馳CTO孫鳴樂分享全民AI時代座艙處理器新標桿X10最新進展 全新架構,全新工藝,算力和帶寬全面升級 隨著大模型技術的飛速發展,傳統智能座艙正加速向AI座艙升級,帶來更聰明、更自然、更貼心的座艙功能與體驗。 芯馳X10,打造出全民AI時代座艙處理器新標桿 芯馳X10系列產品采用專為AI計算優化的ARMv9.2 CPU架構,CPU性能高達200K DMIPS
[汽車電子]
芯馳科技發布X10,打造全民AI時代座艙<font color='red'>處理器</font>新標桿
恩智浦發布第三代成像雷達處理器,可支持L2+至L4級自動駕駛
S32R47系列是目前恩智浦性能最高的雷達處理器,可滿足L2+至L4級自動駕駛要求 更高分辨率的感知能力,支持高級應用場景,如檢測弱勢道路使用者(VRU)和遺落物 更強的計算能力,支持自動駕駛導航等高級應用的開發,同時滿足未來軟件定義汽車(SDV)規模化發展的需求 荷蘭埃因霍溫——2025年5月9日—— 恩智浦半導體(NXP Semiconductors N.V.,)發布采用16納米FinFET技術的新一代S32R47成像雷達處理器,進一步鞏固公司在成像雷達領域的專業實力 。S32R47系列是第三代成像雷達處理器,性能比前代產品提升高達兩倍,同時改進了系統成本和能效。結合恩智浦的毫米波雷達收發器、電源管理和車載網絡解
[汽車電子]
恩智浦發布第三代成像雷達<font color='red'>處理器</font>,可支持L2+至L4級自動駕駛
小廣播
設計資源 培訓 開發板 精華推薦

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 高密市| 遵义县| 许昌市| 屯留县| 鄂伦春自治旗| 林州市| 夏津县| 新泰市| 盖州市| 淮安市| 比如县| 依安县| 宿州市| 阿拉善盟| 大厂| 涡阳县| 林口县| 石嘴山市| 高碑店市| 莱州市| 茶陵县| 上林县| 德惠市| 秦皇岛市| 天气| 惠安县| 湖口县| 凤山县| 封丘县| 襄樊市| 永靖县| 固镇县| 仁化县| 寿宁县| 疏勒县| 武冈市| 西乌珠穆沁旗| 湘阴县| 会宁县| 高密市| 马关县|