chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

梳理嵌入式Linux的一些知識(shí)

GReq_mcu168 ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 2020-07-01 16:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

這篇文章簡(jiǎn)單我們來(lái)一起梳理嵌入式Linux的一些知識(shí),方便于一些想跟我一樣想要由單片機(jī)進(jìn)階到嵌入式Linux的朋友做一些參考學(xué)習(xí)。

現(xiàn)在隨著嵌入式Linux的教程不斷增多,相信應(yīng)該有不少學(xué)單片機(jī)的朋友開(kāi)始折騰這個(gè)了吧~

嵌入式Linux學(xué)哪些東西

1、認(rèn)識(shí)Linux

學(xué)單片機(jī)的朋友有些已經(jīng)有一些Linux基礎(chǔ)了,但也不乏有些朋友沒(méi)用過(guò)Linux,甚至有些初學(xué)的讀者朋友沒(méi)聽(tīng)說(shuō)過(guò)Linux,為了照顧這些朋友,這里簡(jiǎn)單地認(rèn)識(shí)一下Linux:

2、認(rèn)識(shí)嵌入式Linux

學(xué)習(xí)嵌入式Linux我們需要關(guān)注以下幾大塊內(nèi)容:

嵌入式Linux軟件部分最重要的三部分當(dāng)屬Bootloader、Linux內(nèi)核、根文件系統(tǒng)。有了這三部分,這才是一個(gè)最小的、完整的、可運(yùn)行程序的嵌入式系統(tǒng)

(1)BootLoader

BootLoader 是在操作系統(tǒng)運(yùn)行之前運(yùn)行的一段代碼, 用于引導(dǎo)操作系統(tǒng)。開(kāi)源的BootLoader 有很多種,比如RedBoot、U-Boot 等 ,其中U-Boot用得最多。U-Boot的源碼非常龐大:

我們的學(xué)習(xí)重心在于學(xué)會(huì)怎么把芯片原廠移植好的U-Boot拿來(lái)修改然后適配我們的板子:

平時(shí)說(shuō)的U-Boot移植通常都是指把芯片原廠移植好的U-Boot拿來(lái)修改適配我們板子的過(guò)程。

(2)Linux內(nèi)核

Linux 內(nèi)核(英語(yǔ):Linux kernel)是一種開(kāi)源的類(lèi) Unix 操作系統(tǒng)宏內(nèi)核。我們要學(xué)習(xí)移植的Linux內(nèi)核也是把芯片原廠移植好的Linux內(nèi)核包拿來(lái)作移植。內(nèi)核源碼目錄如下:

(3)根文件系統(tǒng)

根文件系統(tǒng)(rootfs)是內(nèi)核啟動(dòng)時(shí)所 mount(掛載)的第一個(gè)文件系統(tǒng),內(nèi)核代碼映像文件保存在根文件系中。

而系統(tǒng)引導(dǎo)啟動(dòng)程序會(huì)在根文件系統(tǒng)掛載之后從中把一些基本的初始化腳本和服務(wù)等加載到內(nèi)存中去運(yùn)行。

這里的根文件系統(tǒng)的重要性猶如我們電腦的系統(tǒng)盤(pán),有這個(gè)系統(tǒng)盤(pán)我們才能裝我們的系統(tǒng)。根文件系統(tǒng)有根目錄/,根目錄下有很多子目錄:

(圖片來(lái)源:百問(wèn)網(wǎng))

根文件系統(tǒng)需要專(zhuān)門(mén)的框架來(lái)制作,這樣的框架有:BusyBox、Yocto、Buildroot 等。

(4)Linux驅(qū)動(dòng)

Linux驅(qū)動(dòng)應(yīng)該是我們學(xué)習(xí)嵌入式Linux的起始點(diǎn)與重心。上面那三大塊內(nèi)容已經(jīng)為我們創(chuàng)建好了完整的嵌入式Linux環(huán)境。

有了這樣一個(gè)環(huán)境,我們的Linux驅(qū)動(dòng)就可以裝在上面。Linux驅(qū)動(dòng):

Linux中有三大類(lèi)驅(qū)動(dòng):字符設(shè)備驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)。

設(shè)備樹(shù)(Device Tree):描述設(shè)備樹(shù)的文件。這個(gè) DTS 文件采用樹(shù)形結(jié)構(gòu)描述板級(jí)設(shè)備,也就是開(kāi)發(fā)板上的設(shè)備信息,比如CPU 數(shù)量、 內(nèi)存基地址、 IIC 接口上接了哪些設(shè)備、 SPI 接口上接了哪些設(shè)備等等。

(5)Linux應(yīng)用

Linux中:一切皆文件。在C編程中,我們都知道對(duì)文件的操作都是打開(kāi)文件、讀寫(xiě)文件、關(guān)閉文件等。

在嵌入式Linux應(yīng)用編程中,我們的關(guān)注點(diǎn)也是怎么操作(open、close、read、write等)這些文件(設(shè)備文件等)。

3、一點(diǎn)經(jīng)驗(yàn)

嵌入式Linux的學(xué)習(xí)相對(duì)于單片機(jī)的學(xué)習(xí)來(lái)說(shuō)要難很多,不僅要學(xué)的內(nèi)容變多了,光是熟悉開(kāi)發(fā)環(huán)境(Linux環(huán)境、交叉編譯器、Makefile等)這一塊就挺多內(nèi)容。

從深度上更是比單片機(jī)要深不少,比如以前學(xué)STM32是IDE編譯,嵌入式Linux是直接用編譯器編譯或使用編譯腳本編譯。

從我入門(mén)到放棄的經(jīng)驗(yàn)來(lái)看,從Linux驅(qū)動(dòng)和應(yīng)用開(kāi)始學(xué)是比較好的,不要一上來(lái)就去擼上面那三個(gè)巨頭,不然很容易從入門(mén)到放棄。。。

學(xué)習(xí)這個(gè)做好吃苦的準(zhǔn)備,可能很多問(wèn)題都會(huì)令你暴走。比如你按照教程來(lái)做,最后出來(lái)的結(jié)果可能不一樣,可能會(huì)冒出很多問(wèn)題,這都是很正常的。

而且有時(shí)候看似只是一個(gè)問(wèn)題,但這個(gè)問(wèn)題會(huì)牽扯著其它問(wèn)題,得有耐心的解決。

比如之前我在編譯Linux內(nèi)核的時(shí)候,出現(xiàn)如下問(wèn)題:

根據(jù)問(wèn)題描述:缺少了一個(gè)叫l(wèi)zop的東西,然后我按提示安裝這個(gè)東西,然后又冒出問(wèn)題:

然后只能到網(wǎng)上找解決方法,然后一個(gè)一個(gè)方法試,最后解決了:

我的實(shí)驗(yàn)方法是和教程一樣的,包括開(kāi)發(fā)環(huán)境都是教程提供的,這樣與教程完全一樣的操作都能出現(xiàn)問(wèn)題,何況有時(shí)候得自己搭環(huán)境,那出錯(cuò)的概率會(huì)更大。

無(wú)論如何,都不要那么容易放棄。

最后

嵌入式Linux的知識(shí)不僅限于上面提到的,但基本包含了我們的主要學(xué)習(xí)內(nèi)容。上面提到的只是一些表層的概念性的知識(shí),之后我們將一起來(lái)學(xué)習(xí)分享更多比較深入的、細(xì)節(jié)的知識(shí)。

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

    關(guān)注

    5193

    文章

    20281

    瀏覽量

    331748
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11684

    瀏覽量

    218581

原文標(biāo)題:從單片機(jī)工程師的角度看嵌入式Linux

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Linux 下開(kāi)發(fā)嵌入式必備命令速查表

    管理等環(huán)節(jié)輕松應(yīng)對(duì)各種問(wèn)題。今天,我們整理了Linux嵌入式開(kāi)發(fā)必備命令速查表,讓你篇文章就能快速查閱。、文件與目錄管理命令在
    的頭像 發(fā)表于 01-19 09:06 ?452次閱讀
    <b class='flag-5'>Linux</b> 下開(kāi)發(fā)<b class='flag-5'>嵌入式</b>必備命令速查表

    如何在Zynq UltraScale+ MPSoC平臺(tái)上通過(guò)JTAG啟動(dòng)嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過(guò) JTAG 在 Zynq SoC 上啟動(dòng)嵌入式 Linux 鏡像(從 JTAG 啟動(dòng) Zynq-7000 嵌入式 Linux:使用
    的頭像 發(fā)表于 01-13 11:45 ?3269次閱讀

    系統(tǒng)嵌入式的學(xué)習(xí)路線

    知識(shí)太多,太雜,太廣,很多嵌入式初學(xué)者陷入嵌入式知識(shí)的海洋中,東學(xué)點(diǎn),西學(xué)點(diǎn),找不到學(xué)習(xí)的
    發(fā)表于 12-16 07:49

    嵌入式應(yīng)掌握的幾種能力

    、能力。 我覺(jué)得牢牢地掌握這些99.99999%的概率都會(huì)用得上的嵌入式軟件基礎(chǔ)對(duì)找工作才比較有利。其它一些技術(shù)可以再用的時(shí)候再去了解、學(xué)習(xí)。 特別是一些行業(yè)相關(guān)知識(shí),可以入行之后
    發(fā)表于 12-08 06:05

    CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)

    嵌入式軟件開(kāi)發(fā)作為計(jì)算機(jī)科學(xué)和電子工程的交叉領(lǐng)域,要求開(kāi)發(fā)人員具備系列的專(zhuān)業(yè)知識(shí)和技能。 而基于CW32的嵌入式軟件開(kāi)發(fā)必備知識(shí)包括以下
    發(fā)表于 11-28 07:48

    【「Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗(yàn)】+基礎(chǔ)概念學(xué)習(xí)理解

    。為了對(duì)珠峰更了解,開(kāi)始接觸 Linux 系統(tǒng)開(kāi)發(fā),并逐漸認(rèn)識(shí)到 Yocto 項(xiàng)目在定制嵌入式 Linux 系統(tǒng)方面的重要性。所以很想拜讀下此書(shū)。 二、書(shū)籍內(nèi)容概述 基礎(chǔ)
    發(fā)表于 08-04 22:29

    怎么結(jié)合嵌入式,Linux,和FPGA三個(gè)方向達(dá)到個(gè)均衡發(fā)展?

    嵌入式領(lǐng)域,不少人都懷揣著讓嵌入式、Linux 和 FPGA 三個(gè)方向?qū)崿F(xiàn)均衡發(fā)展的夢(mèng)想,然而實(shí)踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學(xué)玩單片機(jī)起步,憑借將智能算法融入
    的頭像 發(fā)表于 06-25 10:08 ?745次閱讀
    怎么結(jié)合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三個(gè)方向達(dá)到<b class='flag-5'>一</b>個(gè)均衡發(fā)展?

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    :成本較低,適合預(yù)算有限的項(xiàng)目。 Linux嵌入式 :成本較高,適合對(duì)功能和性能有較高要求的項(xiàng)目。 8. 社區(qū)和支持 : 單片機(jī)嵌入式 :社區(qū)和支持相對(duì)較小,但也有一些專(zhuān)業(yè)的論壇
    發(fā)表于 06-20 09:46

    【書(shū)籍評(píng)測(cè)活動(dòng)NO.61】Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)

    用的嵌入式 Linux 構(gòu)建工具之是 Buildroot。盡管 Buildroot 能在較短時(shí)間內(nèi)提供簡(jiǎn)單的嵌入式系統(tǒng),但它的局限性在于對(duì)復(fù)雜項(xiàng)目和頻繁變化的軟硬件需求的支持不足。隨
    發(fā)表于 05-21 10:00

    嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車(chē)載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開(kāi)發(fā)的前置知識(shí)熟悉C語(yǔ)言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式適合自學(xué)嗎?

    花費(fèi)大量的時(shí)間來(lái)篩選和甄別哪些資料是高質(zhì)量的、適合自己的。 2)缺乏權(quán)威性:一些自學(xué)資料可能缺乏權(quán)威性,學(xué)習(xí)者可能會(huì)學(xué)習(xí)到一些錯(cuò)誤的知識(shí)或方法,這會(huì)對(duì)學(xué)習(xí)效果產(chǎn)生負(fù)面影響。 如果自律性并沒(méi)有很強(qiáng)、
    發(fā)表于 04-27 09:54

    入行嵌入式難度大不大?

    ,學(xué)習(xí)嵌入式會(huì)相對(duì)容易一些。但需要注意的是,嵌入式開(kāi)發(fā)不僅需要技術(shù)能力,還需要具備良好的溝通能力和解決問(wèn)題的能力。 (三)技能提升 對(duì)于已經(jīng)在嵌入式領(lǐng)域工作的人來(lái)說(shuō),技能提升是保持競(jìng)爭(zhēng)
    發(fā)表于 04-17 10:14

    硬核升級(jí)!華清遠(yuǎn)見(jiàn)STM32MP157驅(qū)動(dòng)開(kāi)發(fā)課程助力嵌入式Linux底層開(kāi)發(fā)入門(mén)進(jìn)階

    初學(xué)者感到難度較大。因此,理清學(xué)習(xí)內(nèi)容是進(jìn)入這領(lǐng)域的重要第步。那么,對(duì)于零基礎(chǔ)的學(xué)習(xí)者而言,需要掌握哪些核心知識(shí)呢?嵌入式Linux驅(qū)動(dòng)
    的頭像 發(fā)表于 04-03 16:40 ?863次閱讀
    硬核升級(jí)!華清遠(yuǎn)見(jiàn)STM32MP157驅(qū)動(dòng)開(kāi)發(fā)課程助力<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>底層開(kāi)發(fā)入門(mén)進(jìn)階

    怎么嵌入式linux下控制dlp?

    請(qǐng)問(wèn)怎么嵌入式linux 下控制dlp,有沒(méi)有支持
    發(fā)表于 03-03 07:02

    如何成為嵌入式開(kāi)發(fā)工程師?

    如何成為嵌入式開(kāi)發(fā)工程師? 成為嵌入式開(kāi)發(fā)工程師通常需要掌握系列技能和知識(shí),并且在實(shí)踐中不斷積累經(jīng)驗(yàn)。以下是一些基本步驟和建議: 1. 基
    發(fā)表于 02-19 10:39