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

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

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

嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-05-23 08:20 ? 次閱讀

電子發(fā)燒友技術(shù)探索官,分享你的原創(chuàng)電子行業(yè)文章!


本期小編繼續(xù)為大家分享一些優(yōu)秀專欄原創(chuàng)技術(shù)文章,供大家一起學(xué)習(xí)交流。




本期推薦

專欄作者:嵌入式技術(shù)

專欄介紹:精通STM32開發(fā)(寄存器、HAL庫)、PCB電路設(shè)計(jì)、Linux下進(jìn)程、線程、網(wǎng)絡(luò)編程等。


Linux下基于GTK人臉識(shí)別界面設(shè)計(jì)


GTK(GIMP Toolkit)是一套源碼以LGPL許可協(xié)議分發(fā)、跨平臺(tái)的圖形工具包。最初是為GIMP寫的,已成為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的一個(gè)通用圖形庫,是GNU/Linux下開發(fā)圖形界面的應(yīng)用程序的主流開發(fā)工具之一。當(dāng)然,GTK也是支持跨平臺(tái)的,支持Unix類的系統(tǒng)、Windows,甚至手機(jī)平臺(tái)。


GTK是使用C語言寫的,所以其原生API都是面向C的,同時(shí)GTK的一大特點(diǎn)是,在C語言層面實(shí)現(xiàn)了面向?qū)ο蟮奶匦浴TK是完全免費(fèi)的,而且基于LGPL協(xié)議,這可以保證私有軟件通過鏈接使用GTK可以不把軟件源代碼開放,對(duì)商業(yè)應(yīng)用較友好,這跟GPL協(xié)議是不一樣的。也正是LGPL協(xié)議,使得早些年Gnome(基于GTK編寫)風(fēng)頭勝過KDE(基于QT編寫)。(開發(fā)流程如下圖)



>>>點(diǎn)此查看全文




Linux下基于SDL庫貪吃蛇游戲


SDL(Simple DirectMediaLayer)是一套開放源代碼的跨平臺(tái)多媒體開發(fā)庫,使用C語言寫成。SDL提供了數(shù)種控制圖像、聲音、輸出入的函數(shù),讓開發(fā)者只要用相同或是相似的代碼就可以開發(fā)出跨多個(gè)平臺(tái)(Linux、Windows、MacOS X等)的應(yīng)用軟件?,F(xiàn)SDL多用于開發(fā)游戲、模擬器、媒體播放器等多媒體應(yīng)用領(lǐng)域。


實(shí)現(xiàn)原理

貪吃蛇游戲?qū)崿F(xiàn)方式很多,可以通過鏈表方式實(shí)現(xiàn),也可以通過結(jié)構(gòu)體數(shù)組方式實(shí)現(xiàn)。結(jié)構(gòu)體主要用來保村蛇身的坐標(biāo)位置和長(zhǎng)度。移動(dòng)蛇身則通過不斷遍歷結(jié)構(gòu)體數(shù)組,刷新屏幕窗口即可。



>>>點(diǎn)此查看全文




Linux下V4L2框架基于SDL庫本地USB攝像頭監(jiān)控


1.攝像頭框架編程步驟

(1)打開攝像頭設(shè)備(/dev/video0 、/dev/video1 );


(2)設(shè)置圖像格式:VIDIOC_S_FMT(視頻捕獲格式、圖像顏色數(shù)據(jù)格式、圖像寬和高);


(3)申請(qǐng)緩沖區(qū):VIDIOC_REQBUFS(緩沖區(qū)數(shù)量、緩沖映射方式、視頻捕獲格式);


(4)將緩沖區(qū)映射到進(jìn)程空間:VIDIOC_QUERYBUF(要映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);


(5)將緩沖區(qū)添加到隊(duì)列中:VIDIOC_QBUF(映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);


(6)開啟攝像頭采集:VIDIOC_STREAMON (視頻捕獲格式) (7)從采集隊(duì)列中取出圖像數(shù)據(jù),通過SDL圖像渲染;



>>>點(diǎn)此查看全文




Linux下IIC子系統(tǒng)和觸摸屏驅(qū)動(dòng)


I2C( Inter-Integrated Circuit)總線是由 PHILIPS 公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。


I2C特性

(1)只要求兩條總線線路一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL;


(2)每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;


(3)它是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞;


(4)串行的 8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá) 3.4Mbit/s;


(5)片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺波保證數(shù)據(jù)完整;


(6)連接到相同總線的IC數(shù)量只受到總線的最大電容400pF;


IIC是屬串行通訊總線,同步傳輸、半雙工。


I2C 總線上的每一個(gè)設(shè)備都可以作為主設(shè)備或者從設(shè)備,而且每一個(gè)設(shè)備都會(huì)對(duì)應(yīng)一個(gè)唯一的地址(可以從I2C 器件的數(shù)據(jù)手冊(cè)得知),主從設(shè)備之間就通過這個(gè)地址來確定與哪個(gè)器件進(jìn)行通信,在通常的應(yīng)用中,我們把 CPU 帶 I2C 總線接口的模塊作為主設(shè)備,把掛接在總線上的其他設(shè)備都作為從設(shè)備。



>>>點(diǎn)此查看全文




Linux下基于HTTP網(wǎng)頁視頻監(jiān)控


超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請(qǐng)求和響應(yīng)消息的頭以ASCII形式給出;而消息內(nèi)容則具有一個(gè)類似MIME的格式。這個(gè)簡(jiǎn)單模型是早期Web成功的有功之臣,因?yàn)樗归_發(fā)和部署非常地直截了當(dāng)。


HTTP的發(fā)展是由蒂姆·伯納斯-李于1989年在歐洲核子研究組織(CERN)所發(fā)起。HTTP的標(biāo)準(zhǔn)制定由萬維網(wǎng)協(xié)會(huì)(World Wide Web Consortium,W3C)和互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)進(jìn)行協(xié)調(diào),最終發(fā)布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定義了HTTP協(xié)議中現(xiàn)今廣泛使用的一個(gè)版本——HTTP 1.1。

HTTP 是一個(gè)基于 TCP/IP 通信協(xié)議來傳遞數(shù)據(jù)( HTML 文件, 圖片文件, 查詢結(jié)果等)。工作于客戶端-服務(wù)端架構(gòu)上,默認(rèn)端口號(hào)為 80,但是你也可以改為 8080或其它端口號(hào)。HTTP協(xié)議永遠(yuǎn)都是客戶端發(fā)起請(qǐng)求,服務(wù)器回送響應(yīng)。



>>>點(diǎn)此查看全文






聲明本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


更多熱點(diǎn)文章閱讀

  • 基于Cortex-M3內(nèi)核的32位微控制器,STM32項(xiàng)目實(shí)戰(zhàn)分享!

  • 基于32位RISC-V設(shè)計(jì)的互聯(lián)型微控制器,沁恒微CH32V307開發(fā)樣例

  • RK3568!四核64位ARMv8.2A架構(gòu),匯聚編譯源碼及實(shí)戰(zhàn)樣例

  • 尺寸僅有21mm*51mm,板邊采用郵票孔設(shè)計(jì),合宙 Air105 核心板開發(fā)總結(jié)

  • 電子工程師分享:常用電平轉(zhuǎn)換電路、電源自動(dòng)切換電路、太陽能充電電路總結(jié)


原文標(biāo)題:嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例

文章出處:【微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

原文標(biāo)題:嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例

文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么嵌入式驅(qū)動(dòng)開發(fā)工程師可以拿高薪?

    為什么嵌入式驅(qū)動(dòng)開發(fā)工程師可以拿高薪? 嵌入式驅(qū)動(dòng)開發(fā),屬于需求量大、薪資斷崖升高的熱門崗位
    發(fā)表于 01-07 16:56

    嵌入式工程師常用的開發(fā)工具有哪些?

    項(xiàng)目管理和調(diào)試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優(yōu)化能力和調(diào)試工具,能夠幫助工程師快速開發(fā)出高質(zhì)量的嵌入式軟件。 二、編譯器 編
    發(fā)表于 12-20 15:29

    有什么比較熱門的嵌入式項(xiàng)目?

    大佬們想問一下可以做什么嵌入式項(xiàng)目好找工作?工作1到2年左右
    發(fā)表于 11-08 09:57

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

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

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

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

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

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)
    的頭像 發(fā)表于 09-02 09:09 ?433次閱讀

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

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智
    的頭像 發(fā)表于 09-02 09:07 ?426次閱讀

    嵌入式QT常見開發(fā)方式有哪些?

    ,嵌入式工程師可以使用同一套代碼庫開發(fā)適用于不同嵌入式操作系統(tǒng)(如Linux、RTOS)的應(yīng)用程序,只需針對(duì)目標(biāo)平臺(tái)調(diào)整編譯選項(xiàng)和配置即可。
    發(fā)表于 08-12 10:05

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

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?359次閱讀
    【出版發(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)力。作為中國RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者,賽昉科技與業(yè)界專家合作推出《嵌入式系統(tǒng)
    的頭像 發(fā)表于 07-24 08:20 ?646次閱讀
    專家力薦|《<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ā)前景怎么?

    嵌入式開發(fā)前景非常廣闊,這主要得益于物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個(gè)領(lǐng)域的廣泛應(yīng)用。以下是對(duì)嵌入式開發(fā)前景的詳細(xì)分析
    的頭像 發(fā)表于 07-10 09:00 ?2806次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>前景怎么<b class='flag-5'>樣</b>?

    嵌入式軟件工程師如何提升自己?

    的發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)。 2.掌握專業(yè)技能 除了基礎(chǔ)知識(shí)外,嵌入式軟件工程師還需要掌握專業(yè)的技能。這包括熟練掌握嵌入式系統(tǒng)的開發(fā)工具、硬件平臺(tái)和軟件
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件
    發(fā)表于 05-16 11:00

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

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

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

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