看板 Electronics 關於我們 聯絡資訊
: 哇... 有人在提有趣的東西了:P : 小弟平時是做韌體方面的比較多 但大學以前主要是接觸軟體方面 : 也和別人一起接過要用上四個design pattern的較大型的軟體專案 : 坦白說 在目前韌體上 小弟認為要用到OOA/OOD還太早 是這樣沒有錯,可是我總是常常在想, 就算沒有OO的compile, 可是程式的寫法跟意境,其實還是可以放在裡面的 有人說過OO只是ㄧ種概念,甚至也可以用再組合語言 對這個我深信不疑,但我還不會 所以才想提昇自己功力 : 可能小弟用的都是low level的CPU吧 : 一方面不是所有CPU的complier都支援C++支援得很好 : 另一方面CPU的速度不夠快到可以奢侈地寫漂亮的code : 另一方面記憶體更是少得可憐 對對,我也有遇到過一樣的情形, 我師父跟我說:ㄧ樣功能的程式有三種寫法 節省ROM SIZE,節省RAM SIZE,效能考量 當初我開發是再ROM快到極限的情形下寫程式 total ROM SIZE 有64K,可是已經用掉了60K 所以有時候要犧牲效能,或犧牲RAM : 您提到mp3 player, 之前小弟自己做了mp3 player來玩 : 在FAT32的部分 就不可能把code寫得太漂亮 這我也有切身之痛喔 可是每次只要拿到原廠給的程式 程式架構和軟體技巧有夠華麗的 就會覺得自己寫的東西真像屎 : 簡單的說 你不可能用recursive去解folder下的folder : 因為解一次可能就是0.5K的memory size : 可是完成這個工作只需要1K以下的memory(目前小弟做到1K而已) : 另一個方面 在embeeded system上 CPU換來換去 : 要做到hardware abstraction layer不難 : 但小弟每每都將code寫成chip dependency或I/O dependency : 因為每次k spec的時間太長 若code不寫成呆呆的樣子 : 會把跟spec的部分寫不單純 拿出來看很難一頁就能從code反譯成spec : 我同意寫韌體要盡量做硬體/韌體/軟體的切割 : 但是基於以上小弟的一些想法 其實小弟的firmware code總常會有一種 : 寫漂亮不是最重要的想法 去抗拒我寫太好看XD 這樣講也很道理,不過我一直在想這算不算是瓶頸呢? 應該有兩全其美的方法,只是我不知道而已 : 小弟認為目前object based還有可能 object-oriented似乎還太早 : 而且因為不是每個complier都是有C++支援 CPU常常是換來換去的 : 所以.......:P : 小弟對這方面也很有興趣 拋磚引玉一下 : 上面的想法多半是個人經驗罷了 歡迎高手指正一下:) 用c寫出OO概念的程式一直是我的夢想 降子就沒有complier的問題了吧^^ 感謝您的分享喔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.151.49.44