原创 【APM32F103VB开发板】Step 1. 环境搭建 Start with STM32CubeMX

2020-7-19 02:12 6788 32 3 分类: MCU/ 嵌入式 文集: MyTest
第一次申请成功,第一次写测评,有点小激动。个人水平有限,不妥之处还请多多指教。
本文分为以下几部分
  1. APM32F103VB开发板简介
  2. 开发工具
  3. 新建 Hello Wolrd 工程

一.  APM32F103VB开发板简介
        APM32F103VB是珠海艾派克微电子公司研发的一款基于 ARM Cortex-M3 内核的 MCU. 其主频最高可到72MHz, Flash为128KB, SRAM为20KB.
开发板的板载资源和实物图如下所示:

        可以看出板载资源简洁, 两类IO设备(Key, LED), 两种通信接口(USB, UART), 一个标准Jtag/SWD接口, 绝大部分Pin通过两侧的排针引出. 因此,
PCB上元件数量也不多, 该PCB只在顶层放置元件. 外观规规矩矩, 白色PCB看起来也还不错.

        从官方技术支持得知, 该芯片在硬软件上与同型号的STM32兼容, 这点很棒, 熟悉STM32的朋友就可以无痛上手啦~


二. 开发工具

        官方提供了Keil下的开发环境, 由于和STM32兼容, 所以对工具链的选择其实就很广了. 下面是本次测评所选用的相关工具

  1. STM32CubeMX                        --        用于配置底层代码
  2. Clion                                        --         代码编辑工具
  3. arm-none-eabi-gcc                --        免费的编译器
  4. Jlink                                        --        下载调试程序

三. 新建 Hello World 工程
  • 打开STM32CubeMX, 选择相应的型号(STM32F103VB), 然后点右上角的"Start Project"

  • 接下来配置时钟, 先看看原理图, 外接了32.768KHz的无源晶振和8MHz的无源晶振 

  • 所以在STM32CubeMX里进行如下配置: 在 System Core 下的 RCC 中设置 "High speed clock" 为 "Crystal/Ceramic
     Resonator", "Low speed clock" 为 "Crystal/Ceramic Resonator". 也就是设置为无源晶振的意思.

  • 随后, 在 "Clock Configuration" 中配置时钟. "Input frequence" 的值是之前晶振的频率. 然后, 修改"HCLK"的值并回车, 软件会自动计算分频,
    倍频的系数. 是不是很方便~

  • 从点亮一个LED开始吧, 看原理图得知PE5, PE6是用于控制LED的IO. LED采用共阳极的接法, 也就是说IO口给低电平, LED灯会亮~

  • 在STM32CubeMX中配置PE5, PE6为GPIO_Output

  • 再加上FreeRTOS, 在这之前我们需要修改一下"SYS"中的"time base source", 因为Systick默认给FreeRTOS用啦

  • 添加FreeRTOS

  • 接着设置 Project Manager. 选择IDE为"SW4STM32", 在"Code Generator"中进行如下设置.

  • 就快大功告成了, move on. 点击右上角的 "GENERATE CODE"

  • Then, Edit with Clion. 进入刚刚生产代码的文件夹, 鼠标右键 "Open Folder as Clion Project"
    PS: Clion 的下载, 安装, 配置这里就不详细描述了, 不了解的朋友可以去网上search

  • 打开Project之后会自动生产Cmake. 在free_rtos.c文件的default 线程中添加如下代码
    1. HAL_GPIO_TogglePin(LED_R_GPIO_Port, LED_R_Pin);

    ~隔200ms翻转一次电平
    编译OK 生成Bin(ELF/HEX)文件

  • 接下来就要下程序了, 打开Jflash, 选择芯片为STM32F103VB, 然后将Bin文件拖入到框中, 点击connect, program即可.


  • 看看实际效果~
    上传卡住了, 大家YY下吧, blingbling

总结, 使用体验总体还是比较顺利, 其实一开始用的是st-link, 不过st-link更新固件后就不认这芯片了, 后面换成Jlink就很OK, 为什么用Jlink还有一个
原因是Jlink的RTT很诱人, 还想继续折腾下~

下一篇移植下RTT/SystemView或者做做串口驱动

作者: 旺竹, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3913831.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

microZhu 2020-7-21 12:06

whik: 国产芯片可以用CubeMX吗?还能编译下载?
之前用STM32_CubeProgrammer, 一开始st-link也能识别下程序, 不过手贱自动升级固件后, 就识别不了芯片了.

microZhu 2020-7-21 12:03

whik: 国产芯片可以用CubeMX吗?还能编译下载?
实测可以的, 不过目前测试模块较少。官方说应软件兼容, 所以才有试试STM32Cude想法. 毕竟STM32Cube用起来挺方便的~

whik 2020-7-20 21:34

国产芯片可以用CubeMX吗?还能编译下载?
相关推荐阅读
旺竹 2020-08-16 16:20
【APM32F103VB开发板】Step 2. RTX5移植(附串口, 按键驱动)
rtx是一个keil公司开发的一个开源的实时操作系统(RTOS), 在Keil中有集成。在github上下载相关源码。RTX文件结构如下:RTOS2目录下:1. Include > RTOS2 头文件...
EE直播间
更多
我要评论
3
32
关闭 站长推荐上一条 /3 下一条