一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

開頭的話

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

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

從裸機思維開始

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

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

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

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

注重方法

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

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

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

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

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

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

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

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

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

注重技巧

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

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

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

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

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

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

最后的話

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

責任編輯:haq

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

    關注

    5150

    文章

    19659

    瀏覽量

    317362
  • C語言
    +關注

    關注

    180

    文章

    7632

    瀏覽量

    141623

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    明遠智睿SSD2351:開啟嵌入式系統(tǒng)開發(fā)新時代

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

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

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

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

    區(qū)別 單片機嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應用領域、
    發(fā)表于 06-20 09:46

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

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

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

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

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

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

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

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

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

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

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結合應用

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

    嵌入式系統(tǒng)開發(fā)與硬件的關系 嵌入式系統(tǒng)開發(fā)常見問題解決

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

    嵌入式系統(tǒng)的未來趨勢有哪些?

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

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

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

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

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

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

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

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

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