日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

1、設計控制流程圖

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

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

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

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

3、避免使用全局變量

在過去的函數(shù)式編程中,程序員使用函數(shù)編寫程序,他們的唯一目標是使程序盡可能快的運行而不考慮程序的結構和重用性。這類程序風格在使用全局變量時不注意變量的作用范圍引起其他函數(shù)修改的危險性。這樣變量會被多次占用和重寫。如今面向對象的程序設計中,成員變量被定義在最小的作用范圍之內并封裝起來避免被重新復值和濫用。所以建議盡量少地使用全局變量,實在需要的話,使用C語言中的關鍵字“extern”來修飾。

4、充分利用模塊化的設計理念

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

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

5、中斷服務事件保持簡練

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

6、使用處理器示例代碼測試設備

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

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

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

8、詳細的文檔

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

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

    關注

    68

    文章

    20343

    瀏覽量

    255357
  • 半導體
    +關注

    關注

    339

    文章

    31287

    瀏覽量

    266835
  • 嵌入式系統(tǒng)

    關注

    41

    文章

    3831

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電子工程師看書的四階段 #電子 #硬件工程師 #電子愛好者 #反轉 #揚興科技

    硬件工程師
    揚興科技
    發(fā)布于 :2026年01月17日 17:29:53

    什么是BSP工程師

    任何軟件的。BSP工程師需要結合硬件原理圖修改從芯片廠商拿到的參考代碼,調試板子,使板子上的操作系統(tǒng)能夠正常穩(wěn)定工作,從而提供一穩(wěn)定的開發(fā)調試環(huán)境,這個過程叫做點亮板子,行話叫做Br
    發(fā)表于 01-13 06:54

    不同薪資對工作的態(tài)度 #硬件工程師 #電子愛好者 #打工人 #搞笑 #揚興科技

    硬件工程師
    揚興科技
    發(fā)布于 :2026年01月12日 18:08:22

    硬件工程師都在逛的7論壇你都知道嗎? #科普 #電子 #硬件工程師 #電子愛好者

    硬件工程師
    揚興科技
    發(fā)布于 :2025年12月25日 18:32:00

    硬件工程師面試必會:10核心考點#硬件設計 #硬件工程師 #電路設計 #電路設計

    硬件工程師
    安泰小課堂
    發(fā)布于 :2025年09月23日 18:00:33

    招鑲入式工程師1,硬件工程師,

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

    電子發(fā)燒友工程師看!電子領域評職稱,技術之路更扎實

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

    嵌入式工程師的進階之路

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

    【華秋DFM】V4.6正式上線:工程師的PCB設計“好搭子”來了!

    作為深耕PCB設計檢查的專業(yè)工具,華秋DFM歷經(jīng)多年迭代,已從最初的基礎設計檢查工具發(fā)展為覆蓋全流程的智能制造解決方案。通過持續(xù)優(yōu)化 1200+細項檢查規(guī)則 ,累計服務 超40萬工程師用戶 ,成為
    發(fā)表于 05-22 16:07

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

    本帖最后由 yuu_cool 于 2025-5-20 14:11 編輯 筆記內容 內容目前分為6大章 1、常用軟件及教程 2、器件 3、硬件思維 4、常用電路分析 5、
    發(fā)表于 05-20 13:40
    罗江县| 徐州市| 磴口县| 林周县| 吉林市| 定襄县| 西宁市| 浮梁县| 宜丰县| 武威市| 枣强县| 安远县| 阿勒泰市| 巴东县| 沛县| 乐亭县| 灌阳县| 鱼台县| 威宁| 齐齐哈尔市| 朝阳区| 宜章县| 肇源县| 黄浦区| 溧水县| 铜鼓县| 金阳县| 濮阳县| 沁水县| 深圳市| 永昌县| 江华| 淮南市| 夏津县| 望谟县| 龙岩市| 伽师县| 贞丰县| 右玉县| 安陆市| 凉山|