女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

嵌入式系統開發的思維和注重方法

Q4MP_gh_c472c21 ? 來源:技術讓夢想更偉大 ? 作者:李肖遙 ? 2021-09-02 11:10 ? 次閱讀

開頭的話

嵌入式開發是一個比較苦、容易背鍋、可能仍然需要996而且拿錢較少,但也有些許樂趣的活,我一直稱之為跳坑里了。如果你在里面深耕,那終究會成為大佬,軟硬結合的高手;如果你剛入坑,我可能勸你轉,但是可能你自己還有點舍不得。

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

從裸機思維開始

嵌入式系統是一個面向應用高度裁減的專用計算機系統,嵌入式軟硬件也可以這樣定義

軟件:人們借助某種語言,“嘗試”固化下來的,自己的思維

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

這個是行業內在心底里約定俗成已經默默在做的事情,嵌入式系統、模塊化編程、狀態機、層次框架等等,都是在其中摸索探究。

注重方法

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

進行思維設計的開發人員,叫做Programmer,也就是所謂的碼農,而要做一個好的碼農,真的需要注意方法,比如狀態機編程,怎么理解狀態?如何才算一個狀態。

我們看到圖中,我們用圓圈來表示一個狀態,圖中最左的箭頭表示從別的什么地方“躍遷”到了當前狀態;下方的箭頭表示從當前狀態離開;右上角從當前狀態“扇出”后又“返回到”當前狀態。這里需要很多轉變,而好的架構很關鍵。

在之前我分享過很多狀態機的知識,可以說萬物皆可狀態機,而嵌入式軟件開發時總繞不開與實時性(Real Time)相關的話題,大部分人對實時性的認知過程通常會分以下幾個階段:。

v1:“實時性” = “越快越好”

Lv2:“實時性” = RTOS,認為選一個好的RTOS,或者會用RTOS就可以保證實時性;

Lv3:“實時性” = 任務拆分;

Lv4:開始思考實時性模型的特點;

Lv5:到了這個階段,不僅腦洞大開、戰斗力驚人總而言之需要深入理解,才能在注重方法的前提下,成為一個高級碼農。

注重技巧

為大家庖丁解牛、由淺入深,就要不懼怕優化,不要把編譯器的行為看作是玄學,深入底層,才能把編譯器、內存、寄存器、語言本質理解的透徹。

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

volatile在嵌入式系統中的應用范圍非常廣泛,假設某32位外設寄存器的地址為XXXXX_IO_REG_BASE_ADDRESS,則對應的寄存器可以定義為如下的形式:

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

而應用中很多針對外設寄存器的連續操作都可以通過優化來大幅度提高效率,在保證程序邏輯正確的情況下,應該盡可能減少volatile的使用,或者是限制其使用的范圍,那么你知道為什么嗎?

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

最后的話

嵌入式開發所涉及到的思維訓練、C語言以及編譯器相關的關鍵知識、裸機環境下的開發者模型等等,可以幫助我們深入理解底層原理知識,以不變應萬變,最終對知識點實現完整和全面的覆蓋。

責任編輯:haq

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

    關注

    5133

    文章

    19501

    瀏覽量

    314230
  • C語言
    +關注

    關注

    180

    文章

    7629

    瀏覽量

    140105

原文標題:大佬談:嵌入式系統開發的思維、方法、技巧

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    嵌入式開發入門指南:從零開始學習嵌入式

    隨著物聯網、智能硬件的發展,嵌入式開發成為熱門技能之一。以下將為初學者提供一份詳細的嵌入式開發入門指南,涵蓋學習路徑、必備工具、推薦資源等內容。 1. 嵌入式系統的定義與應用
    發表于 05-15 09:29

    STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》新書發布!

    近日,由華清遠見教育科技集團精心編撰的教育部高等學校電子信息類專業教學指導委員會規劃教材、普通高等教育電子信息類專業系列教材——《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》重磅
    的頭像 發表于 04-03 14:54 ?460次閱讀
    STM32<b class='flag-5'>開發</b>入門進階必備!《STM32<b class='flag-5'>嵌入式</b><b class='flag-5'>系統開發</b>—基于STM32CubeMX和HAL庫》新書發布!

    嵌入式系統開發圣經【干貨】

    內容包括:嵌入式系統的介紹、嵌入式SoC硬件系統概論、嵌入式系統軟件開發。適用于產品主管、
    發表于 03-12 13:58

    BlackBerry QNX推出通用嵌入式開發平臺

    Platform,GEDP),這一全新平臺旨在加速機器人、醫療和工業自動化等通用嵌入式行業的高性能、可擴展、網絡信息安全的系統開發
    的頭像 發表于 03-11 16:04 ?510次閱讀

    IAR分析嵌入式系統的市場前景

    作為全球領先的嵌入式系統開發軟件解決方案供應商,IAR始終致力于為客戶提供高性能與高安全性的開發工具,支持不同行業的嵌入式產品開發
    的頭像 發表于 02-26 15:34 ?467次閱讀

    嵌入式系統開發中的測試方法 嵌入式系統開發與AI結合應用

    嵌入式系統開發中的測試方法 嵌入式系統開發是一個復雜的過程,涉及到硬件和軟件的緊密結合。測試是確保系統
    的頭像 發表于 12-09 10:22 ?1131次閱讀

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備
    的頭像 發表于 12-09 09:38 ?796次閱讀

    嵌入式系統的未來趨勢有哪些?

    會更加注重能源效率。低功耗設計和節能技術會成為關鍵,以延長設備的電池壽命或降低能源成本。這對于可穿戴設備、便攜醫療設備等對續航能力有較高要求的產品尤為重要。 4. 多模塊與集成化 在未來的嵌入式
    發表于 09-12 15:42

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是
    的頭像 發表于 09-02 09:11 ?1008次閱讀

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統嵌入式系統開發平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一
    的頭像 發表于 09-02 09:09 ?656次閱讀

    嵌入式linux開發板芯片的工作原理

    嵌入式Linux開發板是一種基于Linux操作系統嵌入式系統開發平臺,它廣泛應用于工業控制、智能家居、智能交通、醫療設備等領域。
    的頭像 發表于 09-02 09:07 ?682次閱讀

    恩智浦加速嵌入式AI創新應用開發

    在AI應用飛速發展的今天,如何能夠將AI與嵌入式系統開發有機結合起來,營造新的開發生態,打造與眾不同的創新用例,一直是嵌入式開發者追求的目標。
    的頭像 發表于 08-27 09:46 ?1040次閱讀

    嵌入式開發前景怎么樣?

    嵌入式開發前景非常廣闊,這主要得益于物聯網、人工智能、大數據等技術的快速發展,以及嵌入式系統在各個領域的廣泛應用。以下是對嵌入式開發前景的詳細分析
    的頭像 發表于 07-10 09:00 ?4042次閱讀
    <b class='flag-5'>嵌入式開發</b>前景怎么樣?

    嵌入式系統怎么學?

    、C++或者Python。這些語言在嵌入式系統開發中都被廣泛應用。 3、微處理器/微控制器架構:學習常見的微處理器和微控制器架構,如ARM、AVR、PIC等,了解其特性和應用場景。 4、嵌入式
    發表于 07-02 10:10

    如何提升嵌入式編程能力?

    和仿真:使用模擬和仿真工具來測試你的嵌入式系統,這可以在實際硬件之前發現問題。 通過以上的這些方法,可以逐步提高個人的嵌入式編程技能,并成為一名更優秀的
    發表于 06-21 10:01