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

科技   2024-11-17 09:01   广东  
最近,收到面包板社区寄来的一款基于Cortex-M33内核的国产单片机开发板:FR3068D-C

目前面包板社区正在做评测活动,有300块FR3068D-C,免费申请中,大家可以扫描下方二维码,免费领取

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


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


除了单片机常规的外设GPIO、UART、SPI、I2C等,还有很多学习单片机都会用到的协议栈(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:%d\r\n", 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分钟就可以搞定。

作者 | strongerHuang

微信公众号 | strongerHuang


面包板社区
分享电子技术干货,工程师福利!EET电子工程专辑、ESM国际电子商情、EDN电子技术设计官方社区。
 最新文章