輕鬆上手:以VS Code, SDCC, Git建立新唐8051編譯環境
這是003Clock系列的第二篇文章,第一篇還沒跟上的趕快回追一下~ (一)製作新唐N76E003白光LED電子時鐘套件 (二)以VS Code, SDCC, Git建立新唐8051編譯環境 (三)新唐N76E003白光LED電子時鐘套件韌體技巧說明 (四)免用燒錄器更新韌體:NuMicro ISP Programming Tool 2018年前後,新唐推出了這顆N76E003,主打著只要台幣7塊錢的增強型8051,與STM8S003 pin-to-pin相容,機械週期只有1個clock cycle、內建了18KB的程式記憶體、兩組UART、ADC、I2C、SPI、PWM等齊全的功能,要接什麼感測器都很方便,Arduino UNO有的它都有,於是就入手了一堆N76E003。 朋友們如果有新的設計,推薦使用今年新出的N76S003啊!因為N76E003目前已調漲到台幣10塊錢。新出的N76S003大概是用了更成熟的技術來生產,所以還能維持在台幣7塊錢(聽說是e-store Nuvoton Direct獨賣),除了更便宜之外還多了SPROM的功能。我現在還在用N76E003是因為當年買的那一堆庫存還沒用完XD 但請各位放心,這兩個型號新唐掛保證是完全pin-to-pin、code-to-code相容的,原廠提供的BSP也完全共用。 https://direct.nuvoton.com/n76s003-series 由於Keil C51、IAR之類的商用軟體,免費版本是有code size限制的,印象中Keil C51是限制在2KB,那麼N76E003的18KB豈不是用不完!因此當時就轉向使用open source、無code size limit的SDCC (Small Device C Compiler) 來開發。SDCC只是一套工具鏈(俗稱編譯器),而非整合型的開發環境(Integrated Development Environment, IDE)。 那時候自己看了一下SDCC的手冊, 就能將新唐原廠提供的BSP (Board Support Package) 修改成SDCC支援的格式 ,用Windows內建的記事本或Notepad++編輯主程式,再開一個「命令提示字元」一一敲進編譯、組譯和鏈結的指令,把執行檔編出來。後來當然學聰明了,將這些步驟寫成.b...