README.md 5.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
# AB32VG1 骄龙开发板 BSP 说明

## 简介

主要内容如下:

- 开发板资源介绍
- BSP 快速上手
- 进阶使用方法

通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
## 注意事项

芯片有部分不开源的代码是以静态库提供的,静态库在软件包中,默认已勾选,直接运行 `pkgs --update` 即可

波特率默认为 1.5M,需要使用 [Downloader](https://github.com/BLUETRUM/Downloader) 下载 `.dcf` 到芯片,需要编译后自动下载,需要在 `Downloader` 中的下载的下拉窗中选择 `自动`;目前暂时屏蔽 uart1 打印

使用 `romfs` 时,需要自己生成 `romfs.c` 进行替换,操作参考[使用 RomFS](https://www.rt-thread.org/document/site/tutorial/qemu-network/filesystems/filesystems/#romfs)

编译报错的时候,如果出现重复定义的报错,可能需要在 `cconfig.h` 中手动添加以下配置

``` c
#define HAVE_SIGEVENT 1
#define HAVE_SIGINFO 1
#define HAVE_SIGVAL 1
```

所有在中断中使用的函数或数据需要放在 RAM 中,否则会导致系统运行报错。具体做法可以参考下面

``` c
RT_SECTION(".irq.example.str")
static const char example_info[] = "example 0x%x";

RT_SECTION(".irq.example")
void example_isr(void)
{
    rt_kprintf(example_info, 11);
    ...
}
```

43 44
## 开发板介绍

G
greedyhao 已提交
45
ab32vg1-prougen 是 中科蓝讯(Bluetrum) 推出的一款基于 RISC-V 内核的开发板,最高主频为 120Mhz,该开发板芯片为 AB32VG1。
46 47 48 49 50 51 52

开发板外观如下图所示:

![board](figures/board.png)

该开发板常用 **板载资源** 如下:

G
greedyhao 已提交
53
- MCU:AB32VG1,主频 120MHz,可超频至 192MHz,8Mbit FLASH ,192KB RAM。
54 55 56 57 58 59 60 61 62
- 常用外设
  - LED: RGB灯
  - 按键: 3 个, USER(s2,s3) and RESET(s1)
- 常用接口:USB 转串口、SD 卡接口

## 外设支持

本 BSP 目前对外设的支持情况如下:

G
greedyhao 已提交
63 64 65 66
| **板载外设** | **支持情况** | **备注**                                  |
| :----------- | :----------: | :---------------------------------------- |
| USB 转串口   |     支持     |                                           |
| SD卡         |     支持     |                                           |
G
greedyhao 已提交
67
| IRDA         |     支持     |                                           |
G
greedyhao 已提交
68
| 音频接口     |     支持     | 支持音频输出                              |
G
greedyhao 已提交
69 70 71 72
| **片上外设** | **支持情况** | **备注**                                  |
| GPIO         |     支持     | PA PB PE PF                               |
| UART         |     支持     | UART0/1/2                                 |
| SDIO         |     支持     |                                           |
G
greedyhao 已提交
73
| ADC          |     支持     | 10bit ADC                                 |
G
greedyhao 已提交
74 75
| SPI          |   即将支持   | 软件 SPI                                  |
| I2C          |     支持     | 软件 I2C                                  |
G
greedyhao 已提交
76
| RTC          |     支持     |                                           |
G
greedyhao 已提交
77
| WDT          |     支持     |                                           |
G
greedyhao 已提交
78
| FLASH        |   即将支持   | 对接 FAL                                  |
G
greedyhao 已提交
79 80
| TIMER        |     支持     |                                           |
| PWM          |     支持     | LPWM 的 G1 G2 G3 之间是互斥的,只能三选一 |
G
greedyhao 已提交
81
| FM receive   |     支持     |                                           |
G
greedyhao 已提交
82 83
| USB Device   |   暂不支持   |                                           |
| USB Host     |   暂不支持   |                                           |
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107

## 使用说明

使用说明分为如下两个章节:

- 快速上手

    本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。

- 进阶使用

    本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。


### 快速上手

本 BSP 为开发者提供 GCC 开发环境。下面介绍如何将系统运行起来。

#### 硬件连接

使用数据线连接开发板到 PC,打开电源开关。

#### 编译下载

G
greedyhao 已提交
108
通过 `RT-Thread Studio` 或者 `scons` 编译得到 `.dcf` 固件,通过 `Downloader` 进行下载
109 110 111

#### 运行结果

G
greedyhao 已提交
112
下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LED 会周期性闪烁。
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:

```bash
 \ | /
- RT -     Thread Operating System
 / | \     4.0.3 build Dec  9 2020
 2006 - 2020 Copyright by rt-thread team
msh >
```
### 进阶使用

此 BSP 默认只开启了 GPIO 和 串口0 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:

1. 在 bsp 下打开 env 工具。
G
greedyhao 已提交
128

129
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
G
greedyhao 已提交
130

131 132
3. 输入`pkgs --update`命令更新软件包。

G
greedyhao 已提交
133
4. 输入`scons` 命令重新编译工程。
mysterywolf's avatar
mysterywolf 已提交
134

135 136 137
## 维护人信息

- [greedyhao](https://github.com/greedyhao)