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

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

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

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

對于系統(tǒng)啟動,bootloader的功能的簡單分析

Q4MP_gh_c472c21 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-02-05 10:23 ? 次閱讀

這幾天一直在糾結(jié)于系統(tǒng)啟動,bootloader的功能等等,沒有系統(tǒng)學(xué)過所以總是想不明白,也沒有系統(tǒng)的文章,總是對一些細(xì)節(jié)困惑。最近又被分配了應(yīng)用程序的任務(wù),擔(dān)心以后再也沒機(jī)會看驅(qū)動這邊的東西了...

今天看了一下mmu相關(guān)的,都是嵌入式系統(tǒng)的,pc可能有很大不同

mmu,硬件設(shè)備(似乎也有軟件實(shí)現(xiàn)?),實(shí)現(xiàn)虛擬地址到物理地址映射,cpu的指令都是在虛擬地址上執(zhí)行的(這么說似乎也不準(zhǔn)確),或許該說是在沒有mmu的時候,cpu的地址是虛擬地址同時也是物理地址(因?yàn)闆]有去映射,直接輸出到地址線上了),mmu可以當(dāng)坐中間的翻譯,系統(tǒng)上電后,cpu自然要從某一處讀指令,那么我們要做的就是把初始化系統(tǒng)的代碼(請?jiān)试S我叫他bootloader)放在那,

這時候其他外設(shè)都(或許有的可以?)驅(qū)動不了(cpu不會),cpu的一些工作狀態(tài)也不一定是我們想要的(寄存器的值),那么放在這的代碼就要設(shè)置一下cpu的參數(shù)(比如關(guān)中斷),也可以檢測一下硬件什么的,比如往某個地址寫個什么,但是終極目標(biāo)是加載OS,驅(qū)動周邊設(shè)備供應(yīng)用工作

對于系統(tǒng)啟動,bootloader的功能的簡單分析

關(guān)于這個放指令的地方,一般(從來都是)放在rom里,flash、eeprom什么的,這里速度比較慢,運(yùn)行個bootloader可以(匯編),程序還是要放到ram上(c語言還要堆棧的,不像匯編不要動態(tài)內(nèi)存,堆棧的sp也要往哪分),比如sdram什么的,嵌入式的話就是知道從rom里拷到ram里了,這里你要知道放到哪,那么你就又要知道這個系統(tǒng)硬件怎么連的,ram規(guī)格什么樣的才能知道物理地址,要不然cpu不知道給你放到哪,放完了跳過去啟動就行了,跳過去的方法還是設(shè)置一下寄存器什么的

這里有個問題就是不同設(shè)備物理地址連的不一樣(一般來說很多時候都是不連續(xù)的甚至),那么操作系統(tǒng)控制起來就有點(diǎn)麻煩了,每個設(shè)備都要重新設(shè)置寄存器地址啊,系統(tǒng)和程序分配的地址啊什么的,而且很可能某個應(yīng)用申請不到連續(xù)的地址,用指針加加減減的很麻煩

于是誕生了mmu,在bootloader里配置好(似乎一般來說?),他把所有的物理地址按你的要求映射的虛擬地址,不連續(xù)的連續(xù)了,不統(tǒng)一的統(tǒng)一了(需要根據(jù)不同的設(shè)備編寫不同的bootloader,但是這似乎比編寫寫操作系統(tǒng)輕松),需要說明的是mmu配置了一個寄存器存放的地址映射的表格的物理地址基址,開啟mmu以后的cpu指令都會根據(jù)那個表格翻譯了。

操作系統(tǒng)回對虛擬地址設(shè)置訪問權(quán)限,有的只能操作系統(tǒng)涂改,有的分給用戶,用戶的程序不能隨便改操作系統(tǒng)的的虛擬內(nèi)存范圍(這其中就有cpu寄存器之類的),但是cpu也提供了修改它們的接口,這其實(shí)是防止意外發(fā)生啦,比如你的指針亂指。

再來想想現(xiàn)在的dta的啟動,看看能想通多少。

1、內(nèi)置rom的啟動程序(或許也叫bootloader)啟動flash里的bootloader,起始地址0xbfe00000(物理地址哦,ps:還可以設(shè)置是否效驗(yàn)什么的。。);

2、flash的bootloader讀取某處的配置信息,獲得應(yīng)用程序的在flash中的物理地址,然后把應(yīng)用程序拷到ram里,然后跳過去跑應(yīng)用,入口應(yīng)該是個操作系統(tǒng)入口吧

接下來就是我根據(jù)各種網(wǎng)上資料對我現(xiàn)在看得這個bootloader的yy

該bootloader的確分兩步,但是不知道這兩部分別干什么暫時假設(shè):

第一步設(shè)置一下cpu、內(nèi)存控制器什么的寄存器,算是最初始的初始化,gpio引腳點(diǎn)亮一個led說明一下,然后把stage2的文件找個ram的地方展開,運(yùn)行stage2

第二部也就是stage2,初始化串口(關(guān)于串口我實(shí)在有幾千字的吐槽不提)供調(diào)試以及輸出信息什么的(似乎嵌入式全部提供串口,而且都會從串口接收發(fā)送數(shù)據(jù)之類的,難道是因?yàn)榇隍?qū)動起來很簡單?),再玩一下led,這時候可以找一下哪些物理地址可以用,不過這里這個嵌入式系統(tǒng)似乎哪些可以用都是之前就定好了的?然后就按之前說的從“定好的”地方(flash某處)讀取配置信息,挑一個程序映像,并挑一個ram位置作為目的地拷過去,然后啟動那個程序!

那個程序一般來說是個操作系統(tǒng)了,他會建幾個任務(wù)運(yùn)行什么的

不過很令我沮喪的是我看的關(guān)于bootloader的文章表示不要再os啟動前開啟mmu。。。關(guān)于os和bl實(shí)在還有很懂地方不懂啊,不知道14號前這個應(yīng)用搞得出來不。。

不知道各位看這塊的時候,是不是也有同感啊。


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

    關(guān)注

    41

    文章

    3587

    瀏覽量

    129436
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    235

    瀏覽量

    45612
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

    18283

原文標(biāo)題:嵌入式er日常!最近一直糾結(jié)于MMU,bootloader,dta....

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MQX操作系統(tǒng)啟動到main函數(shù)的過程

      當(dāng)一個嵌入式操作系統(tǒng)上電的時候,是如何從硬件跳轉(zhuǎn)到軟件的main函數(shù)里面的呢?許多學(xué)習(xí)嵌入式軟件的人一開始都會有這樣的疑惑,今天這里將詳細(xì)介紹MQX系統(tǒng)啟動到main函數(shù)的這個過程,這個過程被
    發(fā)表于 11-08 15:48 ?1020次閱讀
    MQX操作<b class='flag-5'>系統(tǒng)啟動</b>到main函數(shù)的過程

    TL3588--系統(tǒng)啟動卡制作及系統(tǒng)固化

    TL3588--系統(tǒng)啟動卡制作及系統(tǒng)固化
    的頭像 發(fā)表于 01-25 09:50 ?1623次閱讀
    TL3588--<b class='flag-5'>系統(tǒng)啟動</b>卡制作及<b class='flag-5'>系統(tǒng)</b>固化

    Linux和Windows系統(tǒng)啟動過程的簡單分析

    Linux和Windows系統(tǒng)啟動過程的簡單分析 對于Windows系統(tǒng)的使用和操作,大家應(yīng)該都比較熟悉,而
    發(fā)表于 08-28 11:27

    IAR系統(tǒng)啟動流程及修改方法

    硬件初始化和軟件運(yùn)行環(huán)境初始化兩個部分的工作。一、系統(tǒng)硬件初始化對于硬件初始化,執(zhí)行步驟流程如下:圖?1CPU復(fù)位時,會從系統(tǒng)啟動程序代碼cstartup中的__iar_program_start函數(shù)
    發(fā)表于 08-06 13:57

    基于ARM-μCLinux嵌入式系統(tǒng)啟動引導(dǎo)的實(shí)現(xiàn)

    基于ARM-μCLinux嵌入式系統(tǒng)啟動引導(dǎo)的實(shí)現(xiàn):介紹了 ARM-μCLinux 嵌入式系統(tǒng)的結(jié)構(gòu)組成,重點(diǎn)分析了 ARM--μCLinux 嵌入式系統(tǒng)啟動引導(dǎo)的過程實(shí)現(xiàn)該
    發(fā)表于 06-25 08:14 ?36次下載

    Motorola微處理器的bootloader分析與應(yīng)用

    引 言??bootloader是用來完成系統(tǒng)啟動系統(tǒng)軟件加載工作的程序。它是底層硬件和上層應(yīng)用軟件之間的一個中間件軟件,完成處理器和周邊電路正常運(yùn)行所要的初始化工
    發(fā)表于 03-11 12:39 ?1089次閱讀
    Motorola微處理器的<b class='flag-5'>bootloader</b><b class='flag-5'>分析</b>與應(yīng)用

    BootLoader啟動引導(dǎo)方式分析

    BootLoader啟動引導(dǎo)方式分析 在中大規(guī)模的嵌入式系統(tǒng)開發(fā)中,往往需要BootLoader系統(tǒng)
    發(fā)表于 03-29 15:09 ?2473次閱讀
    <b class='flag-5'>BootLoader</b><b class='flag-5'>啟動</b>引導(dǎo)方式<b class='flag-5'>分析</b>

    系統(tǒng)啟動過程

    系統(tǒng)啟動過程系統(tǒng)啟動過程主要由一下幾步組成(以硬盤啟動為例):1. 開機(jī)2. BIOS 加電自檢 ( Power On Self Test -- POST ),內(nèi)存地址為 0ffff:00003. 將硬盤第一個
    發(fā)表于 10-11 12:17 ?2258次閱讀

    改進(jìn)的直接轉(zhuǎn)矩控制系統(tǒng)啟動方法

    改進(jìn)的直接轉(zhuǎn)矩控制系統(tǒng)啟動方法
    發(fā)表于 01-21 11:54 ?1次下載

    bootloader模式怎么進(jìn)入

    對于很多安卓手機(jī)用戶們來說,相信刷過機(jī)的用戶們一定對Bootloader模式不會陌生,Bootloader就相當(dāng)于手機(jī)的bios,它在手機(jī)啟動的時候根據(jù)基帶初始化硬件,然后引導(dǎo)
    發(fā)表于 11-10 16:59 ?4.9w次閱讀

    如何實(shí)現(xiàn)簡單bootloader功能

    考慮到瑞薩的MCUBoot的ROM占用和某些客戶的需求,本篇主要講述在不使用瑞薩MCUboot驅(qū)動下,如何實(shí)現(xiàn)簡單bootloader功能
    的頭像 發(fā)表于 09-06 13:13 ?2513次閱讀

    UM2012_osxMotionXX系統(tǒng)啟動

    UM2012_osxMotionXX系統(tǒng)啟動
    發(fā)表于 11-22 19:24 ?0次下載
    UM2012_osxMotionXX<b class='flag-5'>系統(tǒng)啟動</b>

    一張圖了解嵌入式系統(tǒng)啟動流程

    如下圖所示是嵌入式系統(tǒng)啟動流程圖,圖中紅色的數(shù)字圓點(diǎn)表示啟動的先后順序。主要分為4個階段,分別是第一階段 bootloader,第二階段uboot,第三階段內(nèi)核啟動,第四階段app
    發(fā)表于 03-07 09:44 ?859次閱讀

    RK3568--系統(tǒng)啟動階段LOGO顯示

    RK3568--系統(tǒng)啟動階段LOGO顯示
    的頭像 發(fā)表于 01-19 14:44 ?1108次閱讀
    RK3568--<b class='flag-5'>系統(tǒng)啟動</b>階段LOGO顯示

    TLT507--系統(tǒng)啟動階段LOGO顯示

    TLT507--系統(tǒng)啟動階段LOGO顯示
    的頭像 發(fā)表于 01-26 09:42 ?388次閱讀
    TLT507--<b class='flag-5'>系統(tǒng)啟動</b>階段LOGO顯示
    主站蜘蛛池模板: 永久免费无码AV国产网站| 伊人久久电影网| 亚洲色欲国产AV精品综合| 最近免费中文字幕MV免费高清| 67194在线入口免费| 古代荡乳尤物H妓女调教| 精品久久久久久久久免费影院 | 美女与男人对肌免费网站| 日日噜噜夜夜爽爽| 亚洲午夜AV久久久精品影院色戒| caoporn 超碰免费视频| 海量激情文学| 人体内射精一区二区三区| 一个人免费视频在线观看高清频道 | 久久高清一级毛片| 日韩人妻无码精品-专区| 优优色影院| 国产精品色午夜视频免费看| 老师你下面好紧夹死了| 私人玩物在线观看| 99久久免费视频6| 九色PORNY蝌蚪视频首页| 涩涩免费视频软件| 做暖暖视频在线看片免费| 国产精品一区二区AV白丝在线| 欧美zzzoooxxx| 亚洲三级在线中文字幕| 国产ts在线| 嫩草电影网嫩草影院| 亚洲三级成人| 国产精品黄色大片| 亲胸吻胸添奶头GIF动态图免费| 一本之道加勒比在线观看| 国产精品路线1路线2路线| 妻中蜜在线播放| 中字幕久久久人妻熟女天美传媒 | 乌克兰16~18sex| yw193.c国产在线观看| 伦理电影2499伦理片| 亚洲蜜桃AV色情精品成人| 国产精品女主播主要上线|