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

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

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

列舉一些嵌入式Linux應(yīng)用開發(fā)里經(jīng)常使用的技巧和套路

工程師進(jìn)階筆記 ? 來(lái)源:工程師進(jìn)階筆記 ? 2023-11-14 10:44 ? 次閱讀

本篇文章,我們基于ELF 1S這一款開發(fā)板,來(lái)列舉一些嵌入式Linux應(yīng)用開發(fā)里面,經(jīng)常使用到的開發(fā)技巧和套路。

1-收到開發(fā)板,首先要做什么?

先欣賞一下包裝外觀,然后打開包裝盒,小心翼翼拿起來(lái),觀賞一下開發(fā)板的顏值,還可以湊近點(diǎn)聞一下電路板的松香味和洗板水味。

如果開發(fā)板帶屏幕,還要看一下屏幕外觀是否有破損,如果有,馬上聯(lián)系開發(fā)板廠家進(jìn)行處理。

2-開發(fā)板如何上電測(cè)試?

看這份文檔《01-0 ELF 1、ELF 1S開發(fā)板_快速啟動(dòng)手冊(cè)_V1.pdf》,基本上,現(xiàn)在很多入門級(jí)的開發(fā)板,都會(huì)配套一份“快速啟動(dòng)手冊(cè)”之類的文檔,旨在幫助初學(xué)者快速地把開發(fā)板通電使用起來(lái)。

至少通過這份手冊(cè),你可以知道開發(fā)板有哪些硬件資源,以及如何通電讓開發(fā)板運(yùn)行起來(lái)。

wKgaomVS31mAK7XOAADo37lFoNA410.jpg

**3-我暫時(shí)沒有硬件基礎(chǔ),能學(xué)習(xí)嵌入式Linux開發(fā)嗎? **

嵌入式開發(fā)是必須要具備硬件電路知識(shí)的,不學(xué)硬件是不行的。但嵌入式軟件和硬件的學(xué)習(xí)次序,則可以靈活搭配,更何況ELF 1S這款開發(fā)板也提供了一系列的硬件學(xué)習(xí)文檔和視頻。

如果你是百分百的初學(xué)者,同時(shí)又對(duì)嵌入式技術(shù)存在執(zhí)念,那建議先從嵌入式Linux應(yīng)用開發(fā)入手,這樣至少?zèng)]那么容易被勸退。

4-想學(xué)嵌入式Linux應(yīng)用程序開發(fā),應(yīng)該怎樣開始呢?

要想學(xué)嵌入式Linux應(yīng)用程序,首先得了解什么是“Linux操作系統(tǒng)”?網(wǎng)絡(luò)上已經(jīng)有一大堆的概念介紹了。

要先學(xué)會(huì)用一款桌面型的Linux系統(tǒng),比如Ubuntu。因?yàn)殚_發(fā)板上面的應(yīng)用程序基本上都是在桌面型的Linux系統(tǒng)上進(jìn)行開發(fā)的,然后經(jīng)過交叉編譯后,再傳輸?shù)介_發(fā)板上面運(yùn)行。

C語(yǔ)言編程是必學(xué)的,shell編程也最好打一下基礎(chǔ),這兩門語(yǔ)言是嵌入式開發(fā)里面必不可少的兩大知識(shí)點(diǎn)。如果沒有這兩門語(yǔ)言的基礎(chǔ),建議先不要碰開發(fā)板,先在網(wǎng)上找相關(guān)的課程,把這兩門語(yǔ)言的基礎(chǔ)先打一下。

基礎(chǔ)不牢,地動(dòng)山搖!

編程語(yǔ)言學(xué)完后,就是搭建開發(fā)環(huán)境了。說得通俗一點(diǎn),搭建開發(fā)環(huán)境其實(shí)就是在你的Windows或者Ubuntu系統(tǒng)上面,安裝各種軟件,使你的電腦能跟開發(fā)板連接起來(lái),能在兩者之間互相傳輸文件。安裝各種軟件,我相信這活難不倒各位。

嵌入式Linux應(yīng)用程序開發(fā),本質(zhì)上就是在你的桌面PC上寫程序,然后交叉編譯,然后把程序傳到開發(fā)板上面運(yùn)行起來(lái)。因?yàn)橛行╅_發(fā)板的性能,不足以支撐你在其上面寫代碼編譯。但有些性能非常強(qiáng)大的開發(fā)板,是可以直接在上面編程和運(yùn)行的,完全不需要交叉編譯。

記?。呵度胧絃inux開發(fā)板,本質(zhì)上也是一臺(tái)電腦,本質(zhì)上也是一臺(tái)電腦,本質(zhì)上也是一臺(tái)電腦。

5-很多出學(xué)者都被搭建開發(fā)環(huán)境勸退了,搭建開發(fā)環(huán)境很難嗎?

嵌入式Linux開發(fā)板的開發(fā)環(huán)境,有兩種獲得方式:1-根據(jù)教程和網(wǎng)上的資料,自己折騰。2-開發(fā)板廠家搭建好,直接拿來(lái)使用。

建議沒有嵌入式基礎(chǔ)的初學(xué)者,先直接用開發(fā)板廠家搭建好的開發(fā)環(huán)境,這樣不會(huì)那么容易被勸退,到了后期掌握了一定的技巧后,再嘗試自己搭建開發(fā)環(huán)境。搭建開發(fā)環(huán)境,就是安裝ubuntu,以及在Ubuntu上面安裝軟件。

使用廠家搭建好的開發(fā)環(huán)境,看《01-1 ELF 1、ELF 1S開發(fā)板_軟件教程_V1.pdf》的第二章,第2.1.3節(jié),如下圖所示。

wKgaomVS31mASxXdAAGL6osTCnQ757.jpg

6-用什么軟件編寫嵌入式Linux應(yīng)用程序代碼?

寫代碼的軟件多了去了,隨便簡(jiǎn)單改點(diǎn)代碼的話,記事本也是可以的。初學(xué)者比較常用的,可以用vscode,QtCreator也是一款很不錯(cuò)的編輯器,一開始入門學(xué)習(xí),不太建議迷信Vim大法,編輯器只是工具,Vim這種略復(fù)雜的編輯工具,還不太適合初級(jí)入門的同學(xué)。

不用太迷信代碼編輯工具,用你自己平時(shí)用習(xí)慣的,以及覺得編輯效率最高的,如果你平時(shí)沒有用啥編輯器,那建議用vscode吧,這工具是真香。

wKgZomVS34eAPpYvAAE4ZTMYRbk158.jpg

7-編寫完代碼,怎樣把代碼轉(zhuǎn)化為開發(fā)板能運(yùn)行的程序?

交叉編譯!前面提到,如果在開發(fā)板上面直接編寫代碼然后編譯,那個(gè)叫直接編譯運(yùn)行。如果在桌面型PC上編寫代碼和編譯,然后在開發(fā)板上面運(yùn)行,那就叫做交叉編譯。

可以查看《01-1 ELF 1、ELF 1S開發(fā)板_軟件教程_V1.pdf》這份文檔的第二章2.6.3章節(jié),如下圖所示。

wKgaomVS31mAMDbFAAEjX3u8r4s282.jpg

8-怎樣在桌面PC和開發(fā)板之間互相傳輸文件?

一般有兩種方式:1-通過TF卡或者U盤互相拷貝,就像在兩臺(tái)電腦直接互拷文件一樣。2-用網(wǎng)線把電腦跟開發(fā)板連起來(lái),通過FTP協(xié)議或者NFS網(wǎng)絡(luò)文件系統(tǒng)進(jìn)行傳輸。

我個(gè)人比較喜歡通過網(wǎng)絡(luò)的方式,在電腦和開發(fā)板直接互傳文件,F(xiàn)TP協(xié)議的方式,在快速啟動(dòng)手冊(cè)里面的【附錄一】有介紹,如下圖所示。

wKgZomVS31mAQyO6AAEw_iF8-U8903.jpg

NFS網(wǎng)絡(luò)文件系統(tǒng),也是一種比較常用的方式,網(wǎng)上很多資料,可自行搜索學(xué)習(xí),特別是需要經(jīng)常修改文件系統(tǒng)配置的時(shí)候,通過NFS掛載文件系統(tǒng),可以起到事半功倍的作用。

TF卡一般用在產(chǎn)品批量生產(chǎn)時(shí)的固件燒錄,個(gè)人感覺,通過TF卡拷貝應(yīng)用程序到開發(fā)板然后運(yùn)行,略麻煩。

9-開發(fā)板的系統(tǒng)被搞壞了,怎樣恢復(fù)成出廠設(shè)置?

開發(fā)板廠家一般都會(huì)為板子配套出廠鏡像,在我們的開發(fā)過程中,如果不小心把原有的系統(tǒng)搞壞了,可以根據(jù)開發(fā)板廠家提供的方法,把開發(fā)板恢復(fù)成出廠時(shí)的狀態(tài),一般是通過特定的燒錄工具和TF卡進(jìn)行燒錄。

快速啟動(dòng)手冊(cè)里面的第四章,有講述如何為開發(fā)板恢復(fù)出廠設(shè)置,如下圖所示。

wKgZomVS31mAI5E0AAD-6yaUOJE861.jpg

10-我想進(jìn)一步學(xué)習(xí)更復(fù)雜的嵌入式Linux系統(tǒng)移植和驅(qū)動(dòng)開發(fā),應(yīng)該怎樣開始?

看文檔和視頻,《01-1 ELF 1、ELF 1S開發(fā)板_軟件教程_V1.pdf》這份文檔的第五章至第九章,提供了Linux內(nèi)核移植、驅(qū)動(dòng)開發(fā)、u-boot介紹、文件系統(tǒng)移植,這幾大塊基本的知識(shí)點(diǎn),如下圖所示。

wKgZomVS31mAEWlwAAGjI-EMpGg400.jpg







審核編輯:劉清

聲明:本文內(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)注

    5083

    文章

    19131

    瀏覽量

    305544
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    594

    瀏覽量

    27407
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

    136934
  • elf
    elf
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    2190

原文標(biāo)題:嵌入式 Linux 開發(fā),常用的套路和技巧。

文章出處:【微信號(hào):工程師進(jìn)階筆記,微信公眾號(hào):工程師進(jìn)階筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    實(shí)用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺智能持續(xù)為大家?guī)?lái)更多嵌入式開發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?74次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>必備-RK3562演示<b class='flag-5'>Linux</b>常用系統(tǒng)查詢命令(上)觸覺智能出品

    新手怎么學(xué)嵌入式?

    操作 實(shí)踐是學(xué)習(xí)嵌入式技術(shù)的關(guān)鍵。你可以購(gòu)買一些低成本的嵌入式開發(fā)板,如 Arduino 或 Raspberry Pi。這些開發(fā)板具有豐富的資源和簡(jiǎn)單易懂的文檔,非常適合初學(xué)者。通過在
    發(fā)表于 12-12 10:51

    零基礎(chǔ)嵌入式開發(fā)學(xué)習(xí)路線

    的數(shù)據(jù)結(jié)構(gòu)與算法能夠提升運(yùn)行效率,同樣不好的數(shù)據(jù)結(jié)構(gòu)與算法也會(huì)造成空間的浪費(fèi)。對(duì)于嵌入式開發(fā)來(lái)說,掌握一些比較基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)還是非常有必要的。比如線性結(jié)構(gòu)如鏈表、棧、隊(duì)列、樹、圖等??梢酝ㄟ^這些邏輯
    發(fā)表于 10-25 15:55

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植
    的頭像 發(fā)表于 10-22 14:46 ?649次閱讀
    【北京迅為】i.mx8mm<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>開發(fā)</b>指南第四篇 <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)移植篇第六十九章uboot移植

    【免費(fèi)分享】嵌入式Linux開發(fā)板【入門+項(xiàng)目,應(yīng)用+底層】資料包網(wǎng)打盡,附教程/視頻/源碼...

    ?想要深入學(xué)習(xí)嵌入式Linux開發(fā)嗎?現(xiàn)在機(jī)會(huì)來(lái)了!我們?yōu)槌鯇W(xué)者們準(zhǔn)備了份全面的資料包,包括原理圖、教程、課件、視頻、項(xiàng)目、源碼等,所有資料全部免費(fèi)領(lǐng)取,課程視頻可試看(購(gòu)買后看完整
    的頭像 發(fā)表于 09-05 10:45 ?287次閱讀
    【免費(fèi)分享】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>板【入門+項(xiàng)目,應(yīng)用+底層】資料包<b class='flag-5'>一</b>網(wǎng)打盡,附教程/視頻/源碼...

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)個(gè)復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)
    的頭像 發(fā)表于 09-02 09:11 ?506次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)
    的頭像 發(fā)表于 09-02 09:09 ?405次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)
    的頭像 發(fā)表于 09-02 09:07 ?399次閱讀

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?336次閱讀
    【出版發(fā)行】<b class='flag-5'>嵌入式</b>系統(tǒng)原理與<b class='flag-5'>開發(fā)</b>——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)

    專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

    當(dāng)前,嵌入式系統(tǒng)已成為智能設(shè)備的核心之,RISC-V+Linux的開源力量為嵌入式系統(tǒng)注入強(qiáng)大的創(chuàng)新動(dòng)力。作為中國(guó)RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者,賽昉科技與業(yè)界專家合作推出《
    的頭像 發(fā)表于 07-24 08:20 ?615次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統(tǒng)原理與<b class='flag-5'>開發(fā)</b>——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)》新書發(fā)售

    嵌入式開發(fā)者的未來(lái)

    嵌入式系統(tǒng)的就業(yè)方向非常廣泛,涵蓋了許多不同的行業(yè)和領(lǐng)域。以下是一些常見的嵌入式系統(tǒng)就業(yè)方向:消費(fèi)電子產(chǎn)品:這包括智能手機(jī)、平板電腦、智能電視、智能家居設(shè)備等。嵌入式系統(tǒng)工程師可以參與
    的頭像 發(fā)表于 06-23 08:10 ?376次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>者的未來(lái)

    fpga與嵌入式的區(qū)別 嵌入式和fpga開發(fā)有什么關(guān)系

    fpga與嵌入式的區(qū)別 FPGA與嵌入式系統(tǒng)在設(shè)計(jì)和應(yīng)用上存在一些關(guān)鍵的區(qū)別,具體如下: 靈活性:FPGA具有高度的靈活性,可以根據(jù)需要重新編程以實(shí)現(xiàn)不同的功能。而嵌入式系統(tǒng)的硬件功能
    的頭像 發(fā)表于 03-14 17:04 ?6917次閱讀

    嵌入式人工智能的就業(yè)方向有哪些?

    的發(fā)展方向有很多,門檻高低不樣。下面給大家列舉一些相應(yīng)崗位所需具備的技能: 嵌入式Linux
    發(fā)表于 02-26 10:17

    嵌入式軟件開發(fā)和軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)和軟件開發(fā)是兩個(gè)不同的概念,它們?cè)?b class='flag-5'>一些關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指
    的頭像 發(fā)表于 01-22 15:27 ?2301次閱讀

    嵌入式Linux開發(fā)的三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機(jī)開發(fā)、SDK開發(fā)和驅(qū)動(dòng)開發(fā)。
    的頭像 發(fā)表于 01-22 14:22 ?984次閱讀