一. 作為嵌入式開發者,今天我和大家分享點嵌入式開發的經驗。
1. 謹防軟體上各種潛在漏洞,例如,記憶體溢位,邊界問題,
2. 完善與健全的軟體邏輯流程
在產品設計初期,就應該梳理出可靠,健全的軟體邏輯
3. 軟體架構具有前瞻性
好的軟體架構有事半功倍的效果,從一開始設計出具有前瞻性,對於後期的變更或擴充套件都是非常友好與和諧的,相反沒有架構的前瞻性,對於後期的開發將是無盡的bug
4. 軟體的測試
軟體在開發過程,可以解決掉大部分的問題,但還有部分不易發現,唯有可靠的軟體測試,才能檢測出這些潛在的漏洞。而且產品出的問題很大部分都是為測試出來的潛在問題。故軟體交付前各種測試尤為重要
5. 可靠的開發團隊
先有優秀的團隊,才能有優秀的專案。在專案初期,組建團隊也顯得尤為重要。在專案中,能夠各盡其用,個思其職,只有才能做出優秀的產品出來
二. 在產品開發工程,難免會遇到各種問題。但當出現問題時,我們該如何除錯啦?
1. 記錄問題現象
如果是一些頻發故障,可以找找規律,是不是在特定時間或特定事件時會發生相應故障。如果不是頻發故障應該有詳細的事件發生經過。所有的追究問題現象是為了縮寫問題範圍,找到問題點。根據問題點再回過頭去分析程式,從而解決問題
2. 裝置執行log很重要
分析問題最有效的方法檢視裝置日誌,日誌中記錄了裝置的狀態,以及各種錯誤資訊。通過這些有效資訊我們可以很輕易的確定問題點,然後再去反推**,從而解決問題
3. 用軟體模擬除錯裝置
有些時候,我們除錯裝置時,只要給裝置建立個軟體模型,在模型中輸入各種變數以及引數,可以得到相應輸出結果。通過模擬過程我們可以發現程式的潛在風險。
嵌入式開發的點滴心得
在核心裡發生錯誤,可以呼叫dump stack 來輸出call trace 資訊 show regs 可以列印暫存器資訊。splint檢查c 的缺陷,valgrind可以檢查程式記憶體使用錯誤。gcc中的 g 和 o2是可以共存的。msh的不支援的shell 特性 不支援shell變數 加 括起,會...
嵌入式開發
經常會有人說嵌入式開發,嵌入式開發千差萬別,我總體上分為4個等級 微電子開發 rtos開發 指令碼開發 富應用開發 這一類產品行為比較固定,比如說電視遙控器,遙控汽車,電飯煲,恆溫燒水壺,溫濕度感測器,智慧型門鎖等。這些裝置行為都比較簡單,通過按鈕可以設定系統功能和行為。量不大,經常會選用flash...
初識嵌入式 嵌入式開發概述
1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...