华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz、48MHz 时钟,并提供最大为 248K 字节的 FLASH 和最大 16K 字节的 SRAM。此外,芯片支持 ISP(在系统编程)操作及 IAP (在应用编程),用户可自定义 BOOT 程序。SWM181具有丰富的外设串行总线包括 1 个 CAN 接口,多个 UART 接口、SPI 通信接口(支持主/ 从选择)及 I2C 接口(支持主/从选择)。下图是SWM181最小系统板。
1.摘要
本文针对 SWM181 最小系统板如何建立KEIL 开发环境,如何使用keil建立一个新的SWM181工程进行说明。包括: 开发环境注意事项,KEIL 工程的建立,GPIO的应用案例---点灯实验。
2.开发环境注意事项
SWM181开发环境采用keil, 对于 Keil 5.12 及以上版本,安装 Synwit.SWM32_DFP.1.0.0.pack 后(点击工具栏“Pack Installer”按钮 ,在弹出窗口中通过菜 单“File-->Import..”选中 Synwit.SWM32_DFP.1.0.0.pack,点击“打开”按钮安装,如下图所示),可在 Keil 中新建工程时直接选择 Synwit SWM 系列芯片,且软件会根据所选型号自 动正确设置 Flash/RAM 大小、程序烧写算法、SVD 仿真文件等内容。
SWM181最小系统板支持ISP下载和JFLASH 的烧写应用等多种方式。板载CH330N,结合SYNWIT-PRG 工具软件可以实现程序下载。 JFLASH 主要用于在 J-LINK 软件中加载本公司指定型号芯片信息及下载算法,以达到使用 JFLASH 软件及 JLINK 仿真器对指定型号芯片 FLASH 进行擦除、写入及读取操作的目的,可以实现程序在线调试运行,方便开发。相关工具均可从以下链接获取。
开发环境所需资料链接:https://pan.baidu.com/s/1xU1JwhkHkS_CzVxuT-rzNA提取码:b9ot
3.KEIL 工程的建立
3.1 keil新建工程
打开 Keil 5 软件,选择菜单“Project->New uVision Project”,并输入文件名称 SWM181GPIO,这个工程名字可以自己随便命名。
点击“保存”后弹出器件选择窗口,选择 Synwit 下的型号SWM181XB
点击“OK”,在弹出的“运行时环境管理”窗口中选择需要用到的功能模块所对应的文件,其中 CORE 和 Startup、Port 三项是必须选择的。其他的用到时候选择即可,比如本次用到GPIO,可以勾选GPIO。
选择完成后,点击“OK”,完成项目创建和配置;但仍有一些设置需要手 动勾选。
手动配置项
配置项 1:打开 “Option”窗口“Target”标签手动勾选“Use MicroLib,以保证使用微库进行编译,避免编译结果过大
配置项 2:打开 “Option”窗口“Utilities”标签,并点击 “Settings”按钮,勾选“Reset and Run”,保证下载及校验完成后, 芯片软复位,程序执行。
C 文件及 H 文件增加
对于已经存在的.C 文件,通过在左侧工程栏 APP 文件夹上点击右键,选择 “Add File to Group APP”,然后从文件系统中选择指定的.C 文件并编译 也可以通过点击左上角空白文件新建文件,并在指定位置保存为.C 文件, 并通过“Add File to Group APP”添加至 APP 文件加下并编译。如图,这里添加一个main.c文件。
至此,整个新建工程配置完毕。
4.GPIO实验案例
一般拿到一块开发板,搭建好开发环境之后,就是先做一个点灯或者闪灯的实验。我也不例外,首先做一个点灯测试。编写main.c程序,如下:首先调用SystemInit();初始化系统时钟及一些必要信息。
要对GPIO进行操作,首先要对GPIO进行初始化,初始化调用GPIO_Init(GPIOB, PIN8, 1, 0, 0, 0);其中GPIO_Init函数的参数在SWM181_gpio.c中有详细说明。其中本条语句在这里是将PIN8配置为下拉推免输出模式。
程序编写无误,将jlink连接至电脑,打开 “Option”窗口“Debug”标签,点击Setting,将port设置为SWD。可以将程序下载至核心板中。