2ed84b61b0
Add UART1 driver of rv32m1_vega |
||
---|---|---|
.. | ||
ri5cy | ||
rv32m1_sdk_riscv | ||
README.md |
README.md
RV32M1_VEGA 板级支持包
1. 简介
RV32M1_VEGA开发板是一款多核异构的RISC-V 32开发板,包含了两个RISC-V 32位核心,同时也包括了BLE外设。
硬件 | 描述 |
---|---|
芯片型号 | RV32M1 |
CPU | RV32IMC, with extensons for post-incrementing load and stores, |
multiply-accumulate extensions, ALU extensions, hardware loops. | |
RV32IEMC | |
主频 | 48MHz或72MHz |
48MHz或72MHz | |
片内SRAM | 256kB + 128kB |
片内Flash | 1MB + 256kB |
2. 编译说明
当前测试的工具链是以标准的GNU GCC 7.2.0 & newlib 2.5.0方式,并以标准的RV32IMC构架进行编译,所以RV32M1的扩展指令未支持,RT-Thread ENV版本是1.0。
Windows上编译推荐使用env工具,可以在console下进入到bsp/rv32m1_vega/ri5cy
目录中,运行以下命令:
scons
来编译这个板级支持包。如果编译正确无误,会产生rtthread.elf、rtthread.bin文件。其中rtthread.bin需要烧写到设备中进行运行。
3. 烧写及执行
请使用JLink接入到RV32M1_VEGA开发板的RISC-V核的JTAG接口上,同时把JLink在PC上的驱动更改为WinUSB模式。JTAG接口位于RV32M1芯片和天线座子旁边,小的20pin JTAG接口。
使用USB线连接到标记了SDA的USB口上,在PC上会出现一个串口设备,可以使用115200-N-8-1的配置方式打开这个串口。设备使用的串口引脚是:[PTC7/PTC8]
当正确编译产生出rtthread.bin映像文件后,可以使用gdb连接到openocd,并以load
命令烧写到flash中。
关于更多使用JTAG,使用gdb调试RV32M1_VEGA开发板的情况,建议参考开发板的开发环境搭建的文档。
3.1 运行结果
如果编译 & 烧写无误,当按SW1
复位按钮复位设备后,会在串口上看到RT-Thread的启动logo信息:
\ | /
- RT - Thread Operating System
/ | \ 4.0.0 build Dec 5 2018
2006 - 2018 Copyright by rt-thread team
File System initialized!
Hello RT-Thread!
msh />
4. 驱动支持情况及计划
驱动 | 支持情况 | 备注 |
---|---|---|
UART | 支持 | UART0, RX(PTC7), TX(PTC8) |
支持 | UART1, RX(PTA25), TX(PTA26) | |
clock | 支持 | |
GPIO | 支持(列表可能不完善,同时也需要按照使用到的IO调整pinmux、clock) | |
MMC/SD | 支持 |
4.1 IO在板级支持包中的映射情况
IO号 | 板级代码中的定义 |
---|---|
PTA22 | LED_BLUE |
PTA23 | LED_GREEN |
PTA24 | LED_RED |
PTA24 | LED_STS |
PTA25 | UART1_RX |
PTA26 | UART1_TX |
PTE8 | BTN_SW3 |
PTE9 | BTN_SW4 |
PTE12 | BTN_SW5 |
PTA0 | BTN_SW2/BTN_NMI |