身為一個韌體工程師,做好韌體的版本控制是非常重要的一環,而版本控制最好要能做到自動化不但可以減少因人員產生的錯誤,還可以減少工作負擔。
因此如何透過 Git 搭配 GitHub/GitLab 來達到版本控制與 commit message rule 可以參考之前的文章:半自動化版本控制與 git commit message 標準化流程
而今天要讓自動化更加成長茁壯!!!

透過之前建立的 git version tags 來產生版本資訊並輸出成 “version.h” 來讓 firmware c/c++ code include

閱讀全文 »

那麼以上就是我們 五天打造完全免費的部落格網站 第五天!
如果沒有問題,恭喜你已經完成 100% 囉!
至此相信你已經 … say something


那麼以上就是我們 五天打造完全免費的部落格網站 第四天!
如果沒有問題,恭喜你已經完成 80% 囉!接著就是最後一天囉!!!
我們往 第五天 邁進!


C# 有很多好用的功能,其中 List 絕對是榜上有名。有時候需要放大量資料到記憶體當中,然而若不知道該放多少資料,而是隨著使用者來動態決定大小的話。
既不可能一開始就決定陣列大小,若宣告太大則浪費空間;若宣告太小則放不下!若使用 malloc 動態宣告,也是需要先在一開始就先知道要用多大的大小才能宣告。
如果今天我希望有用到才增加,沒用到就刪除,能最有效率的使用記憶體空間,則 List 絕對是箇中翹楚!
然而 C/C++ 中沒有像 C# 這麼方便的語法糖,直接 var list = new List(); 就能使用,尤其在 MCU 領域中更是以 C 語言為主,且對記憶體的使用斤斤計較,因此今天就來探討該如何自己實現基礎的 List 功能,又名 “鏈結串列 (Linked List)”!

閱讀全文 »