Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AB32VG1
RT-Thread
RTC
中科蓝讯AB32VG1系列之手把手入门与RTC简单评测
发布于 2021-03-23 15:38:54 浏览:2774
订阅该版
[tocm] ### **AB32VG1简单测评之RTC** > 时间:2021-3-23 > 作者:SVCHAO > 开发板平台:中科蓝汛AB32VG1 > 软件平台:RT-Thread Studio V2.1.0 > RTOS平台: rt-thread 4.0.3 build Mar 23 2021 > 操作系统:windows10 家庭版 ## **一.测评任务** 本次AB32VG1开发测评任务有很多, 我选择的是RTC模块。熟悉ARM架构的小伙伴都知道RTC是一个非常简单的定时模块, 但RISC-V是我第一次接触由于手册还比较简陋, 加之对RISC-V架构的初次接触, 刚开始上手还真有点出乎意料的感觉。好在已有大神将该模块驱动已经写好,所以我的评测就变的非常简单。截止当前(2021-3-23)RTC的底层驱动还不是非常完善,虽然iysheng大神已经提交PR但截止本文发布时该PR还没有被正式合并,遂本评测具有一定的时效性。注意更新最新的BSP包。 ## **二、开发板硬件信息** 2.1.MCU信息 开发板采用中科蓝讯的32位RISC-V指令集的AB32VG1型号MCU,主频120M。MCU有8M的Flash,和192K SRAM。支持3.0V-5.0V供电。 与一般MCU不同的是,这款MCU具有MPU模块,就是电源管理模块,支持Charge电路、BUCK电路、LDO电路等等,手册第十页给出了MPU模块的详细参数。 2.2.Uart1查看 开发板有三个全双工的UART模块,Uart0有六组IO口的映射,Uart1和Uart2各有两组IO口。但是Uart0是开发板的调试串口,Type-C和USB-A都挂载在Uart0上所以用户使用Uart1和Uart2就可以了。 手册里没有找到Uart配置相关的详细信息,而且是借助我们RTT作为开发平台,肯定进行了封装无需用户调用。 ## **三、从入门到放弃系列** 3.1 安装 CP2102 驱动 3.2 安装 RT-Thread Studio 3.3 下载 Downloader(下载软件) 绿色版无需安装 以上安装包:[下载地址](https://ab32vg1-example.readthedocs.io/zh/latest/rt-thread/wav_player.html) RT-Thread对我来说并不陌生,已在多个工业项目中使用并稳定运行多年。AB32VG1对我来说是全新架构的MCU第一次使用基于RISC-V架构的单片机,基于RT-Thread优秀的封装配合RT studio的完美支持,在使用上并没有感觉到太多的陌生。下面是我第一次搭建AB32VG1开发环境的过程。 3.4 板载了基于CP2102的 USB->UART 芯片,首先安装 CP2102 的驱动, 一路NEXT, 安装好后如下图。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/1f1add35da698c70298d7b1f3f6e35c4.png) 安装RT-Thread Studio的步骤不在赘述,安装完成后, 点击SDK Manager ![image.png](https://oss-club.rt-thread.org/uploads/20210323/4f71e0e6b3df0b2860d859280bc73a46.png) 首先安装 rt-thread 最新的源码包, 否则在安装AB32VG1 SDK的时候, 会提示缺少依赖。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/446ea8ebc681da2036315d384aa3ad59.png) 接着安装AB32VG1的 SDK包, 注意RTT studio目前只支持一次下载一个SDK。这里我们勾选最新的SDK, 然后点击 【安装1资源包】。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/fc097375936707b15f52525a95329d07.png) 最后,因为AB32VG1是RISC-V内核,我们还需要安装对应的RISC-V-GCC工具链 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/b1cc0b599e424d5cf519a3a6388a1b8b.png) 至此我们已经完成了相关工具的安装。 3.5 接着开始新建项目 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/a24ad6faa71807c8c0a021a5e69d22e0.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210323/a0ed273e9ab3786135b3c48fe924bcb3.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210323/1104693a60d215262127f27b4c7d2dfb.png) 至此工程已经新建完成, 如果不出意外的话, 点击编译应该可以编译通过。 如果提示如下错误: ![image.png](https://oss-club.rt-thread.org/uploads/20210323/2bd4ce62d436f3169f0c200ac7d61b34.png) 请检查工具链是否配置正确: ![image.png](https://oss-club.rt-thread.org/uploads/20210323/525a36c9d0d7cbcf324a327e9a260a69.png) 检查无误后, 重启RTT(这不是必须的)。 3.6 烧录程序到MCU, 目前AB32VG1还没有像J-Link这样的在线调试工具(RTTS暂时不支持在线调试该MCU),所以我们只能直接烧写二进制文件到MCU进行验证。 AB32VG1 编译完成的二进制文件为 *.dcf 尾缀格式。在 Debug 目录下。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/577558a09de96fa9aa10e4eac9da3b88.png) 打开AB32VG1的专用烧写工具, 选择对应的COM5, 如果有多个串口工具在线,注意选择CP210x的。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/262a0e56c9bd7636336dce366055a4d4.png) 烧写步骤如下: ![image.png](https://oss-club.rt-thread.org/uploads/20210323/b5ecd47db54ec4e68b34583ec3ae1882.png) 点击 【开发】 打开调试窗口。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/921286f96dee601b544040129a4d0d9b.png) 至此我们的AB32VG1已经成功运行。 3.7 下面开始添加RTC驱动模块 点击RT-Thread Setting, 点击 【更多配置】 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/49a160388406f37505a616af2464c353.png) 勾选RTC设备驱动程序, ![image.png](https://oss-club.rt-thread.org/uploads/20210323/127129fc9a18d6c9ea5e2d7845591a44.png) 选择RTC设备驱动程序后, 点击保存. IDE将自动更新工程. 再次点击编译, 完美编译. RTC至此大功告成? 还没有, 在 Downloader调试界面中输入 date 命令,发现并没有输出你熟悉的时间日期。 这是因为 1. 在 _types.h 中 _TIME_T_ 被定义为 64bit, 2. 在drv_rtc.c 中默然并没有打开 BSP_USING_ONCHIP_RTC 宏。 ![image.png](https://oss-club.rt-thread.org/uploads/20210323/cf2096dae0ebf950ea74b5d6dd2842e1.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210323/af0dacb6fced571e75d55180755485df.png) 解决办法为添加宏定义 _USE_LONG_TIME_T / BSP_USING_ONCHIP_RTC 。 这里特别强调, 改问题已经由 iysheng 大神提交PR并修复了 RTC的其他bug。 具体如下:[RTC PR](https://github.com/RT-Thread/rt-thread/pull/4483) **根据PR中的内容, 我手动本地进行了修改。 修改后RTC运行正常。** ![image.png](https://oss-club.rt-thread.org/uploads/20210323/80b86e1d5913028092da67ba0664dc3f.png) _**强烈建议如果没有迫切的项目需求,暂时不要手动修改,该问题已提交PR, RTT会很快将该问题修复。 坐享其成吧。**_ ### ** 心得体会:** 由于最近工作繁重,时间紧迫我并没能非常仔细的测试即便是RTC的每项功能,例如报警,秒中断等功能。初步体验来说AB32VG1的上手还是非常容易的,我想这主要还是归功于RTT生态环境的日益完善。 目前AB32VG1资料还不是非常完善有些技术细节方面还需要综合各种经验来猜测,但就该MCU本身来说我觉得硬件方面的配置还是非常丰富,非常强劲的。后面有机会我将移植数学算法, 对比AB32VG1与主流M0,M3,M4的性能差异。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
svchao
这家伙很懒,什么也没写!
文章
13
回答
1
被采纳
0
关注TA
发私信
相关文章
1
RTC驱动框架几点建议
2
求助:RTT在STM32F407上使用内置的RTC设置日期需重启生效,设置时间即时生效,有遇到同样问题的吗?
3
[新人试水] LPC1768 Nano3_9 添加RTC
4
STM32 关于RTC的问题
5
stm32f4xx-HAL BSP的RTC设置不对
6
关于STM32的RTC设置年份不正确的问题
7
RTT的RTC驱动调试
8
rtc驱动中的bkp模块起不到防止时间的重新设置
9
rtc时钟跑十几个小时后,比实际时间快几秒怎么解决
10
stm32如何断电之后开发板rtc时间继续往前跑
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部