色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

以s3c2440為例的arm芯片的啟動(dòng)過(guò)程

電子設(shè)計(jì) ? 來(lái)源:TOMORROW 星辰 ? 作者:TOMORROW 星辰 ? 2020-12-02 14:13 ? 次閱讀

arm 嵌入式芯片的啟動(dòng)過(guò)程對(duì)于嵌入式菜鳥(niǎo)來(lái)說(shuō)其實(shí)是很復(fù)雜的,很多人都是一知半解,存在很多誤區(qū)。在筆者看來(lái),要想真正了解這一啟動(dòng)過(guò)程必須要首先了解存儲(chǔ)器的區(qū)別與聯(lián)系,參考文章:各種主流半導(dǎo)體存儲(chǔ)器的區(qū)別與聯(lián)系。還需要了解程序是如何編譯鏈接和執(zhí)行的。

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

NAND FLASH啟動(dòng)過(guò)程

當(dāng) OM1、OM0 兩個(gè)管腳都為低電平時(shí),CPU 就被配置成了 NAND FLASH 啟動(dòng)。此時(shí) CPU 內(nèi)部的 4KB 的 SRAM 就會(huì)被映射到 nGCS0 的空間(起始地址為 0x00000000),上電時(shí) CPU 會(huì)自動(dòng)將 NAND FLASH 中前 4KB 的數(shù)據(jù)拷貝到該片內(nèi) SRAM。然后 CPU 從內(nèi)部 SRAM 的 0x00000000 地址開(kāi)始執(zhí)行程序,對(duì)系統(tǒng)進(jìn)行相應(yīng)的初始化,為后續(xù) 4Kb 以外的程序執(zhí)行做準(zhǔn)備。

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

啟動(dòng)過(guò)程之所以要將 NAND FLASH 中的代碼先拷貝到內(nèi)部 SRAM 再執(zhí)行,是因?yàn)?NAND FLASH 需要通過(guò) NAND FLASH 控制器來(lái)進(jìn)行訪(fǎng)問(wèn),不能通過(guò) CPU 的總線(xiàn)直接訪(fǎng)問(wèn),所以不能夠執(zhí)行程序。

NOR FLASH啟動(dòng)過(guò)程

當(dāng)系統(tǒng)配置為此方式啟動(dòng)時(shí),CPU 內(nèi)部 SRAM 則不再被映射到地址空間中,此時(shí)被映射到 nGCS0(起始地址為 0x00000000)地址空間的應(yīng)該是外部的 NOR FLASH(存放啟動(dòng)代碼的存儲(chǔ)器)。系統(tǒng)上電或者復(fù)位時(shí),CPU 直接從 0x00000000 地址(也就是 NOR FLASH 的起始地址)開(kāi)始執(zhí)行代碼。相比 NAND FLASH 啟動(dòng),NOR FLASH 的啟動(dòng)代碼可以達(dá)到 128Mb 之大(s3c2440)。

之所以可以在 NOR FLASH 上直接執(zhí)行代碼,是因?yàn)?NOR FLASH 具有類(lèi)似 RAM 的訪(fǎng)問(wèn)接口,可以通過(guò) CPU 總線(xiàn)直接進(jìn)行隨機(jī)讀取,但不支持隨機(jī)寫(xiě)操作。因此,這些啟動(dòng)代碼里是不可有 C 語(yǔ)言的,應(yīng)為程序里必然會(huì)有變量(需要寫(xiě)),需要棧空間調(diào)用函數(shù)(同樣需要寫(xiě)),而匯編程序則是可以避免對(duì)內(nèi)存空間的寫(xiě)操作的。

那么是不是說(shuō),如果是 NOR FLASH 啟動(dòng)就不能有 C 程序了呢?當(dāng)然不是的,不要忘了還有 DRAM 的存在。當(dāng) NOR FLASH 啟動(dòng)過(guò)程完成了對(duì) DRAM 的初始化,棧空間的配置之后就可去調(diào)用 C 語(yǔ)言的程序了。

這就是 arm 芯片的啟動(dòng)過(guò)程了,其實(shí)在啟動(dòng)過(guò)程中的最開(kāi)始的那些啟動(dòng)代碼里還有很多地方值得細(xì)細(xì)斟酌的,也會(huì)有很多疑問(wèn),這個(gè)時(shí)候就應(yīng)該去了解程序是怎么編譯鏈接的、又是如何執(zhí)行的。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9207

    瀏覽量

    371061
  • NAND
    +關(guān)注

    關(guān)注

    16

    文章

    1701

    瀏覽量

    136947
  • 嵌入式芯片
    +關(guān)注

    關(guān)注

    4

    文章

    231

    瀏覽量

    27813
  • S3C2440
    +關(guān)注

    關(guān)注

    4

    文章

    132

    瀏覽量

    39071
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32的上電啟動(dòng)過(guò)程分享

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

    ADS1146的外接時(shí)鐘,4.096MHZ,這個(gè)時(shí)鐘頻率是用來(lái)決定采樣頻率的么?

    讀了數(shù)據(jù)手冊(cè)后,有如下的困惑:(ADS1146) 1、可以通過(guò)產(chǎn)生一個(gè)START的脈沖來(lái)啟動(dòng)一次AD轉(zhuǎn)換,或者將START持續(xù)拉高進(jìn)行連續(xù)的AD轉(zhuǎn)換,這兩種操作方式和通過(guò)SPI
    發(fā)表于 02-07 08:04

    用txb0108在ARM9 S3C2440的八個(gè)數(shù)據(jù)口和計(jì)數(shù)器8254-2的八個(gè)數(shù)據(jù)口做了一個(gè)轉(zhuǎn)換,8254-2嚴(yán)重發(fā)燙是為什么?

    我用txb0108在ARM9 S3C2440(3.3V)的八個(gè)數(shù)據(jù)口(DATA0~DATA7)和計(jì)數(shù)器8254-2(5V)的八個(gè)數(shù)據(jù)口做了一個(gè)轉(zhuǎn)換,直接導(dǎo)致計(jì)數(shù)器8254-2嚴(yán)重發(fā)燙。這是為什么呢?
    發(fā)表于 01-15 07:59

    BQ79600-Q1啟動(dòng)過(guò)程

    電子發(fā)燒友網(wǎng)站提供《BQ79600-Q1啟動(dòng)過(guò)程.pdf》資料免費(fèi)下載
    發(fā)表于 11-09 14:57 ?1次下載
    BQ79600-Q1<b class='flag-5'>啟動(dòng)過(guò)程</b>

    AIC3254啟動(dòng)過(guò)程是怎樣的?需要功能調(diào)節(jié)延時(shí),請(qǐng)問(wèn)怎么實(shí)現(xiàn)?

    AIC3254 啟動(dòng)問(wèn)題 :沒(méi)有IIS,時(shí)鐘是用MSP430產(chǎn)生的8M給AIC3254工作時(shí)鐘的,但是每次啟動(dòng)要用手摸一下MCLK才能啟動(dòng),什么原因呢!大俠們能否說(shuō)明一下AIC3254啟動(dòng)
    發(fā)表于 11-07 07:28

    負(fù)載電容對(duì)電源轉(zhuǎn)換器啟動(dòng)過(guò)程的影響

    理想的電源轉(zhuǎn)換器需要無(wú)論負(fù)載如何變化都保持輸出電壓穩(wěn)定。在實(shí)際應(yīng)用中,負(fù)載瞬態(tài)期間選擇不合適的輸出電容會(huì)導(dǎo)致過(guò)高的紋波電壓和浪涌電流,從而影響電源轉(zhuǎn)換器的性能。本文將介紹選擇輸出電容的指南,詳細(xì)介紹負(fù)載電容對(duì)啟動(dòng)過(guò)程的影響,并提供改進(jìn)建議。
    的頭像 發(fā)表于 10-28 11:08 ?420次閱讀
    負(fù)載電容對(duì)電源轉(zhuǎn)換器<b class='flag-5'>啟動(dòng)過(guò)程</b>的影響

    PA3113D2在系統(tǒng)啟動(dòng)過(guò)程中會(huì)出現(xiàn)一個(gè)POP聲,請(qǐng)問(wèn)是什么原因造成的?

    請(qǐng)教各位高手,我現(xiàn)在CODEC芯片用的是WOLFSON WM8960,OPA用的是TI PA3113D2,上電瞬間的POP聲已經(jīng)解決,但是在系統(tǒng)啟動(dòng)過(guò)程中(快啟動(dòng)完成時(shí))還會(huì)出現(xiàn)一個(gè)POP聲,請(qǐng)問(wèn)是什么原因造成的?
    發(fā)表于 10-18 06:39

    使用pahomqtt啟動(dòng)過(guò)程中pipe_fops_open時(shí)出現(xiàn)rt_condvar_timedwait ,如何解決?

    在使用pahomqtt 啟動(dòng)過(guò)程中pipe_fops_open 時(shí)出現(xiàn)rt_condvar_timedwait 死等,而RTT 5.0則可以。請(qǐng)問(wèn)該如何解決?
    發(fā)表于 09-26 07:11

    【技術(shù)分享】CAN總線(xiàn)相關(guān)知識(shí)探討以及Model3C兩路CAN的應(yīng)用

    CAN總線(xiàn)相關(guān)知識(shí),個(gè)位數(shù)價(jià)格的工業(yè)級(jí)HMI芯片–Model3C, 2路CAN的應(yīng)用
    的頭像 發(fā)表于 09-05 10:59 ?719次閱讀
    【技術(shù)分享】CAN總線(xiàn)相關(guān)知識(shí)探討以及Model<b class='flag-5'>3C</b>兩路CAN的應(yīng)用

    YTM32的HA系列微控制器啟動(dòng)過(guò)程詳解

    見(jiàn),確保信息安全的需要。然而,開(kāi)發(fā)者在自行編譯固件時(shí),需要配合BOOT ROM中的bootloader,才能正常地引導(dǎo)到用戶(hù)應(yīng)用程序,完成啟動(dòng)過(guò)程
    的頭像 發(fā)表于 07-15 09:24 ?532次閱讀
    YTM32的HA系列微控制器<b class='flag-5'>啟動(dòng)過(guò)程</b>詳解

    啟動(dòng)柜的作用和功能是什么

    啟動(dòng)柜是一種用于電機(jī)啟動(dòng)的電氣設(shè)備,它通過(guò)控制電機(jī)啟動(dòng)過(guò)程中的電壓和電流,實(shí)現(xiàn)電機(jī)的平滑啟動(dòng),減少啟動(dòng)過(guò)程中的電流沖擊和機(jī)械沖擊,延長(zhǎng)電機(jī)
    的頭像 發(fā)表于 06-18 14:29 ?1860次閱讀

    什么叫軟啟動(dòng)?如何實(shí)現(xiàn)軟啟動(dòng)

    啟動(dòng)(Soft Start)是一種電動(dòng)機(jī)啟動(dòng)方式,它通過(guò)控制電動(dòng)機(jī)的啟動(dòng)電流,使電動(dòng)機(jī)在啟動(dòng)過(guò)程中逐漸加速,從而減少啟動(dòng)時(shí)的電流沖擊和機(jī)械
    的頭像 發(fā)表于 06-18 11:31 ?1w次閱讀

    STM32__UCOSII系統(tǒng)啟動(dòng)過(guò)程中空閑任務(wù)和統(tǒng)計(jì)任務(wù)扮演怎樣的角色?

    如題STM32__UCOSII系統(tǒng)啟動(dòng)過(guò)程中空閑任務(wù)和統(tǒng)計(jì)任務(wù)扮演怎樣的角色
    發(fā)表于 05-08 07:37

    基于S3C2440和專(zhuān)用DSP的嵌入式四軸運(yùn)動(dòng)控制器

     PCL6045BL是一種新型專(zhuān)用DSP運(yùn)動(dòng)控制芯片,它具有強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,可以實(shí)現(xiàn)高精度的多軸伺服控制。解決精密制造對(duì)低成本、可移植性強(qiáng)的通用型多軸數(shù)控系統(tǒng)的迫切需求,文中給出一種基于ARM 微處理器
    發(fā)表于 05-03 10:44 ?695次閱讀
    基于<b class='flag-5'>S3C2440</b>和專(zhuān)用DSP的嵌入式四軸運(yùn)動(dòng)控制器

    STM32WBA Nucleo-64設(shè)置主頻100M,發(fā)現(xiàn)啟動(dòng)過(guò)程中卡死在PWR_VOSR_VOSRDY,為什么?

    使用ST官方的STM32WBA Nucleo-64板子, 當(dāng)設(shè)置主頻100M,發(fā)現(xiàn)啟動(dòng)過(guò)程中卡死在PWR_VOSR_VOSRDY; 設(shè)置主頻16MHz的時(shí)候,可以正常完成初始化。 使用的是CodeMx生成的工程 這是啥原因呢
    發(fā)表于 03-14 08:28
    主站蜘蛛池模板: 国语大学生自产拍在线观看 | 亚洲色图p | 人人射人人插 | 亚洲 欧美 国产 视频二区 | 成人网视频在线观看免费 | 高清不卡伦理电影在线观看 | 门事件快播| 甜性涩爱dvd | 婷婷六月激情综合一区 | 中国xxxxxz | 双腿被绑成M型调教PLAY照片 | 视频一区二区三区蜜桃麻豆 | 18av 在线 | 国产学生无码中文视频一区 | 欧美多毛的大隂道 | 亚洲国产免费观看视频 | 伊人亚洲综合青草青草久热 | 高hh乱亲女真实 | 国产在线亚洲v天堂a | 最近的中文字幕2019国语 | 欧美另类与牲交ZOZOZO | 成人在线不卡视频 | 久久婷婷五月综合色丁香花 | 无修肉动漫在线观看影片 | 黄色三级图片 | 丝袜足控免费网站xx91 | 别停好爽好深好大好舒服视频 | 久草精品在线 | 红色机尾快播 | 无人区大片中文字幕在线 | 午夜DJ国产精华日本无码 | 久久精品观看 | 毛片免费观看的视频在线 | 色鲁97精品国产亚洲AV高 | 俄罗斯19girl video9 | 天天躁日日躁狠狠躁AV麻豆 | 韩国无遮羞禁动漫在线观看 | 日本片bbbxxx| 孕妇高潮抽搐喷水30分钟 | 国产香蕉九九久久精品免费 | 国产成人免费不卡在线观看 |