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

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

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

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

樹莓派裸機代碼之前必做的事情

嵌入式IoT ? 來源:嵌入式IoT ? 作者:嵌入式IoT ? 2020-09-25 15:51 ? 次閱讀

樹莓派4裸機基礎(chǔ)教程芯片啟動到代碼執(zhí)行

1.說明

2.樹莓派的sd

3.config.txt的配置信息

4.小結(jié)

1.說明

在做嵌入式開發(fā)的時候,每個芯片都有自己的啟動方式。在做底層優(yōu)化的時候,往往也需要關(guān)注芯片的啟動方式,涉及到啟動時間,啟動的穩(wěn)定性問題。所以關(guān)注芯片的啟動方式非常的重要。在使用電腦的時候,電腦上電后首先會執(zhí)行BIOS,這個是廠家固化到ROM里面的代碼,一般從電腦生產(chǎn)出來到電腦的壽命結(jié)束,其中的內(nèi)容都是不會變的。而系統(tǒng)卻可以經(jīng)常更換,我們可以裝Linux系統(tǒng),也可以裝windows系統(tǒng)。這個就是電腦的啟動過程。

類比芯片的啟動過程,大多數(shù)也是如此,比如我們一般描述嵌入式Linux在某些芯片的上的啟動流程,首先芯片上電后會執(zhí)行芯片內(nèi)部rom的一段固化代碼,這段代碼會根據(jù)撥碼開關(guān)選擇從不同的存儲介質(zhì)中去讀取一小段可以執(zhí)行的代碼放到sram中執(zhí)行。這些存儲介質(zhì)可以是SPI Flash,可以是nand或者nor flash,或者sd卡等等。由于芯片的sram不可能做到非常大,所以第一階段的代碼往往會有限制,比如只允許使用4K內(nèi)存等等。這段小的代碼負責(zé)初始化sdram,然后跳轉(zhuǎn)到sdram中去執(zhí)行代碼。由于sdram的成本比sram小許多,所以sdram往往非常的大,接著就是執(zhí)行正常的程序了。

這些啟動方式的選擇,都是芯片設(shè)計者需要考慮的問題,一方面是成本另一方面是啟動的效率問題。在使用芯片的時候,具體看設(shè)計者的思路即可。下面來分析一下樹莓派4芯片的啟動過程。

2.樹莓派的sd卡

一般我們使用開發(fā)板的時候,很少會見到需要插上sd卡才能啟動的,唯有樹莓派有這個特殊的操作。那么樹莓派的sd卡里面的文件究竟有什么作用呢?

樹莓派在設(shè)計的時候,為了節(jié)省成本,沒有使用掉電非易失性存儲介質(zhì),也就在板子上不能找到相關(guān)的flash。這樣芯片啟動的程序只能放在sd卡里面了。本來U盤啟動也是一種方式,但是樹莓派4代之前的設(shè)計并不是很好,導(dǎo)致這種啟動方式不可以使用。樹莓派4也有一些嘗試,但是目前樹莓派4最主流的方式還是使用SD卡啟動。

Raspberry Pi 4具有一個SPI連接的EEPROM(4MBits / 512KB)。其中包含用于啟動系統(tǒng)的代碼,并替換了先前在SD卡的啟動分區(qū)中找到的bootcode.bin。請注意,如果Pi 4的SD卡的啟動分區(qū)中存在bootcode.bin,則將其忽略。也就是說在樹莓派4的啟動方式上,更加的靈活,甚至可以直接去掉SD卡,從網(wǎng)絡(luò)方式啟動應(yīng)用程序。具體可以看之前的文章

下面來分析一下從sd卡啟動系統(tǒng)需要的必要的文件內(nèi)容。在裸機實驗中,一般只需要如下的文件就可以啟動了。

啟動過程可以描述如下:

首先芯片上電后執(zhí)行first-stage bootloader,這是芯片固化在內(nèi)部的代碼,這個代碼的功能是加載sd卡中的bootcode.bin文件。在樹莓派4之前的版本都是需要這個文件的,但是在樹莓派4上,由于有了SPI的EEPROM,所以SD卡中可以不用存在這個文件。并且啟動了GPU。然后將bootcode.bin讀取到了128K大小的二級緩存(L2 Cache)中。此時開始執(zhí)行bootcode.bin代碼。該功能用于初始化ram,并且把start4.elf加載到內(nèi)存中,并且去讀取config.txt中的配置信息,設(shè)置這些配置信息。上述已經(jīng)描述了這幾個文件的作用,但是經(jīng)過實際測試發(fā)現(xiàn),這個設(shè)備樹文件bcm2711-rpi-4-b.dtb文件也是需要的,如果不存在也會影響串口的輸出,也就是只會有亂碼輸出。所以推測start4.elf文件也會去讀取設(shè)備樹文件,然后設(shè)置一些基本的參數(shù)。畢竟這個文件的大小也可以說明其功能的豐富。

3.config.txt的配置信息

前面說到,start4.elf會讀取config.txt中的配置信息,然后去設(shè)置相關(guān)的配置。先看看最簡單的裸機代碼啟動里設(shè)置了哪些配置:

enable_uart=1 arm_64bit=0 core_freq=250 kernel=kernel7.img kernel_address=0x8000

首先enable_uart=1表示使用的是miniUART,樹莓派4中,UART控制器有兩種,PL011或者mini UART。

Name Type
UART0 PL011
UART1 mini UART
UART2 PL011
UART3 PL011
UART4 PL011
UART5 PL011

這里設(shè)置使能UART1作為輸出信息,接著需要設(shè)置arm的頻率core_freq=250。因為串口控制器是需要頻率進行使能的。

arm_64bit=0告訴arm要啟動的程序是32位的,由于樹莓派4上的芯片是cortex-a72,是aarch64架構(gòu)的,但是也支持向下兼容的32位指令。所以需要告知當(dāng)前的裸機程序是32位指令集架構(gòu)。

kernel=kernel7.img表示從start4.elf執(zhí)行的程序是哪一個,另外kernel_address=0x8000表示需要執(zhí)行的內(nèi)存地址。這個地址就是裸機程序在鏈接時的入口地址。

4.小結(jié)

本文主要描述了一個樹莓派裸機代碼之前所做的事情,這些啟動流程是非常值得思考的,每一個步驟都有其設(shè)定的含義。剩下的config.txt文件中的配置其實還是有很多可以嘗試的,比如修改啟動地址,或者去使能某些外設(shè)等等。由于目前研究的是最簡單的裸機代碼,所以這些配置會在以后更高級的功能中慢慢說到。比如比較重要的安全可信技術(shù),也需要修改配置文件。前期理解芯片的啟動過程有助于對后面編寫裸機代碼的分析。

- END -

原文標(biāo)題:樹莓派4裸機基礎(chǔ)教程:芯片啟動到代碼執(zhí)行

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

責(zé)任編輯:haq

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

    關(guān)注

    456

    文章

    51141

    瀏覽量

    426168
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105804

原文標(biāo)題:樹莓派4裸機基礎(chǔ)教程:芯片啟動到代碼執(zhí)行

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

收藏 人收藏

    評論

    相關(guān)推薦

    GPIO在樹莓中的應(yīng)用

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的信用卡大小的單板計算機,它具有強大的功能和靈活性,可以用于各種項目和應(yīng)用。通用輸入輸出(GPIO)是
    的頭像 發(fā)表于 01-09 09:41 ?161次閱讀

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點

    樹莓傳感器使用方法 樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的小型單板計
    的頭像 發(fā)表于 12-06 10:35 ?676次閱讀

    樹莓與Arduino的區(qū)別是什么

    在當(dāng)今的科技世界中,樹莓(Raspberry Pi)和Arduino是兩個經(jīng)常被提及的名字。它們都是開源硬件平臺,但它們的目標(biāo)、功能和用途卻大相徑庭。 1. 目標(biāo)和用途 樹莓(Ra
    的頭像 發(fā)表于 11-11 11:14 ?1109次閱讀

    ARM開發(fā)板與樹莓的比較

    ARM開發(fā)板和樹莓都是基于ARM架構(gòu)的單板計算機,它們在教育、工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。 硬件配置 ARM開發(fā)板和樹莓的硬件配置各有特點,具體取決于不同的型號和制造商。
    的頭像 發(fā)表于 11-05 11:11 ?587次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    一、樹莓GPIO的用途 樹莓(Raspberry Pi)是一款小巧、功能強大的單板計算機,廣泛應(yīng)用于編程教育、物聯(lián)網(wǎng)項目、家庭媒體中心等領(lǐng)域。GPIO(General Purpos
    的頭像 發(fā)表于 10-22 18:09 ?1133次閱讀

    什么是樹莓樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為學(xué)習(xí)計算機編程教育而設(shè)計的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?1191次閱讀

    樹莓網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    什么是樹莓? 樹莓(Raspberry Pi)是一種基于Linux的小型單板計算機,由英國的樹莓
    的頭像 發(fā)表于 10-09 16:44 ?375次閱讀
    類<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網(wǎng)關(guān):物聯(lián)網(wǎng)應(yīng)用的新標(biāo)桿

    樹莓和51單片機哪個有優(yōu)勢

    樹莓和51單片機是兩種不同的硬件平臺,它們各自有其特點和優(yōu)勢。在決定使用哪一個之前,我們需要了解它們的基本特性、應(yīng)用場景和開發(fā)難度。 1. 簡介 1.1 樹莓
    的頭像 發(fā)表于 09-02 09:04 ?926次閱讀

    樹莓和單片機的優(yōu)缺點是什么

    樹莓(Raspberry Pi)和單片機(Microcontroller)是兩種廣泛應(yīng)用于電子項目和嵌入式系統(tǒng)的硬件平臺。它們各自具有獨特的優(yōu)缺點,適用于不同的應(yīng)用場景。 樹莓
    的頭像 發(fā)表于 08-30 18:21 ?1817次閱讀

    樹莓的功能用途是什么

    樹莓(Raspberry Pi)是一款由英國樹莓基金會研發(fā)的信用卡大小的單板計算機,自2012年推出以來,已經(jīng)發(fā)展出多個型號和版本。樹莓
    的頭像 發(fā)表于 08-30 18:01 ?2990次閱讀

    樹莓gui開發(fā)用什么ide

    樹莓(Raspberry Pi)是一款功能強大的微型計算機,可以運行多種操作系統(tǒng),如Raspbian、Ubuntu等。在樹莓派上進行GUI(圖形用戶界面)開發(fā),可以使用多種集成開發(fā)環(huán)境(IDE
    的頭像 發(fā)表于 08-30 16:49 ?998次閱讀

    樹莓是x86還是arm

    樹莓(Raspberry Pi)是一款由英國樹莓基金會(Raspberry Pi Foundation)開發(fā)的微型計算機。它基于ARM架構(gòu),而非x86架構(gòu)。 一、
    的頭像 發(fā)表于 08-30 15:42 ?1289次閱讀

    樹莓裝ubuntu和raspbian哪個更好

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的單板計算機,廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?1554次閱讀

    樹莓和arm開發(fā)板的區(qū)別

    樹莓(Raspberry Pi)和ARM開發(fā)板都是基于ARM架構(gòu)的微型計算機,但它們之間存在一些關(guān)鍵區(qū)別。 一、歷史背景 樹莓(Raspberry Pi)
    的頭像 發(fā)表于 08-30 15:36 ?1160次閱讀

    樹莓5,Raspberry Pi 5 評測

    )連接器,可用于之前發(fā)布的Raspberry Pi Pico Debug kit調(diào)試,或用于與其他微控制器建立UART連接。 眼尖的同學(xué)會注意到 Pi 5 的USB和以太網(wǎng)接口位置發(fā)生了交換。樹莓5似乎
    發(fā)表于 06-19 14:51
    主站蜘蛛池模板: japanesematur乱儿| 国产色婷亚洲99精品AV| 久久精品WWW人人爽人人| 亚洲中文字幕一二三四区苍井空 | 色一情一乱一伦一区二区三区| 俄罗斯性孕妇孕交| 小荡娃奶真大| 久久精品久久久久| 99热久久这里只有精品视频| 三级中国免费的| 国内精品久久人妻无码HD浪潮 | 夜夜精品视频一区二区| 色婷婷99综合久久久精品| 美女内射少妇三区五区| 高清午夜福利电影在线| 亚洲片在线观看| 老师给美女同学开嫩苞| bdsm中国精品调教ch| 一手揉着乳头一手模仿抽插视频 | 无码射肉在线播放视频| 九九九九九热| GAY空少被体育生开菊| 伊人久久大香线蕉资源| 亚洲H成年动漫在线观看不卡| 理论片午午伦夜理片2021| 韩国电影久久| 中文字幕日本久久2019 | 亚洲看片无码免费视频| 女人高潮特级毛片| 国产精品你懂的在线播放| 伊人影院亚洲| 少妇高潮惨叫久久久久久电影| 美女的让男人桶爽网站| 国产精选视频在线观看| 99er久久国产精品在线| 午夜免费福利片| 欧美XXXX69学生HD| 快播看黄片| 国产午夜AV无码无片久久96| 99热久久这里只有精品视频| 4虎影院午夜在线观看|