五分钟上手国产STAR-MC1单片机

  • 11/14 10:41

微信公众号 | strongerHuang

最近,收到面包板社区寄来的一款基于Cortex-M33内核的国产单片机开发板:FR3068D-C

这块开发板主控为国产MCU厂商富芮坤的FR3068E-C,还带有一块显示屏

拿到这块板子,惊艳到我的不是开发板,而是他们提供的例程(非常的丰富)。

除了单片机常规的外设GPIOUARTSPII2C等,还有很多学习单片机都会用到的协议栈(lwip)、文件系统(fatfs/littlefs)、日志库(EasyLogger)、数据库(FlashDB)、GUI(lvgl)、coremark跑分,还有USB、RTOS等很多单片机学习和开发项目中都会用到的技术。

这些例程是开源、且可以直接编译运行的代码,开发环境主要是Keil MDK。

你可别小瞧这些例程,我敢说,绝大多数工作三五年,甚至十年的资深工程师都没有完全弄懂这些技术。

这里先给大家看一段出厂的Demo:

接下来教大家用5分钟时间上手这款国产Cortex-M33内核单片机。

关于FR3068E单片机

教大家上手之前,先简单介绍一下这款国产Cortex-M33内核单片机。

FR3068E这款单片机,它不是有一款纯单片机,而是一块集成蓝牙核的双核芯片

蓝牙部分我们这里不描述,主要讲述单片机部分,从框图可以看得出来单片机是一个 32 位的 CM33 内核处理器。然后,片上资源以及外设也非常的丰富。

更多关于单片机的介绍,大家可以进入富芮坤官网查看:https://www.freqchip.com/

5分钟上手国产CM33单片机

官网提供了大量的开发文档、资料、例程,我这里给大家理一下上手思路,以及注意事项。

1、官网下载开发文档、资料、例程

下载地址:https://www.freqchip.com/sjds

上手之前,建议先看下这些开发文档,以便了解更多信息。

2、搭建开发环境

这里主要有两个环境:Keil MDK 和 Python,所以,需要在 WIndows 操作系统环境下进行开发。

Keil MDK下载地址:https://www.keil.com/demo/eval/arm.htm

具体的安装过程这里不描述,请参考:Keil 系列教程

Python下载地址:https://www.python.org/getit/

目前最新版本python-3.13.0:https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe

同样,Python具体的安装过程这里不描述,Windows安装程序,基本上一路next即可,可以参考网上安装教程。

提醒一下:Python环境没有搭建好,最后生成可执行(下载)文件,就会出错。大家可以通过cmd命名输入 python 进行查看,如果出现类似下面情况,证明 python 环境搭建好了。

3、打开例程、编译

这里我们打开(上面下载好的)官方提供的例程,比如:lvgl_demo工程

我们这里直接双击,用Keil MDK打开工程,然后直接编译,最后会看到编译0错误的编译信息:

此时,在(output)输出路劲下就会看到生成这样几个文件,其中Project_burn.bin这个文件就是我们用于下载到单片机中的程序文件。

4、下载程序

这里用官网提供的下载工具:

然后选在刚才编译好的文件,点击【打开烧录】,复位单片机(按一下复位键):

最后会提示【烧录成功】,然后还有一段“乱码”出现:

此时,就会看到显示屏上有画面:

单片机片上外设例程:我们再打开一下外设例程,比如GPIO例程:

官网提供例程LED引脚和我们开发板有点不匹配,我们这里修改一下:

void gpio_demo(enum_GPIO_Demo_t fe_Demo){    /* init GPIO CLOCK */      __SYSTEM_GPIOD_CLK_ENABLE();    __SYSTEM_GPIO_CLK_SELECT_COREH();        printf("gpio clock:%drn", system_get_peripheral_clock( PER_CLK_GPIOx));
    switch(fe_Demo)    {        case GOIO_OUTPUT:        {            GPIO_Handle.Pin  = GPIO_PIN_6|GPIO_PIN_7;            GPIO_Handle.Mode = GPIO_MODE_OUTPUT_PP;            GPIO_Handle.Pull = GPIO_PULLUP;            gpio_init(GPIOD, &GPIO_Handle);
            while(1)            {                //pin Output high Level                 gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_SET);                system_delay_us(100000);                                //pin Output low Level                 gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_CLEAR);                 system_delay_us(100000);                           }         }    }}

编译好,然后,以上面的下载方式进行下载,就会出现:

此时,在开发板上,就会看到:看到这里,是不是觉得很简单?

是的,非常简单,对于有一定基础的同学,5分钟就可以搞定。

人工客服
(售后/吐槽/合作/交友)

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容