chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

關(guān)于硬件工程師之路上的8個(gè)軟件分析和發(fā)展之路

華秋商城 ? 來源:djl ? 2019-09-02 15:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)設(shè)計(jì)不僅要了解硬件還應(yīng)該了解它與軟件之間的相互影響和作用。硬件設(shè)計(jì)需要一定的設(shè)計(jì)范例,這點(diǎn)對(duì)于軟件設(shè)計(jì)卻不那么適用。如何從單純的硬件設(shè)計(jì)過渡到硬軟結(jié)合的設(shè)計(jì),在你著手開發(fā)軟件時(shí)需注意以下八個(gè)軟件設(shè)計(jì)技巧。

1、設(shè)計(jì)控制流程圖

工程師進(jìn)行到開發(fā)軟件這一步時(shí)會(huì)情不自禁地開始書寫代碼。這種思維定勢(shì)就像在原理圖還未完成之前就開始嘗試畫PCB。當(dāng)著手開發(fā)軟件時(shí),克制寫代碼的沖動(dòng),取而代之的應(yīng)該是軟件流程結(jié)構(gòu)圖表的設(shè)計(jì),這點(diǎn)非常重要。

流程圖能清晰地呈現(xiàn)給開發(fā)人員軟件的各個(gè)需要的組成部件,正如電路圖列出硬件設(shè)計(jì)所需的各種元器件一樣。做到這點(diǎn)能很大程度上使程序整體更易于組織,而且也會(huì)減少占開發(fā)周期較長的調(diào)試工作量進(jìn)而節(jié)省時(shí)間減少調(diào)試的繁瑣。

2、使用狀態(tài)機(jī)控制程序流程

狀態(tài)機(jī)是20世紀(jì)優(yōu)秀的軟件發(fā)明之一。應(yīng)用程序一般被分解為多個(gè)不同的狀態(tài),每一個(gè)狀態(tài)控制一個(gè)特定的程序分支。狀態(tài)機(jī)包括內(nèi)部狀態(tài)和依據(jù)不同激勵(lì)所控制的狀態(tài)轉(zhuǎn)換。使用狀態(tài)機(jī)機(jī)制設(shè)計(jì)軟件能夠使模塊化的可維護(hù)的軟件開發(fā)更加容易而且易于理解。狀態(tài)機(jī)原理與算法的示例隨處可見。

3、避免使用全局變量

在過去的函數(shù)式編程中,程序員使用函數(shù)編寫程序,他們的唯一目標(biāo)是使程序盡可能快的運(yùn)行而不考慮程序的結(jié)構(gòu)和重用性。這類程序風(fēng)格在使用全局變量時(shí)不注意變量的作用范圍引起其他函數(shù)修改的危險(xiǎn)性。這樣變量會(huì)被多次占用和重寫。如今面向?qū)ο蟮某绦蛟O(shè)計(jì)中,成員變量被定義在最小的作用范圍之內(nèi)并封裝起來避免被重新復(fù)值和濫用。所以建議盡量少地使用全局變量,實(shí)在需要的話,使用C語言中的關(guān)鍵字“extern”來修飾。

4、充分利用模塊化的設(shè)計(jì)理念

如果你問一位工程師項(xiàng)目的哪一部分最有可能會(huì)拖延交付并超出預(yù)估時(shí)間,那答案一定是軟件周期了。軟件通常是復(fù)雜而且不易開發(fā)和維護(hù)的,特別是當(dāng)項(xiàng)目應(yīng)用程序集中在一個(gè)單一的文件里,或者幾個(gè)結(jié)構(gòu)松散的文件中時(shí)。

為了便于代碼重用和軟件可維護(hù)并減小軟件的復(fù)雜度,強(qiáng)烈建議發(fā)揮高級(jí)程序設(shè)計(jì)語言模塊化的特性,在程序的結(jié)構(gòu)中把公用的函數(shù)分離出來作為一個(gè)獨(dú)立的模塊。通過這種方式可以讓程序員開始創(chuàng)建包含有常用函數(shù)和常用的聲明定義,它可以很容易的被其他的代碼重用,這在以后的測(cè)試階段不僅可以節(jié)省時(shí)間代價(jià)還能提高代碼的質(zhì)量。

5、中斷服務(wù)事件保持簡(jiǎn)練

中斷服務(wù)事件是中斷處理器正在執(zhí)行的程序,轉(zhuǎn)而去處理觸發(fā)該中斷的外設(shè)的請(qǐng)求的一種機(jī)制。處理器響應(yīng)中斷請(qǐng)求需要大量的系統(tǒng)開銷,具體表現(xiàn)在保存被中斷程序的狀態(tài)(入棧下條指令的段地址、偏移地址和程序狀態(tài)寄存器,有時(shí)還會(huì)入棧若干寄存器的值),執(zhí)行中斷服務(wù)程序然后恢復(fù)中斷點(diǎn)繼續(xù)執(zhí)行(依次出棧各寄存器),雖然現(xiàn)在的處理器速度非??斓沁@種系統(tǒng)開銷仍然需要考慮。一般來說,為了避免與主程序沖突程序員總想使中斷執(zhí)行時(shí)間減小到最小。這就意味著中斷服務(wù)事件應(yīng)該短小簡(jiǎn)單。不能在中斷程序中調(diào)用函數(shù)。另外,如果中斷需要處理的事件特別復(fù)雜或者需要花費(fèi)較長的時(shí)間,這個(gè)時(shí)候中斷服務(wù)程序應(yīng)該滿足最小的需求,例如將數(shù)據(jù)載入到緩沖寄存器、設(shè)置標(biāo)志位,而讓主程序去處理讀入的數(shù)據(jù)。這樣處理器的工作大部分周期都在處理程序而不是中斷。

6、使用處理器示例代碼測(cè)試設(shè)備

對(duì)于硬件設(shè)計(jì),在畫板之前標(biāo)準(zhǔn)的測(cè)試電路有助于工程師理解電路的特性。同樣可以適用于軟件設(shè)計(jì),半導(dǎo)體廠商通常有測(cè)試微處理器各個(gè)部分的功能的示例程序提供工程師體驗(yàn)各部分是如何工作的。據(jù)此可以提前組織軟件的結(jié)構(gòu)并且預(yù)知在設(shè)計(jì)中的問題。提前確定在設(shè)計(jì)潛在的障礙遠(yuǎn)比在產(chǎn)品完成前幾個(gè)小時(shí)發(fā)現(xiàn)問題更加科學(xué)合理。而值得注意的是廠商提供的代碼通常不是模塊化而且不做必要的修改是很難直接用于實(shí)際的軟件中的。

7、控制函數(shù)的復(fù)雜度

在工程設(shè)計(jì)中有句俗語叫“KISS”,意思是“Keep It Simple Silly”。在處理一些復(fù)雜的任務(wù)時(shí)最簡(jiǎn)單有效的方法是把它分解成若干個(gè)簡(jiǎn)單的子任務(wù),當(dāng)任務(wù)或者功能很復(fù)雜時(shí),人們很難留意所有的細(xì)節(jié)也很難不出錯(cuò)。當(dāng)工程師寫了一個(gè)在當(dāng)時(shí)能夠理解的復(fù)雜函數(shù),可一段時(shí)間后需要維護(hù)程序了還能不能清晰的呈現(xiàn)出當(dāng)初的設(shè)計(jì)思想這是值得考慮的。有大量的技術(shù)來衡量函數(shù)的復(fù)雜度像“循環(huán)復(fù)雜度”。經(jīng)驗(yàn)告訴我們,函數(shù)的循環(huán)復(fù)雜度應(yīng)該低于10比較好。

8、詳細(xì)的文檔

在激烈的軟件開發(fā)競(jìng)爭(zhēng)中關(guān)注的焦點(diǎn)很容易就局限在代碼的書寫和調(diào)試而忽略文檔的編寫。有時(shí)迫于壓力要求寫文檔,開發(fā)人員通常把文檔安排在項(xiàng)目開發(fā)的最后的一個(gè)環(huán)節(jié)集中編寫。然而給代碼寫文檔應(yīng)該乘在頭腦里面還比較清晰的時(shí)候比較關(guān)鍵,這樣在后續(xù)的開發(fā)或者自己閱讀注釋的時(shí)候能很快的回憶起當(dāng)時(shí)的設(shè)計(jì)思想。

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

    68

    文章

    20069

    瀏覽量

    242782
  • 半導(dǎo)體
    +關(guān)注

    關(guān)注

    336

    文章

    29570

    瀏覽量

    252020
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3702

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    招鑲?cè)胧?b class='flag-5'>工程師1個(gè),硬件工程師個(gè),

    東莞市研生科技有限公司是一家藍(lán)牙方案公司,主營藍(lán)牙方案的設(shè)計(jì)開發(fā),產(chǎn)品包括藍(lán)牙BLE/4G透?jìng)?AI智能體方案開發(fā),因公司發(fā)展需要需對(duì)外招聘嵌入式軟件開發(fā)工程師,對(duì)藍(lán)牙音頻/BLE以及智能IC讀卡器有三年實(shí)操經(jīng)驗(yàn),能單獨(dú)完成項(xiàng)目
    發(fā)表于 08-29 02:14

    電子發(fā)燒友工程師看!電子領(lǐng)域評(píng)職稱,技術(shù)之路更扎實(shí)

    電子發(fā)燒友的各位工程師硬件開發(fā)者們,咱們每天在平臺(tái)查芯片手冊(cè)、討論電路設(shè)計(jì)難題、分享嵌入式項(xiàng)目經(jīng)驗(yàn),從調(diào)試 PCB 板到開發(fā) AIoT 系統(tǒng),靠的都是過硬的技術(shù)實(shí)力 —— 而電子領(lǐng)域的職稱評(píng)審
    發(fā)表于 08-20 13:53

    嵌入式工程師的進(jìn)階之路

    嵌入式工程師的進(jìn)階之路 (一)初級(jí)工程師(0-3 年)核心技能: 單片機(jī)開發(fā):STM32F103系列 GPIO/USART/SPI 外設(shè)驅(qū)動(dòng),能完成 LED 呼吸燈、按鍵檢測(cè)、串口通信等基礎(chǔ)項(xiàng)目
    發(fā)表于 08-13 11:08

    硬件工程師煉成之路筆記(建議收藏?。?/a>

    本帖最后由 yuu_cool 于 2025-5-20 14:11 編輯 筆記內(nèi)容 內(nèi)容目前分為6個(gè)大章 1、常用軟件及教程 2、器件 3、硬件思維 4、常用電路分析 5、
    發(fā)表于 05-20 13:40

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師手冊(cè)(全套)

    §1.2.1 硬件工程師職責(zé) 一個(gè)技術(shù)領(lǐng)先、運(yùn)行可靠的硬件平臺(tái)是公司產(chǎn)品質(zhì)量的基礎(chǔ),硬件工程師
    發(fā)表于 04-22 15:05

    如何成為一名嵌入式軟件工程師

    軟件工程師是連接硬件軟件世界的橋梁,他們的工作對(duì)于產(chǎn)品的性能和穩(wěn)定性至關(guān)重要。 通過掌握核心技能、積累實(shí)戰(zhàn)經(jīng)驗(yàn)、關(guān)注未來發(fā)展趨勢(shì)并合理規(guī)劃職業(yè)路徑,嵌入式
    發(fā)表于 04-15 14:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年03月25日 18:46:59

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

    和技能的積累,越老越吃香。 在傳統(tǒng)程序員的職業(yè)道路上,雖然35歲危機(jī)讓許多人感到焦慮,但嵌入式軟件工程師卻憑借其獨(dú)特的行業(yè)優(yōu)勢(shì)和職業(yè)發(fā)展前景,成為了越老越吃香的群體。 他們不僅在薪資待遇上具有競(jìng)爭(zhēng)力,而且在市場(chǎng)需求、行業(yè)
    發(fā)表于 02-20 10:19

    硬件工程師入門基礎(chǔ)元器件與電路原理

    概述了IGBT在電力轉(zhuǎn)換中的重要角色及其發(fā)展。 硬件工程師入門基礎(chǔ)知識(shí) (一)基礎(chǔ)元器件認(rèn)識(shí)(二) tips:學(xué)習(xí)資料和數(shù)據(jù)來自《硬件工程師
    的頭像 發(fā)表于 01-07 11:11 ?2.5w次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>工程師</b>入門基礎(chǔ)元器件與電路原理

    硬件工程師入門的基礎(chǔ)元器件知識(shí)

    概述了IGBT在電力轉(zhuǎn)換中的重要角色及其發(fā)展硬件工程師入門基礎(chǔ)知識(shí) (一)基礎(chǔ)元器件認(rèn)識(shí)(二) tips:學(xué)習(xí)資料和數(shù)據(jù)來自《硬件工程師
    的頭像 發(fā)表于 12-10 10:19 ?4701次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>工程師</b>入門的基礎(chǔ)元器件知識(shí)