日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

梳理嵌入式Linux的一些知識

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-07-01 16:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

這篇文章簡單我們來一起梳理嵌入式Linux的一些知識,方便于一些想跟我一樣想要由單片機進階到嵌入式Linux的朋友做一些參考學習。

現(xiàn)在隨著嵌入式Linux的教程不斷增多,相信應該有不少學單片機的朋友開始折騰這個了吧~

嵌入式Linux學哪些東西

1、認識Linux

學單片機的朋友有些已經有一些Linux基礎了,但也不乏有些朋友沒用過Linux,甚至有些初學的讀者朋友沒聽說過Linux,為了照顧這些朋友,這里簡單地認識一下Linux:

2、認識嵌入式Linux

學習嵌入式Linux我們需要關注以下幾大塊內容:

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

(1)BootLoader

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

我們的學習重心在于學會怎么把芯片原廠移植好的U-Boot拿來修改然后適配我們的板子:

平時說的U-Boot移植通常都是指把芯片原廠移植好的U-Boot拿來修改適配我們板子的過程。

(2)Linux內核

Linux 內核(英語:Linux kernel)是一種開源的類 Unix 操作系統(tǒng)宏內核。我們要學習移植的Linux內核也是把芯片原廠移植好的Linux內核包拿來作移植。內核源碼目錄如下:

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

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

而系統(tǒng)引導啟動程序會在根文件系統(tǒng)掛載之后從中把一些基本的初始化腳本和服務等加載到內存中去運行。

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

(圖片來源:百問網)

根文件系統(tǒng)需要專門的框架來制作,這樣的框架有:BusyBox、Yocto、Buildroot 等。

(4)Linux驅動

Linux驅動應該是我們學習嵌入式Linux的起始點與重心。上面那三大塊內容已經為我們創(chuàng)建好了完整的嵌入式Linux環(huán)境。

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

Linux中有三大類驅動:字符設備驅動、塊設備驅動、網絡設備驅動。

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

(5)Linux應用

Linux中:一切皆文件。在C編程中,我們都知道對文件的操作都是打開文件、讀寫文件、關閉文件等。

在嵌入式Linux應用編程中,我們的關注點也是怎么操作(open、close、read、write等)這些文件(設備文件等)。

3、一點經驗

嵌入式Linux的學習相對于單片機的學習來說要難很多,不僅要學的內容變多了,光是熟悉開發(fā)環(huán)境(Linux環(huán)境、交叉編譯器、Makefile等)這一塊就挺多內容。

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

從我入門到放棄的經驗來看,從Linux驅動和應用開始學是比較好的,不要一上來就去擼上面那三個巨頭,不然很容易從入門到放棄。。。

學習這個做好吃苦的準備,可能很多問題都會令你暴走。比如你按照教程來做,最后出來的結果可能不一樣,可能會冒出很多問題,這都是很正常的。

而且有時候看似只是一個問題,但這個問題會牽扯著其它問題,得有耐心的解決。

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

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

然后只能到網上找解決方法,然后一個一個方法試,最后解決了:

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

無論如何,都不要那么容易放棄。

最后

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

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

    關注

    5210

    文章

    20680

    瀏覽量

    337374
  • Linux
    +關注

    關注

    88

    文章

    11822

    瀏覽量

    219602

原文標題:從單片機工程師的角度看嵌入式Linux

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    華清遠見嵌入式全棧工程師實戰(zhàn)課重磅升級!一站式掌握STM32+Linux核心技術,仿真教學加持,學習效率翻倍!

    講課程直接升級至1400+講,STM32+Linux雙體系全覆蓋,搭配升級后的嵌入式虛擬仿真系統(tǒng),易學有趣,0基礎也能輕松搭建全棧知識框架,高效對接企業(yè)嵌入式開發(fā)崗
    的頭像 發(fā)表于 03-18 14:36 ?521次閱讀
    華清遠見<b class='flag-5'>嵌入式</b>全棧工程師實戰(zhàn)課重磅升級!<b class='flag-5'>一站式</b>掌握STM32+<b class='flag-5'>Linux</b>核心技術,仿真教學加持,學習效率翻倍!

    嵌入式單片機開發(fā)學習路徑

    項目 通過完成一些簡單的項目來鞏固所學知識。例如,制作個簡單的LED閃爍電路或溫度傳感器測量系統(tǒng)。 4. 高級進階 4.1 操作系統(tǒng)學習 學習嵌入式操作系統(tǒng)(如FreeRTO
    發(fā)表于 02-09 15:42

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

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

    如何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

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

    系統(tǒng)嵌入式的學習路線

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

    嵌入式應掌握的幾種能力

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

    ARM嵌入式這樣學

    , UCOS 等等,個操作系統(tǒng)移植到里面去,跑起來,然后就自己利用操作系統(tǒng)的接口寫一些應用軟件,就可以直接控制其強大的外設了。當然了,這中間還有另外種工程師在工作,就是嵌入式驅動工
    發(fā)表于 12-04 07:48

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

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

    嵌入式與FPGA的區(qū)別

    ,現(xiàn)在招聘的崗位雖然越來越多,但需要本科以上理工類相關專業(yè)才行,而大廠更是要985/211的相關專業(yè)的碩士,因此fpga的門檻很高,可替代性差; 如果是嵌入式與FPGA要選個,個人是比較建議嵌入式的。但具體要選哪個,更多還是看
    發(fā)表于 11-20 07:12

    嵌入式開發(fā)的關鍵點介紹

    。 嵌入式系統(tǒng)的應用非常廣泛,例如:智能家居、智能手表、智能手機、智能汽車等等。嵌入式開發(fā)需要開發(fā)人員具備深入的硬件知識和編程經驗,但是也有一些嵌入
    發(fā)表于 11-13 08:12

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

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

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

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

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

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

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

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

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    特定功能的計算機系統(tǒng),廣泛應用于智能家居、工業(yè)控制、醫(yī)療設備、車載系統(tǒng)等領域。 2. 學習嵌入式開發(fā)的前置知識熟悉C語言編程掌握基本的數據結構與算法了解數字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29
    称多县| 锡林浩特市| 海晏县| 广东省| 徐汇区| 屯门区| 洪泽县| 醴陵市| 遂川县| 霍城县| 武邑县| 建昌县| 伊春市| 富顺县| 建始县| 丹阳市| 翁源县| 天峨县| 蛟河市| 湄潭县| 龙胜| 北京市| 山阳县| 塔河县| 蒲江县| 襄樊市| 延吉市| 宁陵县| 长寿区| 巫山县| 句容市| 久治县| 瑞金市| 资阳市| 大丰市| 普安县| 昭苏县| 常熟市| 甘德县| 涞水县| 兴文县|