在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

樹莓派裸機(jī)代碼之前必做的事情

嵌入式IoT ? 來源:嵌入式IoT ? 作者:嵌入式IoT ? 2020-09-25 15:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1.說明

2.樹莓派的sd

3.config.txt的配置信息

4.小結(jié)

1.說明

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

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

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

2.樹莓派的sd卡

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

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

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

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

啟動(dòng)過程可以描述如下:

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

3.config.txt的配置信息

前面說到,start4.elf會(huì)讀取config.txt中的配置信息,然后去設(shè)置相關(guān)的配置。先看看最簡(jiǎn)單的裸機(jī)代碼啟動(dòng)里設(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。因?yàn)榇诳刂破魇切枰l率進(jìn)行使能的。

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

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

4.小結(jié)

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

- END -

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

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

責(zé)任編輯:haq

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

    關(guān)注

    459

    文章

    52446

    瀏覽量

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

    關(guān)注

    121

    文章

    1993

    瀏覽量

    107353

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓

    樹莓是一款小巧便攜的USB供電計(jì)算機(jī),可以隱藏起來用于小型項(xiàng)目,如網(wǎng)絡(luò)服務(wù)器或家庭自動(dòng)化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看樹莓
    的頭像 發(fā)表于 06-26 15:41 ?253次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    搭載代碼樹莓進(jìn)入國(guó)際空間站!

    前言通過歐洲宇航挑戰(zhàn)賽(EuropeanAstroPiChallenge),年輕人通過在國(guó)際空間站(ISS)上的樹莓(RaspberryPi)計(jì)算機(jī)上運(yùn)行代碼的獨(dú)特體驗(yàn),參與計(jì)算編
    的頭像 發(fā)表于 06-19 17:11 ?462次閱讀
    搭載<b class='flag-5'>代碼</b>的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>進(jìn)入國(guó)際空間站!

    樹莓分類器:用樹莓識(shí)別不同型號(hào)的樹莓

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹莓AI攝像頭來檢測(cè)不同的樹莓型號(hào)。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?398次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識(shí)別不同型號(hào)的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    樹莓“揪出”家里的耗電怪獸!

    在本應(yīng)用中,我們將使用樹莓設(shè)置一個(gè)CE電流監(jiān)測(cè)器,并通過網(wǎng)頁(yè)界面顯示電路的電流讀數(shù)。本項(xiàng)目使用的組件硬件組件樹莓2ModelBx112通道20安培電流監(jiān)測(cè)控制器x1項(xiàng)目背景介紹在本
    的頭像 發(fā)表于 06-04 15:33 ?702次閱讀
    用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓“吉尼斯世界記錄”:將樹莓的性能發(fā)揮到極致的項(xiàng)目!

    樹莓是一款功能強(qiáng)大、體積小巧且高度可定制的設(shè)備,多年來,我們見證了它被應(yīng)用于眾多領(lǐng)域。無論是將其裝入3D打印的經(jīng)典游戲機(jī)外殼,還是簡(jiǎn)單地將它隱藏起來作為家庭文件服務(wù)器,我們都報(bào)道過在社區(qū)里用樹莓
    的頭像 發(fā)表于 05-22 16:53 ?620次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項(xiàng)目!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項(xiàng)目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1樹莓
    的頭像 發(fā)表于 05-13 16:39 ?407次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    deepin 23+樹莓讓小車動(dòng)起來

    deepin 23 +樹莓還有啥新玩法? ? ? 前言 繼我們之前發(fā)布的樹莓運(yùn)行 deepin 23 系統(tǒng)教程后,此次我們將深入探索如何
    的頭像 發(fā)表于 02-12 09:12 ?734次閱讀
    deepin 23+<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>讓小車動(dòng)起來

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

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

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

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

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

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

    樹莓和51單片機(jī)哪個(gè)有優(yōu)勢(shì)

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

    樹莓和單片機(jī)的優(yōu)缺點(diǎn)是什么

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

    樹莓的功能用途是什么

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

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

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

    樹莓裝ubuntu和raspbian哪個(gè)更好

    樹莓(Raspberry Pi)是一款由英國(guó)樹莓基金會(huì)開發(fā)的單板計(jì)算機(jī),廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?2784次閱讀
    主站蜘蛛池模板: 天天澡天天摸天天爽免费 | 关晓彤被调教出奶水的视频 | 国产大片91精品免费观看不卡 | 一区在线视频 | 国产三级日本三级美三级 | 免费看黄色一级毛片 | 色老头久久网 | 日本一区免费看 | 男人视频在线观看 | 午夜视频福利在线 | 久久久久久毛片免费播放 | 国产精品资源手机在线播放 | 日本色图视频 | 俺也去第四色 | 韩国床戏合集三小时hd中字 | 宅男666在线永久免费观看 | 欧美资源在线 | 欧美色婷婷天堂网站 | 欧美一级高清片在线 | 色老二精品视频在线观看 | 亚洲韩国日本欧美一区二区三区 | 三级黄色录像 | 久久精品国产乱子伦多人 | 色综合色综合色综合色综合 | 很黄很暴力 很污秽的小说 很黄很黄叫声床戏免费视频 | 国模小丫大尺度啪啪人体 | 大看蕉a在线观看 | 国产亚洲精品在天天在线麻豆 | 男男全肉高h腐文 | 亚洲国产欧美精品一区二区三区 | 国产精品欧美一区二区三区不卡 | 伊人涩 | 国产精品国产午夜免费福利看 | 特黄特黄特色大片免费观看 | 欧美综合一区二区三区 | 夜夜操夜夜爽 | 亚洲天堂2013 | 成人免费观看一区二区 | 久久综合99 | 福利片网站| 亚洲一区二区精品推荐 |