看板 C_and_CPP 關於我們 聯絡資訊
請教一下版上的前輩, 我目前在寫韌體函式庫, 最常遇到的就程式碼可攜性的問題. 常常Hardware一代與一代產品之間的差別可能不大, 可一但換了新的產品時, 都會需要去修改source code, 這會造成客戶對於程式正確性的懷疑, 甚至連客戶在reference function的時候都需要跟著一起連動. 不知道對於可攜性為導向的程式設計, 大家都用什麼方法來maintain自己的code的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.209.62 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1427516078.A.75E.html
MOONRAKER: 你寫韌體差半層就是硬體了,在這麼底層還有可攜性的存 03/28 15:04
MOONRAKER: 在嗎…我每天下課穿過學校後面的菜園就可以回家,現在 03/28 15:05
MOONRAKER: 菜園主人拉了一層鐵絲網,那你還要堅持穿過菜園嗎… 03/28 15:06
wuliou: 韌體本來就可攜性低 這沒辦法解的 03/28 16:45
wuliou: 除非你硬抽一層出來 但是這樣會變慢 03/28 16:45
MOONRAKER: 頂多設法把他包裝到舊的程式不需要修改…吧 03/28 17:28
MOONRAKER: 韌體一定要改 但是客戶那邊程式改越少越好 是這樣嗎? 03/28 17:28
Killercat: 通常用HAL當分界線,HAL以下就別想了.... 03/28 17:28
damody: #ifdef USE_ARM_CORTEX_M3 03/28 22:20
damody: 用大量的巨集啊 原廠都這樣用 你不會學喔 03/28 22:21
damody: 有人會寫code自動產生器 03/28 22:22
damody: 看需求吧 有些要速度 有些要硬體低成本 03/28 22:23
james732: 或許可以看看Chromium OS的EC? 03/29 01:30
sunneo: 不然只好把llvm ir/codegen帶到韌體層 03/29 11:36
MaxHaru: 謝謝客位的討論,韌體要有它的限制這我也知道,但還是希 03/30 00:29
MaxHaru: 望可以減少客戶修改的幅度,目前的做法頂多就是用#define 03/30 00:30
MaxHaru: 去多包一層,不過有些case仍然需要動到客戶的code,所以 03/30 00:30
MaxHaru: 才來這問問大家的經驗 03/30 00:31
MaxHaru: Chromium OS的EC code網上找的到嗎?有聽過它寫方式可攜 03/30 00:35
MaxHaru: 性不錯 03/30 00:35
sunneo: http://ppt.cc/2ciO 這邊看看 03/30 02:51
MaxHaru: 十分感謝 03/30 17:10