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

View File

@ -7,58 +7,63 @@
博流系列芯片拥有丰富的时钟源选择,为方便用户配置,提供了时钟树配置表,不需要用户手动调用时钟设置接口,用户只需要关心最终的系统时钟和外设时钟频率即可。时钟配置表位于 ``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
{
SYSTEM_CLOCK_ROOT_CLOCK = 0,
SYSTEM_CLOCK_FCLK,
SYSTEM_CLOCK_BCLK,
SYSTEM_CLOCK_XCLK,
SYSTEM_CLOCK_32K_CLK,
SYSTEM_CLOCK_AUPLL,
};
**BSP_UART_CLOCK_SOURCE** 有以下选择:
- 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
{
PERIPHERAL_CLOCK_UART = 0,
PERIPHERAL_CLOCK_SPI,
PERIPHERAL_CLOCK_I2C,
PERIPHERAL_CLOCK_ADC,
PERIPHERAL_CLOCK_DAC,
PERIPHERAL_CLOCK_I2S,
PERIPHERAL_CLOCK_PWM,
PERIPHERAL_CLOCK_CAM,
};
- ROOT_CLOCK_SOURCE_32K_CLK
- ROOT_CLOCK_SOURCE_BCLK
- ROOT_CLOCK_SOURCE_XCLK
**BSP_USING_ADC0** 有以下选择:
- ROOT_CLOCK_SOURCE_XCLK
- BSP_AUDIO_PLL_CLOCK_SOURCE
**BSP_USING_DAC0** 有以下选择:
- ROOT_CLOCK_SOURCE_XCLK
- BSP_AUDIO_PLL_CLOCK_SOURCE

View File

@ -331,10 +331,10 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
.. code-block:: C
#define DMA_CHANNEL_GET_STATUS 0x10
#define DMA_CHANNEL_START 0x11
#define DMA_CHANNEL_STOP 0x12
#define DMA_CHANNEL_UPDATE 0x13
#define DEVICE_CTRL_DMA_CHANNEL_GET_STATUS 0x10
#define DEVICE_CTRL_DMA_CHANNEL_START 0x11
#define DEVICE_CTRL_DMA_CHANNEL_STOP 0x12
#define DEVICE_CTRL_DMA_CHANNEL_UPDATE 0x13
``args`` 根据不同的 ``cmd`` 传入不同,具体如下:
@ -351,16 +351,16 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
* - DEVICE_CTRL_CLR_INT
- NULL
- 关闭 dma 传输完成中断
* - DMA_CHANNEL_GET_STATUS
* - DEVICE_CTRL_DMA_CHANNEL_GET_STATUS
- NULL
- 获取 dma 通道完成状态
* - DMA_CHANNEL_START
* - DEVICE_CTRL_DMA_CHANNEL_START
- NULL
- 开启 dma 通道
* - DMA_CHANNEL_STOP
* - DEVICE_CTRL_DMA_CHANNEL_STOP
- NULL
- 关闭 dma 通道
* - DMA_CHANNEL_UPDATE
* - DEVICE_CTRL_DMA_CHANNEL_UPDATE
- NULL
- 更新 dma 传输配置
@ -394,7 +394,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**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
@ -406,7 +406,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**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
@ -418,7 +418,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**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
@ -431,7 +431,7 @@ DMA 设备除了标准的控制命令,还具有自己特殊的控制命令。
**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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,7 +15,9 @@
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 工具栏中,点击编译图标即可编译工程

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -112,10 +112,12 @@ shell 移植到串口
{
uint8_t data;
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);
}
}
}
- 中断回调函数中,判断 ``state`` 是否是 ``UART_EVENT_RX_FIFO``,是的话就将接收的字节传入 ``shell_handler`` 函数。

View File

@ -219,7 +219,7 @@ USB 协议栈可以参考 API 手册下的 USB Stack 章节的说明。
while (1) {
/* Waiting for record data update */
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);
record_updata_flag = 0;
record_buff_using_num = !record_buff_using_num;
@ -228,7 +228,7 @@ USB 协议栈可以参考 API 手册下的 USB Stack 章节的说明。
}
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;
device_write(i2s, 0, play_data_buff[play_buff_using_num], BUFF_SIZE);
play_updata_flag = 0;