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

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

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

8年經(jīng)驗(yàn)老嵌入式工程師的工作總結(jié)

工程師人生 ? 來源:工程師吳畏 ? 2019-08-06 10:28 ? 次閱讀

嵌入式這行已經(jīng)8年了吧,也算是一個(gè)老工程師了,工作多年,做過MCU、DSP、ARM、ARM+DSP、ARM+FPGA等等芯片。現(xiàn)在想將嵌入式的東西整理一下,不能只看眼前路,不顧身后身。

嵌入式的東西很多,想要整理起來,也是很花費(fèi)力氣的一件事情,稍后的一年時(shí)間,有時(shí)間我就會(huì)慢慢的整理,算是對(duì)自己做一個(gè)交代,當(dāng)然如果對(duì)別人有用的話,那就更好。

目前AI異?;鸨F(xiàn)階段大家都停留在功能實(shí)現(xiàn)上,至于端測(cè)的落地,個(gè)人感覺還有一小段距離要走。當(dāng)端測(cè)AI落地的時(shí)候,我相信市場(chǎng)上對(duì)嵌入式工程師、硬件工程師的需求會(huì)越來越大。尤其是涉及到性能優(yōu)化方面,我相信應(yīng)該會(huì)有很大的市場(chǎng)吧。

1. 嵌入式繞不開各種接口

比如:uart 、spii2c、usb、eth、mipi、edp、can、i2s、hdmi等等。需要了解各接口的使用場(chǎng)景、帶寬、機(jī)制、時(shí)序、工作模式、缺點(diǎn),時(shí)序等等。我相信硬件接口這一塊兒就會(huì)讓很多新手摸不到頭腦吧。

2. 嵌入式繞不開交叉編譯工具

嵌入式一般都需要自己搭建交叉編譯工具鏈,當(dāng)然MCU類的開發(fā)也會(huì)有成熟的IDE可供使用。但是對(duì)于編譯器而言一般都是GCC。對(duì)于嵌入式開發(fā)人員來說,搭建交叉編譯工具鏈。編譯過程分為 ——預(yù)編譯、編譯、匯編、鏈接。通過GCC提供的工具可以使程序完成任一階段的處理。要清楚各個(gè)階段主要完成了什么工作。鏈接分為靜態(tài)鏈接、動(dòng)態(tài)鏈接,各自的優(yōu)缺點(diǎn)及使用場(chǎng)景要知道。同時(shí)編譯生成ELF格式的文件,要理解ELF文件的格式、必要的時(shí)候需要通過objdump或readelf工具來解析ELF文件。

3. 嵌入式開發(fā)繞不開調(diào)試

嵌入式開發(fā)的很大一部分時(shí)間都在調(diào)試,好的調(diào)試方法和工具可以更快速的定位問題。

3.1 vargrind 的使用

3.2 gdb的使用

3.3 kdump

3.4 corddump

3.5 oops

4. 嵌入式開發(fā)離不開優(yōu)化

嵌入式的優(yōu)化分為兩部分,算法上的優(yōu)化,編程上的優(yōu)化。其中編程上的優(yōu)化分為以下技術(shù)。

4.1 內(nèi)存使用上的優(yōu)化-cacheline的使用

cache涉及到cache命中率、cache一致性,write-back,wrte-through等。全局變量問題、常用變量位置問題、互鎖問題。

4.2 并行優(yōu)化

并行優(yōu)化主要是SIMT或SIMD技術(shù)的應(yīng)用,包括GPU的使用,NEON優(yōu)化、SSE優(yōu)化等。

其中并行分為任務(wù)并行和數(shù)據(jù)并行、任務(wù)并行是多核方面的優(yōu)勢(shì)。數(shù)據(jù)并行是GPU和NEON來解決。

同時(shí)需要

4.3 依賴性問題

依賴性問題主要是流水線問題,避免數(shù)據(jù)的依賴性可以高效的使用流水線。至于這部分的優(yōu)化要借助反匯編,來對(duì)比不同寫法造成的差異。

5. 嵌入式繞不開驅(qū)動(dòng)

很多人對(duì)驅(qū)動(dòng)開發(fā)有技術(shù)情節(jié),越是年輕的工程師越是這樣。驅(qū)動(dòng)的開發(fā)本質(zhì)上就是給外設(shè)配置參數(shù),使其工作在期望的方式。linux下的 驅(qū)動(dòng)開發(fā)需要遵從linux的驅(qū)動(dòng)框架,裸機(jī)的驅(qū)動(dòng)開發(fā)就是直接配置寄存器就可以。

linux有一個(gè)很好的理念,就是萬物皆文件。linux將外設(shè)也會(huì)抽象成文件,讀寫外設(shè)和讀寫文件在操作上沒有了區(qū)別。

linux下的設(shè)備,分為字符型設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備。

linux下注冊(cè)驅(qū)動(dòng)的時(shí)候,將設(shè)備號(hào)和文件名進(jìn)行了映射,并實(shí)現(xiàn)file_operation里的一些函數(shù),例如,write、read、ioctl。其中write、read主要用于讀寫外設(shè)的有用數(shù)據(jù)。ioctl主要用于配置外設(shè)的一些參數(shù),使其工作在不同的模式或狀態(tài)。

6. 嵌入式離不開操作系統(tǒng)

其實(shí)嵌入式指的就是嵌入式操作系統(tǒng),操作系統(tǒng)有很多種。vxworks、ucos、freertos、bios、linux、uclinux、nuttx等等。對(duì)于操作系統(tǒng)的選擇個(gè)人感覺要看實(shí)時(shí)性、以及生態(tài)。生態(tài)很重要,這樣出現(xiàn)問題的時(shí)候,才不至于絕望,感覺不是孤軍奮斗。

其實(shí)操作系統(tǒng)的出現(xiàn),主要是為了解決任務(wù)調(diào)度、內(nèi)存管理。這兩方面是操作系統(tǒng)的精髓。感興趣可以閱讀源碼。ucos的源碼不多,可以從它看起。

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

    1

    文章

    39

    瀏覽量

    16355
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    電子發(fā)燒友榮獲飛凌嵌入式“2024度最具價(jià)值媒體”獎(jiǎng)

    近日,飛凌嵌入式授予電子發(fā)燒友平臺(tái) “2024度最具價(jià)值媒體”獎(jiǎng) ,以表彰其在過去一中深度合作,為電子工程師、開發(fā)者及技術(shù)愛好者群體帶來的卓越價(jià)值。此次授牌不僅是對(duì)電子發(fā)燒友平臺(tái)的
    發(fā)表于 02-28 15:20

    嵌入式軟件工程師就業(yè)好不好?

    嵌入式軟件工程師就業(yè)好不好?會(huì)不會(huì)越越吃香?今天一起來看看。 首先看下市場(chǎng)需求。 隨著物聯(lián)網(wǎng)、人工智能、5G等前沿技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域不斷擴(kuò)大,從智能家居、汽車電子到
    發(fā)表于 02-20 10:19

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

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

    月薪 3 萬的嵌入式工程師都在用,串口屏到底神在哪?

    作為一名資深的嵌入式工程師,我深知在選擇硬件組件時(shí),性能、可靠性、易用性和成本效益都是至關(guān)重要的考量因素。月薪3萬的嵌入式工程師們之所以傾向于使用串口屏,主要是基于以下幾個(gè)方面的考量
    的頭像 發(fā)表于 02-12 10:33 ?469次閱讀
    月薪 3 萬的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程師</b>都在用,串口屏到底神在哪?

    電子工程師的電源設(shè)計(jì)經(jīng)驗(yàn)分享

    作為一名電子工程師,電源設(shè)計(jì)一直是我在工作中重點(diǎn)關(guān)注的領(lǐng)域。電源設(shè)計(jì)不僅需要扎實(shí)的理論基礎(chǔ),還需要豐富的實(shí)踐經(jīng)驗(yàn)。以下是我多年工作總結(jié)的一
    的頭像 發(fā)表于 01-21 15:53 ?306次閱讀

    年薪30萬的嵌入式工程師,究竟需要掌握哪些技能?

    技術(shù)功底、跨領(lǐng)域能力和團(tuán)隊(duì)協(xié)作精神的嵌入式工程師,他們的年薪已經(jīng)不再是遙不可及的夢(mèng)想,尤其是當(dāng)目標(biāo)設(shè)定在30萬薪時(shí)。那么,如何從初級(jí)工程師跨越到年薪30萬的技術(shù)
    的頭像 發(fā)表于 01-16 10:59 ?773次閱讀
    年薪30萬的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程師</b>,究竟需要掌握哪些技能?

    電子工程師經(jīng)驗(yàn)分享

    電子工程師在實(shí)際工作中積累了豐富的經(jīng)驗(yàn),這些經(jīng)驗(yàn)對(duì)于新手工程師和電子專業(yè)的學(xué)生具有重要的參考價(jià)值。 一、電路設(shè)計(jì)
    的頭像 發(fā)表于 01-14 10:14 ?374次閱讀

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

    。 為什么嵌入式驅(qū)動(dòng)開發(fā)工程師可以拿高薪? 嵌入式驅(qū)動(dòng)開發(fā)工程師屬于技術(shù)密集型工作,不僅需要深入了解硬件的
    發(fā)表于 01-07 16:56

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

    嵌入式工程師常用的開發(fā)工具有哪些? 在嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域中,嵌入式工程師們憑借著一系列強(qiáng)大的工具,將創(chuàng)意與技術(shù)完美融合,打造出高效、可
    發(fā)表于 12-20 15:29

    KiCon 演講回顧(十三):嵌入工程師的硬件夢(mèng)之 KiCad 經(jīng)驗(yàn)和項(xiàng)目分享

    “ ?在KiCon Asia 2024,我們有幸聽到了@IAMLIUBO 的分享——嵌入式工程師的硬件夢(mèng)之KiCad經(jīng)驗(yàn)分享。 ? ” 以下是完整演講視頻: 為什么選擇KiCad? 跨平臺(tái)支持
    的頭像 發(fā)表于 12-09 01:02 ?406次閱讀
    KiCon 演講回顧(十三):<b class='flag-5'>嵌入</b><b class='flag-5'>工程師</b>的硬件夢(mèng)之 KiCad <b class='flag-5'>經(jīng)驗(yàn)</b>和項(xiàng)目分享

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.42】 嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用

    研究所嵌入式系統(tǒng)軟件工程師。有多年從事嵌入式系統(tǒng)開發(fā)工作經(jīng)驗(yàn),對(duì)嵌入式系統(tǒng)軟件(包括RTOS內(nèi)
    發(fā)表于 08-23 15:17

    嵌入式軟件開發(fā)招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3以上開發(fā)經(jīng)驗(yàn),音視頻領(lǐng)域應(yīng)用層開發(fā) 地址:北京市昌平區(qū) 郵箱:10
    發(fā)表于 07-26 13:44

    嵌入式熱門領(lǐng)域有哪些?

    通過物聯(lián)網(wǎng)連接各種物理設(shè)備和傳感器,促使它們之間實(shí)現(xiàn)信息的交換和數(shù)據(jù)的共享。從智能家居到智能城市,物聯(lián)網(wǎng)的應(yīng)用不斷擴(kuò)展,為嵌入式系統(tǒng)工程師帶來了廣泛的就業(yè)機(jī)會(huì)和發(fā)展前景。 自動(dòng)駕駛 自動(dòng)駕駛技術(shù)作為
    發(fā)表于 07-16 09:23

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

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

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

    ,并且了解嵌入式系統(tǒng)的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復(fù)雜的軟件問題。嵌入式軟件工程師在軟件開發(fā)方面有著豐富的經(jīng)驗(yàn)
    發(fā)表于 05-16 11:00

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品