女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以s3c2440為例的arm芯片的啟動過程

電子設計 ? 來源:TOMORROW 星辰 ? 作者:TOMORROW 星辰 ? 2020-12-02 14:13 ? 次閱讀

arm 嵌入式芯片的啟動過程對于嵌入式菜鳥來說其實是很復雜的,很多人都是一知半解,存在很多誤區。在筆者看來,要想真正了解這一啟動過程必須要首先了解存儲器的區別與聯系,參考文章:各種主流半導體存儲器的區別與聯系。還需要了解程序是如何編譯鏈接和執行的。

本文將以s3c2440為例詳細講述 arm 芯片的啟動過程。s3c2440支持兩種啟動模式:NAND FLASH 啟動和非 NAND FLASH 啟動(一般是NOR FLASH 啟動,并且可以配置數據寬度),通過 OM1、OM0 兩個管腳來控制。

NAND FLASH啟動過程

當 OM1、OM0 兩個管腳都為低電平時,CPU 就被配置成了 NAND FLASH 啟動。此時 CPU 內部的 4KB 的 SRAM 就會被映射到 nGCS0 的空間(起始地址為 0x00000000),上電時 CPU 會自動將 NAND FLASH 中前 4KB 的數據拷貝到該片內 SRAM。然后 CPU 從內部 SRAM 的 0x00000000 地址開始執行程序,對系統進行相應的初始化,為后續 4Kb 以外的程序執行做準備。

也就是說,CPU 啟動過程之時能夠執行的程序最多只能占用 4Kb 大小的空間。如果需要執行更多程序,則需要在 4Kb 的程序里完成對 DRAM 的初始化(DRAM 在使用前必須初始化),配置好棧空間,并將需要執行的程序拷貝到 DRAM 中,然后跳轉到 DRAM 中繼續執行。

啟動過程之所以要將 NAND FLASH 中的代碼先拷貝到內部 SRAM 再執行,是因為 NAND FLASH 需要通過 NAND FLASH 控制器來進行訪問,不能通過 CPU 的總線直接訪問,所以不能夠執行程序。

NOR FLASH啟動過程

當系統配置為此方式啟動時,CPU 內部 SRAM 則不再被映射到地址空間中,此時被映射到 nGCS0(起始地址為 0x00000000)地址空間的應該是外部的 NOR FLASH(存放啟動代碼的存儲器)。系統上電或者復位時,CPU 直接從 0x00000000 地址(也就是 NOR FLASH 的起始地址)開始執行代碼。相比 NAND FLASH 啟動,NOR FLASH 的啟動代碼可以達到 128Mb 之大(s3c2440)。

之所以可以在 NOR FLASH 上直接執行代碼,是因為 NOR FLASH 具有類似 RAM 的訪問接口,可以通過 CPU 總線直接進行隨機讀取,但不支持隨機寫操作。因此,這些啟動代碼里是不可有 C 語言的,應為程序里必然會有變量(需要寫),需要棧空間調用函數(同樣需要寫),而匯編程序則是可以避免對內存空間的寫操作的。

那么是不是說,如果是 NOR FLASH 啟動就不能有 C 程序了呢?當然不是的,不要忘了還有 DRAM 的存在。當 NOR FLASH 啟動過程完成了對 DRAM 的初始化,棧空間的配置之后就可去調用 C 語言的程序了。

這就是 arm 芯片的啟動過程了,其實在啟動過程中的最開始的那些啟動代碼里還有很多地方值得細細斟酌的,也會有很多疑問,這個時候就應該去了解程序是怎么編譯鏈接的、又是如何執行的。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9306

    瀏覽量

    374990
  • NAND
    +關注

    關注

    16

    文章

    1718

    瀏覽量

    137800
  • 嵌入式芯片
    +關注

    關注

    4

    文章

    235

    瀏覽量

    27955
  • S3C2440
    +關注

    關注

    4

    文章

    132

    瀏覽量

    39431
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    晶閘管控制異步電機軟啟動過程中振蕩現象研究

    純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:晶閘管控制異步電機軟啟動過程中振蕩現象研究.pdf【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 06-04 14:39

    如何重新啟動 FX3S 的枚舉過程

    。 然而,我面臨的一個問題是,如果 FX3S 最初沒有連接到 USB 3.0 電纜和 PC,它就不會重新啟動枚舉過程。 在這種情況下,有人能指導我如何重新啟動 FX
    發表于 05-19 07:34

    FD40-110S48B3C3 FD40-110S48B3C3

    電子發燒友網你提供AIPULNION(AIPULNION)FD40-110S48B3C3相關產品參數、數據手冊,更有FD40-110S48B3C3的引腳圖、接線圖、封裝手冊、中文資料、英文資料,FD40-110
    發表于 03-25 18:33
    FD40-110<b class='flag-5'>S48B3C3</b> FD40-110<b class='flag-5'>S48B3C3</b>

    FD20-110S40B3C3 FD20-110S40B3C3

    電子發燒友網你提供AIPULNION(AIPULNION)FD20-110S40B3C3相關產品參數、數據手冊,更有FD20-110S40B3C3的引腳圖、接線圖、封裝手冊、中文資料、英文資料,FD20-110
    發表于 03-20 18:58
    FD20-110<b class='flag-5'>S40B3C3</b> FD20-110<b class='flag-5'>S40B3C3</b>

    FD6-36S24A3C3 FD6-36S24A3C3

    電子發燒友網你提供AIPULNION(AIPULNION)FD6-36S24A3C3相關產品參數、數據手冊,更有FD6-36S24A3C3的引腳圖、接線圖、封裝手冊、中文資料、英文資料,FD6-36
    發表于 03-20 18:45
    FD6-36<b class='flag-5'>S24A3C3</b> FD6-36<b class='flag-5'>S24A3C3</b>

    FW2-24S15C3 FW2-24S15C3

    電子發燒友網你提供AIPULNION(AIPULNION)FW2-24S15C3相關產品參數、數據手冊,更有FW2-24S15C3的引腳圖、接線圖、封裝手冊、中文資料、英文資料,FW2-24
    發表于 03-20 18:30
    FW2-24<b class='flag-5'>S15C3</b> FW2-24<b class='flag-5'>S15C3</b>

    NN3-12S24C3N NN3-12S24C3N

    電子發燒友網你提供AIPULNION(AIPULNION)NN3-12S24C3N相關產品參數、數據手冊,更有NN3-12S24C3N的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NN3-
    發表于 03-19 18:49
    NN<b class='flag-5'>3-12S24C3</b>N NN<b class='flag-5'>3-12S24C3</b>N

    STM32的上電啟動過程分享

    、PC然后是“啟動文件”,一般主要是項目文件里面的startup_xxxxx.s文件。xa0 xa0 其實不光STM32系列單片機是這樣,我們接觸的NXP的微控制器、TI的MSP430以及51單片機等等
    發表于 03-07 08:09

    用txb0108在ARM9 S3C2440的八個數據口和計數器8254-2的八個數據口做了一個轉換,8254-2嚴重發燙是為什么?

    我用txb0108在ARM9 S3C2440(3.3V)的八個數據口(DATA0~DATA7)和計數器8254-2(5V)的八個數據口做了一個轉換,直接導致計數器8254-2嚴重發燙。這是為什么呢?
    發表于 01-15 07:59

    BQ79600-Q1啟動過程

    電子發燒友網站提供《BQ79600-Q1啟動過程.pdf》資料免費下載
    發表于 11-09 14:57 ?1次下載
    BQ79600-Q1<b class='flag-5'>啟動過程</b>

    AIC3254啟動過程是怎樣的?需要功能調節延時,請問怎么實現?

    AIC3254 啟動問題 :沒有IIS,時鐘是用MSP430產生的8M給AIC3254工作時鐘的,但是每次啟動要用手摸一下MCLK才能啟動,什么原因呢!大俠們能否說明一下AIC3254啟動
    發表于 11-07 07:28

    負載電容對電源轉換器啟動過程的影響

    理想的電源轉換器需要無論負載如何變化都保持輸出電壓穩定。在實際應用中,負載瞬態期間選擇不合適的輸出電容會導致過高的紋波電壓和浪涌電流,從而影響電源轉換器的性能。本文將介紹選擇輸出電容的指南,詳細介紹負載電容對啟動過程的影響,并提供改進建議。
    的頭像 發表于 10-28 11:08 ?642次閱讀
    負載電容對電源轉換器<b class='flag-5'>啟動過程</b>的影響

    PA3113D2在系統啟動過程中會出現一個POP聲,請問是什么原因造成的?

    請教各位高手,我現在CODEC芯片用的是WOLFSON WM8960,OPA用的是TI PA3113D2,上電瞬間的POP聲已經解決,但是在系統啟動過程中(快啟動完成時)還會出現一個POP聲,請問是什么原因造成的?
    發表于 10-18 06:39

    使用pahomqtt啟動過程中pipe_fops_open時出現rt_condvar_timedwait ,如何解決?

    在使用pahomqtt 啟動過程中pipe_fops_open 時出現rt_condvar_timedwait 死等,而RTT 5.0則可以。請問該如何解決?
    發表于 09-26 07:11

    YTM32的HA系列微控制器啟動過程詳解

    見,確保信息安全的需要。然而,開發者在自行編譯固件時,需要配合BOOT ROM中的bootloader,才能正常地引導到用戶應用程序,完成啟動過程
    的頭像 發表于 07-15 09:24 ?666次閱讀
    YTM32的HA系列微控制器<b class='flag-5'>啟動過程</b>詳解