99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

嵌入式系統(tǒng)開(kāi)發(fā)的思維和注重方法

Q4MP_gh_c472c21 ? 來(lái)源:技術(shù)讓夢(mèng)想更偉大 ? 作者:李肖遙 ? 2021-09-02 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開(kāi)頭的話

嵌入式開(kāi)發(fā)是一個(gè)比較苦、容易背鍋、可能仍然需要996而且拿錢較少,但也有些許樂(lè)趣的活,我一直稱之為跳坑里了。如果你在里面深耕,那終究會(huì)成為大佬,軟硬結(jié)合的高手;如果你剛?cè)肟?,我可能勸你轉(zhuǎn),但是可能你自己還有點(diǎn)舍不得。

總之,確定了在這一行,靠的就是思維與技巧結(jié)合,注重實(shí)踐方法,方能在其中有一席之地。

從裸機(jī)思維開(kāi)始

嵌入式系統(tǒng)是一個(gè)面向應(yīng)用高度裁減的專用計(jì)算機(jī)系統(tǒng),嵌入式軟硬件也可以這樣定義

軟件:人們借助某種語(yǔ)言,“嘗試”固化下來(lái)的,自己的思維

硬件:業(yè)已固化下來(lái)的邏輯,可以穩(wěn)定的提供確定的服務(wù)和功能軟件的本質(zhì)是設(shè)計(jì)人員的思維,因而程序設(shè)計(jì)人員最重要的是自己根據(jù)任務(wù)的需求想通所有的邏輯,并借助一定的語(yǔ)言作為工具,把自己的思維“固化”下來(lái),而硬件,本質(zhì)上一個(gè)固化下來(lái)的邏輯。

這個(gè)是行業(yè)內(nèi)在心底里約定俗成已經(jīng)默默在做的事情,嵌入式系統(tǒng)、模塊化編程、狀態(tài)機(jī)、層次框架等等,都是在其中摸索探究。

注重方法

思維的設(shè)計(jì)有很多輔助工具,如大家熟知的流程圖、UML圖、數(shù)據(jù)流圖等等。然而,具體代碼往往并不是一個(gè)好的輔助工具。

進(jìn)行思維設(shè)計(jì)的開(kāi)發(fā)人員,叫做Programmer,也就是所謂的碼農(nóng),而要做一個(gè)好的碼農(nóng),真的需要注意方法,比如狀態(tài)機(jī)編程,怎么理解狀態(tài)?如何才算一個(gè)狀態(tài)。

我們看到圖中,我們用圓圈來(lái)表示一個(gè)狀態(tài),圖中最左的箭頭表示從別的什么地方“躍遷”到了當(dāng)前狀態(tài);下方的箭頭表示從當(dāng)前狀態(tài)離開(kāi);右上角從當(dāng)前狀態(tài)“扇出”后又“返回到”當(dāng)前狀態(tài)。這里需要很多轉(zhuǎn)變,而好的架構(gòu)很關(guān)鍵。

在之前我分享過(guò)很多狀態(tài)機(jī)的知識(shí),可以說(shuō)萬(wàn)物皆可狀態(tài)機(jī),而嵌入式軟件開(kāi)發(fā)時(shí)總繞不開(kāi)與實(shí)時(shí)性(Real Time)相關(guān)的話題,大部分人對(duì)實(shí)時(shí)性的認(rèn)知過(guò)程通常會(huì)分以下幾個(gè)階段:。

v1:“實(shí)時(shí)性” = “越快越好”

Lv2:“實(shí)時(shí)性” = RTOS,認(rèn)為選一個(gè)好的RTOS,或者會(huì)用RTOS就可以保證實(shí)時(shí)性;

Lv3:“實(shí)時(shí)性” = 任務(wù)拆分;

Lv4:開(kāi)始思考實(shí)時(shí)性模型的特點(diǎn);

Lv5:到了這個(gè)階段,不僅腦洞大開(kāi)、戰(zhàn)斗力驚人總而言之需要深入理解,才能在注重方法的前提下,成為一個(gè)高級(jí)碼農(nóng)。

注重技巧

為大家庖丁解牛、由淺入深,就要不懼怕優(yōu)化,不要把編譯器的行為看作是玄學(xué),深入底層,才能把編譯器、內(nèi)存、寄存器、語(yǔ)言本質(zhì)理解的透徹。

比如位域和volatile,前者用于將指定類型的整形變量按照我們的意愿切分;后者用于告訴編譯器不允許對(duì)被修飾的變量做優(yōu)化。如果我們對(duì)編譯器的優(yōu)化等級(jí)忽略的話,很難定義到bug,或者當(dāng)我們對(duì)內(nèi)存塊理解的不深入不透徹,關(guān)于內(nèi)存的七七八八就會(huì)莫名其妙的找上門來(lái)。

volatile在嵌入式系統(tǒng)中的應(yīng)用范圍非常廣泛,假設(shè)某32位外設(shè)寄存器的地址為XXXXX_IO_REG_BASE_ADDRESS,則對(duì)應(yīng)的寄存器可以定義為如下的形式:

#defineXXXXX_IO_REG ( *((volatile uint32_t*)XXXX_IO_REG_BASE_ADDRESS) )

而應(yīng)用中很多針對(duì)外設(shè)寄存器的連續(xù)操作都可以通過(guò)優(yōu)化來(lái)大幅度提高效率,在保證程序邏輯正確的情況下,應(yīng)該盡可能減少volatile的使用,或者是限制其使用的范圍,那么你知道為什么嗎?

這就是編譯器、語(yǔ)言本身、變量的一些特別之處,搞定這些底層原理知識(shí),必定讓我們打開(kāi)語(yǔ)言的大門。

最后的話

嵌入式開(kāi)發(fā)所涉及到的思維訓(xùn)練、C語(yǔ)言以及編譯器相關(guān)的關(guān)鍵知識(shí)、裸機(jī)環(huán)境下的開(kāi)發(fā)者模型等等,可以幫助我們深入理解底層原理知識(shí),以不變應(yīng)萬(wàn)變,最終對(duì)知識(shí)點(diǎn)實(shí)現(xiàn)完整和全面的覆蓋。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    5150

    文章

    19659

    瀏覽量

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

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141638

原文標(biāo)題:大佬談:嵌入式系統(tǒng)開(kāi)發(fā)的思維、方法、技巧

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    明遠(yuǎn)智睿SSD2351:開(kāi)啟嵌入式系統(tǒng)開(kāi)發(fā)新時(shí)代

    在當(dāng)今科技飛速發(fā)展的時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域,從智能家居到工業(yè)自動(dòng)化,從智能交通到醫(yī)療設(shè)備,嵌入式系統(tǒng)無(wú)處不在。而開(kāi)發(fā)板作為
    的頭像 發(fā)表于 07-15 15:47 ?84次閱讀

    明遠(yuǎn)智睿SSD2351:嵌入式系統(tǒng)開(kāi)發(fā)的卓越之選

    嵌入式系統(tǒng)開(kāi)發(fā)這一充滿挑戰(zhàn)與機(jī)遇的領(lǐng)域,一款出色的開(kāi)發(fā)板就如同開(kāi)發(fā)者手中的利器,能助力他們披荊斬棘,創(chuàng)造出令人驚嘆的成果。明遠(yuǎn)智睿SSD2351便是這樣一款集性能、功能與易用性于一身
    的頭像 發(fā)表于 07-15 15:46 ?77次閱讀

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

    區(qū)別 單片機(jī)嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開(kāi)發(fā)方式,它們?cè)趹?yīng)用領(lǐng)域、
    發(fā)表于 06-20 09:46

    泰克MSO2024B混合信號(hào)示波器在嵌入式系統(tǒng)開(kāi)發(fā)中的應(yīng)用

    MSO2024B混合信號(hào)示波器以其高性能參數(shù)、靈活的觸發(fā)機(jī)制和全面的協(xié)議解碼能力,成為嵌入式系統(tǒng)開(kāi)發(fā)中的理想選擇。本文將深入探討其在嵌入式系統(tǒng)開(kāi)發(fā)中的具體應(yīng)用及優(yōu)勢(shì)。 ? 一、泰克MS
    的頭像 發(fā)表于 06-16 15:40 ?218次閱讀
    泰克MSO2024B混合信號(hào)示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)開(kāi)發(fā)</b>中的應(yīng)用

    STM32開(kāi)發(fā)入門進(jìn)階必備!《STM32嵌入式系統(tǒng)開(kāi)發(fā)—基于STM32CubeMX和HAL庫(kù)》新書(shū)發(fā)布!

    近日,由華清遠(yuǎn)見(jiàn)教育科技集團(tuán)精心編撰的教育部高等學(xué)校電子信息類專業(yè)教學(xué)指導(dǎo)委員會(huì)規(guī)劃教材、普通高等教育電子信息類專業(yè)系列教材——《STM32嵌入式系統(tǒng)開(kāi)發(fā)—基于STM32CubeMX和HAL庫(kù)》重磅
    的頭像 發(fā)表于 04-03 14:54 ?723次閱讀
    STM32<b class='flag-5'>開(kāi)發(fā)</b>入門進(jìn)階必備!《STM32<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)開(kāi)發(fā)</b>—基于STM32CubeMX和HAL庫(kù)》新書(shū)發(fā)布!

    嵌入式系統(tǒng)開(kāi)發(fā)圣經(jīng)【干貨】

    內(nèi)容包括:嵌入式系統(tǒng)的介紹、嵌入式SoC硬件系統(tǒng)概論、嵌入式系統(tǒng)軟件開(kāi)發(fā)。適用于產(chǎn)品主管、
    發(fā)表于 03-12 13:58

    BlackBerry QNX推出通用嵌入式開(kāi)發(fā)平臺(tái)

    Platform,GEDP),這一全新平臺(tái)旨在加速機(jī)器人、醫(yī)療和工業(yè)自動(dòng)化等通用嵌入式行業(yè)的高性能、可擴(kuò)展、網(wǎng)絡(luò)信息安全的系統(tǒng)開(kāi)發(fā)。
    的頭像 發(fā)表于 03-11 16:04 ?622次閱讀

    IAR分析嵌入式系統(tǒng)的市場(chǎng)前景

    作為全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案供應(yīng)商,IAR始終致力于為客戶提供高性能與高安全性的開(kāi)發(fā)工具,支持不同行業(yè)的嵌入式產(chǎn)品開(kāi)發(fā)。
    的頭像 發(fā)表于 02-26 15:34 ?582次閱讀

    嵌入式系統(tǒng)開(kāi)發(fā)中的測(cè)試方法 嵌入式系統(tǒng)開(kāi)發(fā)與AI結(jié)合應(yīng)用

    嵌入式系統(tǒng)開(kāi)發(fā)中的測(cè)試方法 嵌入式系統(tǒng)開(kāi)發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件和軟件的緊密結(jié)合。測(cè)試是確保系統(tǒng)
    的頭像 發(fā)表于 12-09 10:22 ?1349次閱讀

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)問(wèn)題解決

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?960次閱讀

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    會(huì)更加注重能源效率。低功耗設(shè)計(jì)和節(jié)能技術(shù)會(huì)成為關(guān)鍵,以延長(zhǎng)設(shè)備的電池壽命或降低能源成本。這對(duì)于可穿戴設(shè)備、便攜醫(yī)療設(shè)備等對(duì)續(xù)航能力有較高要求的產(chǎn)品尤為重要。 4. 多模塊與集成化 在未來(lái)的嵌入式
    發(fā)表于 09-12 15:42

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

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

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

    嵌入式Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)存、存儲(chǔ)器、輸入/輸出接口等硬件組件,以及一
    的頭像 發(fā)表于 09-02 09:09 ?792次閱讀

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

    嵌入式Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。
    的頭像 發(fā)表于 09-02 09:07 ?815次閱讀

    恩智浦加速嵌入式AI創(chuàng)新應(yīng)用開(kāi)發(fā)

    在AI應(yīng)用飛速發(fā)展的今天,如何能夠?qū)I與嵌入式系統(tǒng)開(kāi)發(fā)有機(jī)結(jié)合起來(lái),營(yíng)造新的開(kāi)發(fā)生態(tài),打造與眾不同的創(chuàng)新用例,一直是嵌入式開(kāi)發(fā)者追求的目標(biāo)。
    的頭像 發(fā)表于 08-27 09:46 ?1182次閱讀