媒体中心
广芯微MCU入门篇1
2022-06-14  |   浏览:1005  |  来源:广芯微电子(广州)股份有限公司

【背景介绍】

近年来,物联网终端的接入数量增长迅速,根据权威机构分析,到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介绍
· 广芯微之微控制器进阶篇1:8位MCU介绍

· 广芯微之微控制器进阶篇2:32位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:典型应用基础方案示例

软件开发包也可以通过广芯微网站下载:

https://www.unicmicro.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语言入口

在uart0示例工程中的各文件描述如下:

· STARTUP.A51:启动文件
· system_um800y.c:系统时钟设置文件
· common.c:通用函数文件
· uart0.c:uart0驱动文件
· app.c:应用入口文件
· main.c:C语言入口文件

uart0示例工作流程如图10所示:

图10:uart0示例流程图

我们可以尝试自己修改一下输出信息,比如在app.c中的uart_test函数修改输出信息,如图11所示:

图11:修改示例代码

修改完点击保存按钮后,单击按钮编译工程。

量产测试

量产测试是指通过BootLoader和电脑界面程序,下载用户APP代码的hex文件到片内Flash,然后运行程序;或者通过烧录器下载用户APP代码hex文件到片内Flash,然后运行程序。

注意:

· 由于芯片中固化了Boot引导代码,Boot的下载串口管脚固定用2.7(UART0RXD)、P2.6(UART0 TXD)。

本文档以通过BootLoader和电脑界面程序搭建量产环境为例,操作步骤如下:

1.    用USB线将芯片硬件开发板与电脑连接起来,给开发板供电。开发板上有USB转串口电路,当成功连接到电脑上时,串口调试助手将能够读到相应的串口号。如图3所示。

2.   打开Bootloader的用户下载工具,界面如图12所示。

首先设置“Port Settings”中串口的配置信息:

·  “MCU Type”选择正确的芯片型号。
·  “Port Number”开发板在电脑中的串口编号。
·  “Baud rate”波特率配置为115200

图 12:Bootloader的用户下载工具

3.    设置完成后点击“Open”打开串口。

4.   当进度条“Status Column”下方的状态框中提示“Please power on or reset the chip”时,如图13所示。按提示重新给开发板上电或者复位,等待电脑界面提示“Enter Boot mode!”,此时芯片进入到Boot模式,可以进行在线量产。

图 13:Bootloader的用户下载工具

若所用的USB to TTL模块含有DTR功能,可进行以下操作:

a)  将DTR引脚接到芯片RESETN引脚上,勾选“DTR”,如图14所示,

图 14:Bootloader的用户下载工具

b)  接着点击“Open”打开串口,PC界面会提示“EnterBoot mode!”。此时不用重新给开发板上电或者复位,芯片进入到Boot模式,如图15所示,可以进行在线量产。

图 15:Bootloader的用户下载工具

5.   点击“Erase Code”按钮,擦除片内Flash,界面提示“EFlash Erased.”。

6.   点击“Browse”选择hex文件。

7.  点击“Download Code”按钮进行程序下载,界面提示“DownloadComplete!”表示下载完成。

8.  下载完成后点击“Check CRC”按钮,界面提示“CRC Check Pass”则说明hex文件下载成功。

9.  下载成功后点击“Run App”运行程序,芯片跳转到EFlash开始执行应用程序。

芯片硬件开发板断电后,下次启动将自动执行用户APP程序。

【总结】

感谢大家参与学习广芯微之微控制器入门篇。现在,我们也只是入了门,我们还需要深入探索更多的广芯微微控制器,让我们一起拭目以待进阶篇吧。

【关于广芯微】

广芯微电子(广州)股份有限公司专注于低功耗物联网芯片的研发、设计与销售,为客户提供面向个人与家庭、工业与商业物联网应用领域,以低功耗为差异化的8位/32位微控制器芯片、无线射频收发器芯片、数字电源管理芯片和传感与信号调理专用芯片等。

广芯微秉持客户第一、技术创新和市场领先的理念,以国际领先的技术为基础,为客户提供一流的产品与技术,打造值得信赖的集成电路设计品牌企业。公司独有的低功耗芯片设计方法、轻量化人工智能算法、大功率的PD协议控制以及多样性无线连接技术整合而成的低成本高收益的集成电路设计,在健康医疗电子、消费电子、智慧家庭、工业控制、传感器与表计等领域已经得到了广泛的应用。广芯微低功耗微处理器芯片与射频芯片具有超低睡眠功耗与更低的工作电流,有效地帮助电子设备降低能耗,积极助力节能减排。

了解更多产品信息和经验分享,请通过下面二维码关注公众号“广芯微电子”。




—— END ——


免责及版权声明:凡本微信号注明“原创”的所有文字、图片和音视频作品,版权均属于广芯微电子(广州)股份有限公司所有,文章内容系作者个人观点,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本公司授权的微信号、网站等,在使用时必须注明“来源:广芯微电子(广州)股份有限公司”,否则本公司将依法追究责任。除原创作品之外,本平台所使用的文章、图片、素材、视频及音乐属于原版权人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原版权相关利益,敬请相关权利人谅解,若版权所有者认为本文涉嫌侵权或其他问题,请及时与我们联系,共同维护良好的网络创作环境。联系电话【020-31600229-李小姐】。



广芯微电子(广州)股份有限公司专注于高性能工业实时微控制器与低功耗物联网芯片研发、设计与销售,为客户提供创新解决方案。公司专注于新能源、工业控制与物联网等应用领域,提供以高性能低能耗为特色的差异化产品,包括工业实时微控制器芯片...