【背景介紹】
近年來,物聯網終端的接入數量增長迅速,根據權威機構分析,到2025年全球物聯網設備連接數預計超過300億,主要應用領域包括智慧城市,工業物聯網,醫療、智能家居等,而MCU是物聯網應用的控制核心,根據Omdia統計,2019年全球MCU市場規模為175億美元,預計2022年將達到184億美元;2019年中國MCU市場規模為53億美元,占全球市場比重為30.2%,預計2024年中國MCU市場規模將達到57億美元。但我國MCU市場一直被海外企業主導,前五大供應商無一內資企業,隨著信息安全的重要性突顯和國內芯片設計技術的提升,未來MCU國產替代將是長期趨勢。
數據來源:Omdia
· 廣芯微之微控制器入門篇1:8位MCU介紹 · 廣芯微之微控制器進階篇2:32位MCU介紹
· 廣芯微之微控制器入門篇2:32位MCU介紹
· 廣芯微之微控制器進階篇1:8位MCU介紹
注:本文力求通俗易懂,主要面向初學者,對廣芯微8位MCU有所了解的讀者可以忽略此文。
【概 述】
本文將介紹廣芯微的8位MCU的一些主要特性,開發套件包含哪些東西,如何搭建開發環境,如何編譯示例并下載固件至硬件開發板等步驟。
【MCU介紹】
UM800x是廣芯微的超低功耗MCU產品中,8位MCU系列芯片,芯片集成單周期8051內核,主頻24MHz,最高內存達到64KB,其帶有豐富的外設接口、8通道12-bit SAR ADC、低電壓檢測LVD及掉電復位LVR模塊等,支持多達11路PWM、4路UART、17路GPIO和1路CAN總線。
【準備工作】
開發套件
UM800x 發布的開發套件包含:
· 硬件開發板
· 離線燒錄器(可選)
· 軟件開發包
軟件開發包
軟件開發包包含芯片的相關資料、硬件開發板的相關資料、IDE資料、模塊驅動及示例程序以及典型應用基礎方案示例等。
軟件開發包內容如下:
· Document:芯片用戶手冊和Datasheet,快速開發上手手冊,應用筆記
· Driver&Example:模塊驅動代碼,Demo示例程序
· EVB:開發板相關資料,元器件datasheet
· IDE:IDE開發工具(可聯系FAE技術支持)
· Production Tool:BootLoader下載工具及文檔,量產工具軟件及文檔
· Solution:典型應用基礎方案示例
軟件開發包也可以通過廣芯微網站下載:
http://www.5k8y.com/
開發環境
芯片開發環境包括硬件環境和軟件環境。
硬件環境
硬件環境如圖1所示:
· 硬件開發板和USB連接線
· 電腦(編譯代碼,下載程序代碼)
圖 1:硬件連接示意圖
硬件開發板
基于 UM800x微控制器提供的開發板,除了豐富的周邊應用電路,如 GPIO 、多功能擴展接口與多元的電源供應接口等,亦可搭配豐富的開發板支持套件與軟件開發工具,可作為項目評估、開發、驗證以及功耗監控的標準模板。
開發板如圖2所示:
圖 2:硬件開發板
開發板支持USB供電、5V適配器供電和CR2032紐扣電池供電三種供電方式,默認采用USB口供電,通過改變跳線帽的連接方式進行供電方式的切換。
硬件開發板接口資源豐富,包括UART、SPI、I2C等通訊接口,預留SPI Flash存儲芯片、溫濕度傳感器SHT20、OLED液晶屏等外設。此外芯片的所有GPIO管腳均通過排針引出,可作GPIO調試,接口功能擴展等,滿足更復雜靈活的應用需求。
芯片默認選擇片內16MHz晶振作為時鐘源,也可以通過軟件配置選擇片外高速時鐘作為時鐘源。
關于芯片硬件開發板的詳細資料,請參考開發板原理圖。
軟件環境
軟件環境包括代碼調試環境和量產環境。
代碼調試環境
代碼調試環境是指通過MDK (KeilC51)集成開發環境進行程序編寫,編譯鏈接生成可執行文件(hex文件),通過UNIC_BootTool 工具下載,可通過串口調試工具(如串口調試助手,sscom等)接收調試信息進行調試。
量產環境
量產環境是指產品的功能調試完成后,將代碼量產燒錄到芯片這一過程所用的軟件環境。
在電腦端用Keil C51進行代碼的編寫,編譯鏈接生成可執行hex文件,最后通過UNIC_BootTool工具下載到開發板上運行。可通過UNIC_BootTool或者燒錄器燒錄hex文件(詳細操作指南見Production Tool文件夾下相關文檔)兩種方式進行產品的量產。
【快速開發入門】
當我們拿到開發套件并準備好開發環境后,我們需要搭建調試環境。
硬件環境搭建操作如下:
1. 用USB線將芯片硬件開發板與電腦連接起來。USB口能夠供電的同時也能作為調試接口,連接如圖3所示。
圖 3:硬件連接示意圖
2. 打開開發板上的電源開關,給開發板供電。
搭建調試環境
下載并安裝Keil C51,網址如下:
https://www.keil.com/download/product/
注:Keil C51是Keil公司出品的51系列兼容單片機C語言軟件開發系統。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil C51提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。
安裝后如圖4所示:
圖4:Keil C51
接下來打開示例工程,下面以Driver&Example/uart0示例為例作為描述,打開SDK目錄,如圖5所示:
圖5:打開uart0示例工程
雙擊UM800Y.uvproj工程文件,即可打開工程,工程顯示如圖6所示:
圖6:uart0示例工程
接下來的這個步驟很重要,由于發布的SDK包是適合UM800x系列芯片的,因此在編譯工程時,需要針對性的設置工程的代碼空間,操作步驟如下:
1. 打開Keil工程后,點擊進入工程設置界面。
2. 在“Target”中按圖7所示進行設置。
圖7:Target設置
在紅色框內填入對應芯片的內存地址,其中Start均為0x0000,Size分別是:
型號 | Size |
UM8004 | 0x4000 |
UM8004M | 0x4000 |
UM8005 | 0x8000 |
UM8006 | 0x8000 |
UM8007 | 0x10000 |
都設置好后,點擊“OK”保存并退出工程設置。
編譯工程
Keil提供兩種編譯方式:增量編譯和重新編譯
。
單擊任意一個按鈕,編譯輸出如圖8所示:
圖8:編譯工程
這樣uart0示例編譯結束,Hex輸出文件為 .\Out_Files\um800y.hex。
修改代碼
在修改代碼前,我們簡單了解一下8051在Keil C51中的代碼結構:
1. 啟動文件:STARTUP.A51。
2. C語言入口:main.c中的main函數,如圖9所示。
MCU上電后先執行STARTUP中的代碼,然后再到C語言的入口main函數。
圖9:C語言入口
返回列表