[doc] update doc

This commit is contained in:
jzlv 2022-03-22 11:32:02 +08:00
parent 5ff36fc813
commit 8742503a9e
11 changed files with 83 additions and 76 deletions

View File

@ -164,6 +164,7 @@ ADC 设备除了标准的控制命令,还具有自己特殊的控制命令。
#define DEVICE_CTRL_ADC_VBAT_OFF 0x14 #define DEVICE_CTRL_ADC_VBAT_OFF 0x14
#define DEVICE_CTRL_ADC_TSEN_ON 0x15 #define DEVICE_CTRL_ADC_TSEN_ON 0x15
#define DEVICE_CTRL_ADC_TSEN_OFF 0x16 #define DEVICE_CTRL_ADC_TSEN_OFF 0x16
#define DEVICE_CTRL_ADC_DATA_PARSE 0x17
``args`` 根据不同的 ``cmd`` 传入不同,具体如下: ``args`` 根据不同的 ``cmd`` 传入不同,具体如下:
@ -207,6 +208,9 @@ ADC 设备除了标准的控制命令,还具有自己特殊的控制命令。
* - DEVICE_CTRL_ADC_TSEN_OFF * - DEVICE_CTRL_ADC_TSEN_OFF
- NULL - NULL
- 关闭内部温度测量电路(需硬件支持) - 关闭内部温度测量电路(需硬件支持)
* - DEVICE_CTRL_ADC_DATA_PARSE
- adc_data_parse_t
- 对原始数据进行解析,解析成电压形式
**device_read** **device_read**
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^

View File

@ -7,58 +7,63 @@
博流系列芯片拥有丰富的时钟源选择,为方便用户配置,提供了时钟树配置表,不需要用户手动调用时钟设置接口,用户只需要关心最终的系统时钟和外设时钟频率即可。时钟配置表位于 ``bsp/board/xxx_board`` 目录下 ``clock_config.h`` 文件。 博流系列芯片拥有丰富的时钟源选择,为方便用户配置,提供了时钟树配置表,不需要用户手动调用时钟设置接口,用户只需要关心最终的系统时钟和外设时钟频率即可。时钟配置表位于 ``bsp/board/xxx_board`` 目录下 ``clock_config.h`` 文件。
时钟频率获取接口 **XTAL_TYPE** 有以下选择:
------------------------
**system_clock_get** - EXTERNAL_XTAL_32M
^^^^^^^^^^^^^^^^^^^^^^^^ - INTERNAL_RC_32M
``system_clock_get`` 用来获取系统时钟频率。 **XTAL_32K_TYPE** 有以下选择:
.. code-block:: C - EXTERNAL_XTAL_32K
- INTERNAL_RC_32K
uint32_t system_clock_get(enum system_clock_type type); **BSP_ROOT_CLOCK_SOURCE** 有以下选择:
- **type** 获取的系统时钟频率类型 - ROOT_CLOCK_SOURCE_XCLK
- ROOT_CLOCK_SOURCE_PLL_57P6M
- ROOT_CLOCK_SOURCE_PLL_96M
- ROOT_CLOCK_SOURCE_PLL_144M
``type`` 提供以下几种类型 **BSP_AUDIO_PLL_CLOCK_SOURCE** 有以下选择:
.. code-block:: C - ROOT_CLOCK_SOURCE_AUPLL_12288000_HZ
- ROOT_CLOCK_SOURCE_AUPLL_11289600_HZ
- ROOT_CLOCK_SOURCE_AUPLL_5644800_HZ
- ROOT_CLOCK_SOURCE_AUPLL_24576000_HZ
- ROOT_CLOCK_SOURCE_AUPLL_24000000_HZ
enum system_clock_type **BSP_UART_CLOCK_SOURCE** 有以下选择:
{
SYSTEM_CLOCK_ROOT_CLOCK = 0,
SYSTEM_CLOCK_FCLK,
SYSTEM_CLOCK_BCLK,
SYSTEM_CLOCK_XCLK,
SYSTEM_CLOCK_32K_CLK,
SYSTEM_CLOCK_AUPLL,
};
- ROOT_CLOCK_SOURCE_PLL_96M
- ROOT_CLOCK_SOURCE_FCLK
**peripheral_clock_get** **BSP_I2C_CLOCK_SOURCE** 有以下选择:
^^^^^^^^^^^^^^^^^^^^^^^^
``peripheral_clock_get`` 用来获取外设时钟频率。 - ROOT_CLOCK_SOURCE_BCLK
.. code-block:: C **BSP_SPI_CLOCK_SOURCE** 有以下选择:
uint32_t peripheral_clock_get(enum peripheral_clock_type type); - ROOT_CLOCK_SOURCE_BCLK
- **type** 获取的外设时钟频率类型 **BSP_USING_TIMER0** 有以下选择TIMER1、WDT同理
``type`` 提供以下几种类型 - ROOT_CLOCK_SOURCE_FCLK
- ROOT_CLOCK_SOURCE_XCLK
- ROOT_CLOCK_SOURCE_32K_CLK
- ROOT_CLOCK_SOURCE_1K_CLK
.. code-block:: C **BSP_USING_PWM_CHx** 有以下选择:
enum peripheral_clock_type - ROOT_CLOCK_SOURCE_32K_CLK
{ - ROOT_CLOCK_SOURCE_BCLK
PERIPHERAL_CLOCK_UART = 0, - ROOT_CLOCK_SOURCE_XCLK
PERIPHERAL_CLOCK_SPI,
PERIPHERAL_CLOCK_I2C, **BSP_USING_ADC0** 有以下选择:
PERIPHERAL_CLOCK_ADC,
PERIPHERAL_CLOCK_DAC, - ROOT_CLOCK_SOURCE_XCLK
PERIPHERAL_CLOCK_I2S, - BSP_AUDIO_PLL_CLOCK_SOURCE
PERIPHERAL_CLOCK_PWM,
PERIPHERAL_CLOCK_CAM, **BSP_USING_DAC0** 有以下选择:
};
- ROOT_CLOCK_SOURCE_XCLK
- BSP_AUDIO_PLL_CLOCK_SOURCE

View File

@ -331,10 +331,10 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
.. code-block:: C .. code-block:: C
#define DMA_CHANNEL_GET_STATUS 0x10 #define DEVICE_CTRL_DMA_CHANNEL_GET_STATUS 0x10
#define DMA_CHANNEL_START 0x11 #define DEVICE_CTRL_DMA_CHANNEL_START 0x11
#define DMA_CHANNEL_STOP 0x12 #define DEVICE_CTRL_DMA_CHANNEL_STOP 0x12
#define DMA_CHANNEL_UPDATE 0x13 #define DEVICE_CTRL_DMA_CHANNEL_UPDATE 0x13
``args`` 根据不同的 ``cmd`` 传入不同,具体如下: ``args`` 根据不同的 ``cmd`` 传入不同,具体如下:
@ -351,16 +351,16 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
* - DEVICE_CTRL_CLR_INT * - DEVICE_CTRL_CLR_INT
- NULL - NULL
- 关闭 dma 传输完成中断 - 关闭 dma 传输完成中断
* - DMA_CHANNEL_GET_STATUS * - DEVICE_CTRL_DMA_CHANNEL_GET_STATUS
- NULL - NULL
- 获取 dma 通道完成状态 - 获取 dma 通道完成状态
* - DMA_CHANNEL_START * - DEVICE_CTRL_DMA_CHANNEL_START
- NULL - NULL
- 开启 dma 通道 - 开启 dma 通道
* - DMA_CHANNEL_STOP * - DEVICE_CTRL_DMA_CHANNEL_STOP
- NULL - NULL
- 关闭 dma 通道 - 关闭 dma 通道
* - DMA_CHANNEL_UPDATE * - DEVICE_CTRL_DMA_CHANNEL_UPDATE
- NULL - NULL
- 更新 dma 传输配置 - 更新 dma 传输配置
@ -394,7 +394,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**dma_channel_start** **dma_channel_start**
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
``dma_channel_start`` 用于开启 DMA 通道。实际是调用 ``device_control`` ,其中 ``cmd````DMA_CHANNEL_START`` ``dma_channel_start`` 用于开启 DMA 通道。实际是调用 ``device_control`` ,其中 ``cmd````DEVICE_CTRL_DMA_CHANNEL_START``
.. code-block:: C .. code-block:: C
@ -406,7 +406,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**dma_channel_stop** **dma_channel_stop**
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
``dma_channel_stop`` 用于关闭一个 DMA 通道。实际是调用 ``device_control`` ,其中 ``cmd````DMA_CHANNEL_STOP`` ``dma_channel_stop`` 用于关闭一个 DMA 通道。实际是调用 ``device_control`` ,其中 ``cmd````DEVICE_CTRL_DMA_CHANNEL_STOP``
.. code-block:: C .. code-block:: C
@ -418,7 +418,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**dma_channel_update** **dma_channel_update**
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
``dma_channel_update`` 用于更新 DMA 的一个通道配置。实际是调用 ``device_control`` ,其中 ``cmd````DMA_CHANNEL_UPDATE`` ``dma_channel_update`` 用于更新 DMA 的一个通道配置。实际是调用 ``device_control`` ,其中 ``cmd````DEVICE_CTRL_DMA_CHANNEL_UPDATE``
.. code-block:: C .. code-block:: C
@ -431,7 +431,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**dma_channel_check_busy** **dma_channel_check_busy**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``dma_channel_check_busy`` 用于查询当前使用的 DMA 通道是否传输完成。实际是调用 ``device_control`` ,其中 ``cmd````DMA_CHANNEL_GET_STATUS`` ``dma_channel_check_busy`` 用于查询当前使用的 DMA 通道是否传输完成。实际是调用 ``device_control`` ,其中 ``cmd````DEVICE_CTRL_DMA_CHANNEL_GET_STATUS``
.. code-block:: C .. code-block:: C

View File

@ -111,8 +111,7 @@ Linux OR WSL 环境开发指南
烧写 Hello World 烧写 Hello World
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 烧写前请先确认烧写方式,若采用串口烧写,请先按住板子上的 ``boot`` 键不要释放,此时在按下 ``rst`` 键,然后释放两个键,此时板子进入 boot_rom 状态。 - 输入下面命令进行烧录,默认使用串口烧录,烧录之前需要进入烧录模式,参考 :ref:`bl_dev_cube`
- 这时在终端中输入以下命令进行烧写
.. code-block:: bash .. code-block:: bash
:linenos: :linenos:

View File

@ -13,10 +13,8 @@ Windows 下使用 CDK (类 MDK Keil)开发指南
----------------------------- -----------------------------
- 剑池 CDK 软件 - 剑池 CDK 软件
- 一根 USB Type-A 数据线、一根 Type-C 数据线 - 一个 支持 risc-v 的 jtag 调试器
- 一个 CK-Link 仿真器 or 一个 Sipeed RV-Debugger Plus 调试器 - 一个 USB-TTL 串口模块(如果调试器自带,忽略)
- 一个 USB-TTL 串口模块
- 杜邦线若干
下载剑池 CDK 软件安装包 下载剑池 CDK 软件安装包

View File

@ -8,11 +8,8 @@ Windows 下使用 Eclipse 开发指南
----------------------------- -----------------------------
- Eclipse 免安装软件包 - Eclipse 免安装软件包
- 串口助手软件 - 一个 支持 risc-v 的 jtag 调试器
- 一根 USB Type-A 数据线 - 一个 USB-TTL 串口模块(如果调试器自带,忽略)
- 一个 j-link 仿真器
- 一个 USB-TTL 串口模块
- 杜邦线若干
下载 Eclipse 安装包 下载 Eclipse 安装包
@ -123,7 +120,7 @@ Windows 下使用 Eclipse 开发指南
烧写 Hello World 烧写 Hello World
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 双击 ``download`` 即可烧写 helloworld 工程 ``bin`` 文件到芯片中 - 双击 ``download`` 即可烧写 helloworld 工程 ``bin`` 文件到芯片中,默认使用串口烧录,烧录之前需要进入烧录模式,参考 :ref:`bl_dev_cube`
- 下载成功后 ``Console`` 窗口可以看到如下图所示的 log 信息 - 下载成功后 ``Console`` 窗口可以看到如下图所示的 log 信息

View File

@ -1,7 +1,7 @@
Board 配置系统使用指南 Board 配置系统使用指南
======================= =======================
为了践行 **一切皆文件** 的思想,我们针对嵌入式应用不同的硬件配置需求,提出了一套 Board 配置系统。 **Board 配置系统** 主要是用于嵌入式应用中的时钟、GPIO 、外设默认配置三个基本元素进行初始化的配置系统。 **Board 配置系统** 主要是用于嵌入式应用中的时钟、GPIO 、外设默认配置三个基本元素进行初始化的配置系统,方便用户统一管理,省去在写多个 case 的时候重复配置
**Board 配置系统** 包含三个配置文件,以及一个 ``bl_config_wizard`` 图形化配置软件 **Board 配置系统** 包含三个配置文件,以及一个 ``bl_config_wizard`` 图形化配置软件
@ -32,7 +32,7 @@ Board 系统主要针对不同的板子来使用,不同的板子创建不同
**board.c** **board.c**
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
``board.c`` 主要对时钟、引脚进行初始化 ``board.c`` 主要对时钟、引脚进行初始化,这个也是 board 配置系统中的核心文件。
**blxxx_config.h** **blxxx_config.h**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -15,7 +15,9 @@
helloworld.cdkproj helloworld.cdkproj
- 在活动工程下拉菜单可以选择 ``CK_Link_Debug`` 或者 ``OpenOCD_Debug`` 工程,本教程基于 ``CK_Link_Debug`` 工程 - 在活动工程下拉菜单可以选择 ``CK_Link_Debug`` 或者 ``OpenOCD_Debug`` 工程,本教程基于 ``CK_Link_Debug`` 工程, ``CK_Link_Debug`` 菜单已经选择好了 cklink 调试器,如果没有 ``CK_Link_Debug`` 菜单,其他的菜单只需要在 `Debug` 栏选择 `ICE` 即可。
.. figure:: img/cdk12.png
- 在 CDK 工具栏中,点击编译图标即可编译工程 - 在 CDK 工具栏中,点击编译图标即可编译工程

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -112,10 +112,12 @@ shell 移植到串口
{ {
uint8_t data; uint8_t data;
if (state == UART_EVENT_RX_FIFO) { if (state == UART_EVENT_RX_FIFO) {
data = *(uint8_t *)args; for (size_t i = 0; i < size; i++) {
data = *(uint8_t *)(args + i);
shell_handler(data); shell_handler(data);
} }
} }
}
- 中断回调函数中,判断 ``state`` 是否是 ``UART_EVENT_RX_FIFO``,是的话就将接收的字节传入 ``shell_handler`` 函数。 - 中断回调函数中,判断 ``state`` 是否是 ``UART_EVENT_RX_FIFO``,是的话就将接收的字节传入 ``shell_handler`` 函数。

View File

@ -219,7 +219,7 @@ USB 协议栈可以参考 API 手册下的 USB Stack 章节的说明。
while (1) { while (1) {
/* Waiting for record data update */ /* Waiting for record data update */
if (record_updata_flag) { if (record_updata_flag) {
if (!device_control(dma_ch4_usb_tx, DMA_CHANNEL_GET_STATUS, NULL)) { if (!device_control(dma_ch4_usb_tx, DEVICE_CTRL_DMA_CHANNEL_GET_STATUS, NULL)) {
device_write(usb_fs, AUDIO_IN_EP, record_data_buff[!record_buff_using_num], BUFF_SIZE); device_write(usb_fs, AUDIO_IN_EP, record_data_buff[!record_buff_using_num], BUFF_SIZE);
record_updata_flag = 0; record_updata_flag = 0;
record_buff_using_num = !record_buff_using_num; record_buff_using_num = !record_buff_using_num;
@ -228,7 +228,7 @@ USB 协议栈可以参考 API 手册下的 USB Stack 章节的说明。
} }
if (play_updata_flag) { if (play_updata_flag) {
device_control(dma_ch2_i2s_tx, DMA_CHANNEL_STOP, NULL); device_control(dma_ch2_i2s_tx, DEVICE_CTRL_DMA_CHANNEL_STOP, NULL);
play_buff_using_num = !play_buff_using_num; play_buff_using_num = !play_buff_using_num;
device_write(i2s, 0, play_data_buff[play_buff_using_num], BUFF_SIZE); device_write(i2s, 0, play_data_buff[play_buff_using_num], BUFF_SIZE);
play_updata_flag = 0; play_updata_flag = 0;