主要專長於軟韌體與硬體的整合開發,以及開發桌面軟體(windows,linux)以輔助軟韌體開發或增強功能。
助教經歷
播放等實驗,並參與課程內容測試與函式庫維護等工作。
微控制器課程助教群PM - 管理七名助教與技術問題排除,ASA-M128 middleware韌體維護與課程內容調整。
2018/09 - 2020/07
助教經歷
社團/參賽經歷
打工經歷
2013/09 - 2018/07
我是朱立宇,畢業於中央大學光機電所,主要專長於軟韌體與硬體的整合開發,以及開發工作軟體(windowsm,linux)以輔助軟韌體開發或增強功能。 大三即進入實驗室進行訓練以及開發專案,開發過程中藉由大量閱讀Datasheet與Application Note,學習到I²C 、SPI、UART、USB等序列介面的訊號模式及I/O的電氣特性,了解同步與非同步訊號各自的電氣介面與時序交握規則。並在閒暇時間藉由書籍、網路資源、線上課程,學習資料結構與演算法。
大四大五主要在實驗室協助專案開發,使用pyhton、C++開發各項輔助工具,來協助實驗室開發專案。並學習PCB layout,開始設計電路板實現各種硬體應用。期間去其他系所修習了DSP、DSP在VHDL上的實現、數位影像處理、LINUX核心,增加相關領域的知識廣度。
碩一期間主導了實驗室開發流程改善的工作,因在實驗室已經待達三年,了解了流程上的痛點以及問題。導入git版本管理,並參考Git Flow進行開發合作,改善程式碼品質。重構了專案C4MLIB,實驗室共用的C語言函式庫,功能方面,重新設計了數個API、解藕了原先功能間的強烈相依、建立出了硬體抽象層,並為未來打下移植不同硬體平台的功能與架構。流程方面導入新的開發流程,使用Gitlab CI/CD來降低操作性錯誤以及增加開發人員反饋速度。重構完後獲得顯著效果,改善歷年來程式碼版本混亂,臭蟲未適當回報修正等問題。升上碩二後,流程主導交棒給指導教授,開發主力交由給實驗室學弟,運行至今能未出現大問題,並能保持功能上的產出。
碩二期間專注於論文的開發,開發以ARM cortex-m3為核心的開發版,討論並決定機構、電氣特性、硬體等規格。並開發此開發版的周邊工具,包含開發環境、燒錄工具等。最後撰寫乙太網路驅動配合LwIP(TCP/IP協定組實現)來開發聯網的功能,並提供給未來的實驗室學弟開發IOT相關應用。
因實驗室原本使用之開發板(Atmel ATmega128)運算速度不足以開發特定應用,故決定使用ARM作為核心實現一個新的開發平台。
使用了 Cortex-M3 LPC1769 作為核心,自行layout、設計了ASA_M3_v1開發板,撰寫了startup程式、工具軟體,完成了一個可以實現 IOT 應用的開發環境。選擇 TI DP83848 作為物理層,選用 LwIP 作為 TCP/IP stack。並可使用none-os、FreeRTOS、實驗室自製的rtos,三種OS方案來應付不同應用大小。工具軟體則提供了燒錄軟體,以及專用的終端軟體。
並未實驗室共用的函式庫C4MLIB(原為AVR平台)打下移植ARM的基礎,交由後續學弟完成移植的部分。
論文的成果也提供給另外兩位同學實現應用作為論文,一為微步進馬達驅動、一為電子濃度感測計。
實驗室使用在開發版上的函式庫,目標平台是AVR、ARM。個人負責技術領導、專案管理部分。
技術領導部分:使用makefile 與 python建立了整個專案的建置系統;協助需求規格、實現方法探討,分析執行速度、中斷處理方式等;使用gitlab CI與Jenkins建立了CI/CD流程。
專案管理部分:協助實驗室導入gitlab;制定工作流程、Code Style、Code Review方法等規範,讓開發人員可以順利共同合作;建立issue review的流程,協助功能及bug的進度管理。
實驗室用的標準人機程式,協助資料擷取、開發板燒錄。能與開發版交換數值資料以及編輯,並支援 MATLAB 的 mat 檔案轉換。 為單人開發,並以主要使用pyhon及pyqt來實現。
以ARM cortex-m3 LPC1769為核心的開發版,討論並決定機構、電氣特性、硬體等規格。實現bootloader,並開發此開發版的周邊工具,包含開發環境、燒錄工具等。
在此開發版上實現連網功能,phy選用了DP83848,並移植lwip提供了完整了網路功能。提供了不同情境下的解決方案及開發範例,分別有none-os、FreeRTOS,讓後續實驗室成員開發可以依不同需求大小選擇合適的解法。
LORA + MQTT + GPS + Web service 實現的簡易腳車定位系統。使用 lora 開發版 MTUDK2-ST-MDOT,配合GPS及RTC模組實現定位及資訊發送裝置。
無線網路課程的期末專案,與實驗室同學共三人合力完成。個人負責整體架構、資料流規劃及網頁前後端開,另一位負責手機應用開發,另一位負責硬體、韌體開發及整合。自行架設網路服務(python flask)訂閱MQTT接收資訊,並寫入SQL中。並設計、架設RESTful的API伺服器去操作資料庫,提供網頁前端、手機簡單的資料存取介面。最後在網頁應用及手機應用中串聯API伺服器與google maps呈現定位資訊。