2018-12-08 10:41:38 +08:00
|
|
|
|
# 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工具][1],可以在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开发板的情况,建议参考开发板的[开发环境搭建](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_Vega_Develop_Environment_Setup.pdf)的文档。
|
|
|
|
|
|
|
|
|
|
### 3.1 运行结果
|
|
|
|
|
|
|
|
|
|
如果编译 & 烧写无误,当按`SW1`复位按钮复位设备后,会在串口上看到RT-Thread的启动logo信息:
|
|
|
|
|
|
|
|
|
|
``` text
|
|
|
|
|
\ | /
|
|
|
|
|
- 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 |
|
|
|
|
|
| PTE8 | BTN_SW3 |
|
|
|
|
|
| PTE9 | BTN_SW4 |
|
|
|
|
|
| PTE12 | BTN_SW5 |
|
|
|
|
|
| PTA0 | BTN_SW2/BTN_NMI |
|
|
|
|
|
|
|
|
|
|
## 5. 参考
|
|
|
|
|
|
|
|
|
|
* [开发板用户手册](https://github.com/open-isa-org/open-isa.org/blob/master/RV32M1_VEGA_Board_User_Guide.pdf)
|
|
|
|
|
* 芯片[数据手册](https://github.com/open-isa-org/open-isa.org/blob/master/Reference%20Manual%20and%20Data%20Sheet/RV32M1DS_Rev.1.1.pdf)
|
|
|
|
|
* [open-isa链接](https://github.com/open-isa-org/open-isa.org)
|
|
|
|
|
|
|
|
|
|
[1]: https://www.rt-thread.org/page/download.html
|