[doc] update flash,usb,pm,fatfs rst
BIN
docs/development_guide/build/html/_images/flash.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
docs/development_guide/build/html/_images/lowpower_hbn.gif
Normal file
After Width: | Height: | Size: 3.2 MiB |
BIN
docs/development_guide/build/html/_images/lowpower_pds.gif
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
docs/development_guide/build/html/_images/usb_msc.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
docs/development_guide/build/html/_images/usb_msc2.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/development_guide/build/html/_images/usb_msc3.gif
Normal file
After Width: | Height: | Size: 88 MiB |
Before Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,89 @@
|
|||
XIP FLASH 设备
|
||||
=========================
|
||||
|
||||
简介
|
||||
------------------------
|
||||
|
||||
XIP:eXecute In Place,即芯片内执行,指应用程序可以直接在 flash 闪存内运行,不必再把代码读到系统 RAM 中。所谓片内执行并不是说程序在存储器内执行,CPU的基本功能是取指、译码、执行,存储器访问,写回。通常我们使用 Nor Flash,Nor Flash能在芯片内执行,指的是 CPU 能够直接从Nor flash 中取指令,供后面的译码器和执行器来使用。
|
||||
|
||||
博流系列芯片拥有 XIP FLASH 控制器,并且支持内存映射,BL702/BL704/BL706 的逻辑地址为 0x23000000,最大可支持 8M 的 nor flash。不仅如此,映射的实际物理 flash 地址是可以修改的,举例来说,假设一个 nor flash 大小为 1M,如果应用程序烧录在 flash 物理地址 0,那么就可以将逻辑地址映射到 0 地址,如果应用程序烧录在 flash 物理地址 x,那么就可以将逻辑地址映射到 x 地址,而逻辑地址可以保持不变,一直是 0x23000000,省去了修改 ld 文件的麻烦。
|
||||
|
||||
下图演示三块应用程序映射地址分布:
|
||||
|
||||
.. figure:: ../img/flash.png
|
||||
:alt:
|
||||
|
||||
XIP FLASH 设备接口
|
||||
------------------------
|
||||
|
||||
**flash_init**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``flash_init`` 用于初始化 flash 控制器。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
BL_Err_Type flash_init(void);
|
||||
|
||||
- **return** 错误码,0 表示成功,其他表示错误
|
||||
|
||||
**flash_read_jedec_id**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``flash_read_jedec_id`` 用于获取 flash id。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
BL_Err_Type flash_read_jedec_id(uint8_t *data);
|
||||
|
||||
- **data** 存储 flash id 的指针,大小 4 字节
|
||||
- **return** 错误码,0 表示成功,其他表示错误
|
||||
|
||||
**flash_erase**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``flash_init`` 用于 flash 扇区擦除。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
BL_Err_Type flash_erase(uint32_t startaddr, uint32_t len);
|
||||
|
||||
- **startaddr** 要擦除的 flash 物理起始地址
|
||||
- **len** 擦除扇区长度,单位
|
||||
- **return** 错误码,0 表示成功,其他表示错误
|
||||
|
||||
**flash_write**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
BL_Err_Type flash_write(uint32_t addr, uint8_t *data, uint32_t len);
|
||||
|
||||
- **addr** 要写入的 flash 物理起始地址
|
||||
- **data** 写入数据指针
|
||||
- **len** 写入长度
|
||||
- **return** 错误码,0 表示成功,其他表示错误
|
||||
|
||||
**flash_read**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
BL_Err_Type flash_read(uint32_t addr, uint8_t *data, uint32_t len);
|
||||
|
||||
- **addr** 要读取的 flash 物理起始地址
|
||||
- **data** 读入数据指针
|
||||
- **len** 读取长度
|
||||
- **return** 错误码,0 表示成功,其他表示错误
|
||||
|
||||
**hal_jump2app**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void hal_jump2app(uint32_t flash_offset);
|
||||
|
||||
- **flash_offset** 要跳转的 flash 物理地址,即烧录新应用程序的物理地址
|
||||
|
||||
|
||||
.. error:: 以上地址均为 flash 物理地址,不可以填入内存映射地址,比如0x23000000。
|
|
@ -0,0 +1,105 @@
|
|||
PM 设备
|
||||
=========================
|
||||
|
||||
简介
|
||||
------------------------
|
||||
|
||||
PM 设备接口
|
||||
------------------------
|
||||
|
||||
**pm_pds_mode_enter**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``pm_pds_mode_enter`` 用来进入 pds 模式
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void pm_pds_mode_enter(enum pm_pds_sleep_level pds_level, uint32_t sleep_time);
|
||||
|
||||
- **pds_level** PDS 等级
|
||||
- **sleep_time** 睡眠时间,单位 1/32768 hz
|
||||
|
||||
其中 ``pds_level`` 提供以下类型:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
enum pm_pds_sleep_level {
|
||||
PM_PDS_LEVEL_0,
|
||||
PM_PDS_LEVEL_1,
|
||||
PM_PDS_LEVEL_2,
|
||||
PM_PDS_LEVEL_3,
|
||||
PM_PDS_LEVEL_4, /*do not recommend to use*/
|
||||
PM_PDS_LEVEL_5, /*do not recommend to use*/
|
||||
PM_PDS_LEVEL_6, /*do not recommend to use*/
|
||||
PM_PDS_LEVEL_7, /*do not recommend to use*/
|
||||
PM_PDS_LEVEL_31 = 31,
|
||||
};
|
||||
|
||||
.. warning:: pds level 4~7 不推荐使用
|
||||
|
||||
**pm_hbn_mode_enter**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``pm_hbn_mode_enter`` 用来进入 hbn 模式
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void pm_hbn_mode_enter(enum pm_hbn_sleep_level hbn_level, uint8_t sleep_time);
|
||||
|
||||
- **hbn_level** HBN 等级
|
||||
- **sleep_time** 睡眠时间,单位秒
|
||||
|
||||
|
||||
其中 ``hbn_level`` 提供以下类型:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
enum pm_hbn_sleep_level {
|
||||
PM_HBN_LEVEL_0,
|
||||
PM_HBN_LEVEL_1,
|
||||
PM_HBN_LEVEL_2,
|
||||
};
|
||||
|
||||
**pm_set_wakeup_callback**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``pm_set_wakeup_callback`` 用来设置从唤醒恢复时跳转的函数地址,hbn level1 以上不可用。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void pm_set_wakeup_callback(void (*wakeup_callback)(void));
|
||||
|
||||
- **wakeup_callback** 跳转的函数地址
|
||||
|
||||
|
||||
**pm_hbn_out0_irq_register**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``pm_hbn_out0_irq_register`` 用来注册 hbn out0 中断,out0下中断有:GPIO9~GPIO12,RTC。中断回调函数为 ``pm_irq_callback``。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void pm_hbn_out0_irq_register(void);
|
||||
|
||||
**pm_hbn_out1_irq_register**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``pm_hbn_out1_irq_register`` 用来注册 hbn out1 中断,out1下中断有:ACOMP0、ACOMP1、BOR、PIR。中断回调函数为 ``pm_irq_callback``。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void pm_hbn_out1_irq_register(void);
|
||||
|
||||
``pm_irq_callback`` 中 ``event`` 提供以下类型:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
enum pm_event_type {
|
||||
PM_HBN_GPIO9_WAKEUP_EVENT,
|
||||
PM_HBN_GPIO10_WAKEUP_EVENT,
|
||||
PM_HBN_GPIO11_WAKEUP_EVENT,
|
||||
PM_HBN_GPIO12_WAKEUP_EVENT,
|
||||
PM_HBN_RTC_WAKEUP_EVENT,
|
||||
PM_HBN_ACOMP0_WAKEUP_EVENT,
|
||||
PM_HBN_ACOMP1_WAKEUP_EVENT,
|
||||
};
|
|
@ -17,4 +17,6 @@ Peripheral
|
|||
DAC 设备 <api_dac>
|
||||
TIMER 设备 <api_timer>
|
||||
QDEC 设备 <api_qdec>
|
||||
USB 设备 <api_usb>
|
||||
USB 设备 <api_usb>
|
||||
XIP FLASH 设备 <api_flash>
|
||||
PM 设备 <api_pm>
|
|
@ -190,6 +190,44 @@ USB Device CDC 类接口
|
|||
- **class** 类的句柄
|
||||
- **intf** 接口句柄
|
||||
|
||||
**usbd_cdc_acm_set_line_coding**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_cdc_acm_set_line_coding`` 用来对串口进行配置。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_cdc_acm_set_line_coding(uint32_t baudrate, uint8_t databits, uint8_t parity, uint8_t stopbits);
|
||||
|
||||
- **baudrate** 波特率
|
||||
- **databits** 数据位
|
||||
- **parity** 校验位
|
||||
- **stopbits** 停止位
|
||||
|
||||
|
||||
**usbd_cdc_acm_set_dtr**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_cdc_acm_set_line_coding`` 用来控制串口 DTR。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_cdc_acm_set_dtr(bool dtr);
|
||||
|
||||
- **dtr** dtr 为1表示拉低电平,为0表示拉高电平
|
||||
|
||||
|
||||
**usbd_cdc_acm_set_rts**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_cdc_acm_set_line_coding`` 用来控制串口 RTS。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_cdc_acm_set_rts(bool rts);
|
||||
|
||||
- **rts** rts 为1表示拉低电平,为0表示拉高电平
|
||||
|
||||
USB Device MSC 类接口
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -204,6 +242,46 @@ USB Device MSC 类接口
|
|||
- **out_ep** 输出端点的地址
|
||||
- **in_ep** 输入端点的地址
|
||||
|
||||
**usbd_msc_get_cap**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_msc_get_cap`` 用来获取存储器的信息。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_msc_get_cap(uint8_t lun, uint32_t *block_num, uint16_t *block_size);
|
||||
|
||||
- **lun** 存储逻辑单元,暂时无用
|
||||
- **block_num** 存储扇区个数的指针
|
||||
- **block_size** 存储扇区大小的指针
|
||||
|
||||
**usbd_msc_sector_read**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_msc_sector_read`` 用来对存储器某个扇区开始进行数据读取。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
int usbd_msc_sector_read(uint32_t sector, uint8_t *buffer, uint32_t length);
|
||||
|
||||
- **sector** 扇区偏移
|
||||
- **buffer** 存储读取的数据的指针
|
||||
- **length** 读取长度
|
||||
|
||||
|
||||
**usbd_msc_sector_write**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_msc_sector_write`` 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
int usbd_msc_sector_write(uint32_t sector, uint8_t *buffer, uint32_t length);
|
||||
|
||||
- **sector** 扇区偏移
|
||||
- **buffer** 写入数据指针
|
||||
- **length** 写入长度
|
||||
|
||||
|
||||
USB Device HID 类接口
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -221,6 +299,42 @@ USB Device HID 类接口
|
|||
- **class** 类的句柄
|
||||
- **intf** 接口句柄
|
||||
|
||||
**usbd_hid_report_descriptor_register**
|
||||
""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_hid_report_descriptor_register`` 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_hid_report_descriptor_register(uint8_t intf_num, const uint8_t *desc, uint32_t desc_len);
|
||||
|
||||
- **intf_num** 当前 hid 报告描述符所在接口偏移
|
||||
- **desc** 报告描述符
|
||||
- **desc_len** 报告描述符长度
|
||||
|
||||
**usbd_hid_set_request_callback**
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
|
||||
``usbd_hid_set_request_callback`` 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
void usbd_hid_set_request_callback( uint8_t intf_num,
|
||||
uint8_t (*get_report_callback)(uint8_t report_id, uint8_t report_type),
|
||||
void (*set_report_callback)(uint8_t report_id, uint8_t report_type, uint8_t *report, uint8_t report_len),
|
||||
uint8_t (*get_idle_callback)(uint8_t report_id),
|
||||
void (*set_idle_callback)(uint8_t report_id, uint8_t duration),
|
||||
void (*set_protocol_callback)(uint8_t protocol),
|
||||
uint8_t (*get_protocol_callback)(void));
|
||||
|
||||
- **intf_num** 当前 hid 报告描述符所在接口偏移
|
||||
- **get_report_callback** get report命令处理回调函数
|
||||
- **set_report_callback** set report命令处理回调函数
|
||||
- **get_idle_callback** get idle命令处理回调函数
|
||||
- **set_idle_callback** set idle命令处理回调函数
|
||||
- **set_protocol_callback** set protocol命令处理回调函数
|
||||
- **get_protocol_callback** get protocol命令处理回调函数
|
||||
|
||||
|
||||
USB Device AUDIO 类接口
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
|
@ -54,6 +54,7 @@ BL MCU SDK 将为您提供博流 BL70X 系列 MCU 开发的全方位支持。
|
|||
samples/basic samples/i2s/index
|
||||
samples/basic samples/adc/index
|
||||
samples/basic samples/timer/index
|
||||
samples/basic samples/flash/index
|
||||
|
||||
|
||||
.. toctree::
|
||||
|
|
|
@ -147,13 +147,13 @@ BLE server 软件实现
|
|||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_iot APP=ble_peripheral SUPPORT_FREERTOS=y SUPPORT_FLOAT=y SUPPORT_BLE=y
|
||||
$ make BOARD=bl706_iot APP=ble_peripheral SUPPORT_FLOAT=y
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_iot APP=ble_central SUPPORT_FREERTOS=y SUPPORT_FLOAT=y SUPPORT_BLE=y
|
||||
$ make BOARD=bl706_iot APP=ble_central SUPPORT_FLOAT=y
|
||||
|
||||
|
||||
- **烧录**
|
||||
|
|
|
@ -12,13 +12,13 @@ Bouffalo Lab 为 IAP 功能应用提供了相应的 boot2_iap.bin 文件,并
|
|||
用户可以配合 Dev Cube 图形界面烧写软件,将已有的 boot2_iap.bin 文件烧录进目标板,烧录
|
||||
一次之后,就可以通过 IAP 功能,在线更新用户代码。
|
||||
|
||||
bl_mcu_sdk 开源了 boot2_iap 的软件源码,用户可以到 examples/boot2_iap 查阅代码,并完成编译烧写。编译烧写过程可以参考《快速开发指南》介绍。
|
||||
bl_mcu_sdk 开源了 boot2_iap 的软件源码,用户可以到 ``examples/boot2_iap`` 查阅代码,并完成编译烧写。编译烧写过程可以参考《快速开发指南》介绍。
|
||||
|
||||
准备工具
|
||||
-----------------------
|
||||
|
||||
- 最新版本的 Dev Cube
|
||||
- Bl706 开发板
|
||||
- BL706 开发板
|
||||
- TTL-USB 电平转换芯片
|
||||
|
||||
|
||||
|
|
|
@ -1,2 +1,161 @@
|
|||
Fatfs 文件系统读写
|
||||
====================
|
||||
FatFs 文件系统读写(SD 卡)
|
||||
===========================
|
||||
|
||||
本 demo 主要演示使用 spi 驱动 sd 卡并挂载 fatfs 文件系统的例子。其中 fatfs api 见 `Fatfs 官网 <http://elm-chan.org/fsw/ff/00index_e.html>`_。
|
||||
|
||||
准备工具
|
||||
-----------------------
|
||||
|
||||
- 一张 class10 的 sd 卡和 sd 卡转spi 转接板
|
||||
|
||||
硬件连接
|
||||
-----------------------------
|
||||
|
||||
本 demo 基于 BL706_AVB 开发板,连接方式如下
|
||||
|
||||
::
|
||||
|
||||
GPIO function GPIO pin
|
||||
----------------------------------
|
||||
SD_CS <--> GPIO10
|
||||
SPI_SCK <--> GPIO19
|
||||
SPI_MISO <--> GPIO20
|
||||
SPI_MOSI <--> GPIO21
|
||||
|
||||
|
||||
软件实现
|
||||
-----------------------------
|
||||
|
||||
- 软件代码见 ``examples/spi/spi_dma_sd``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define BSP_SPI_CLOCK_SOURCE ROOT_CLOCK_SOURCE_BCLK
|
||||
#define BSP_SPI_CLOCK_DIV 0
|
||||
|
||||
- 配置 ``SPI`` 设备时钟源,见 ``bsp/board/bl706_avb/clock_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO19_FUNC GPIO_FUN_SPI
|
||||
#define CONFIG_GPIO20_FUNC GPIO_FUN_SPI
|
||||
#define CONFIG_GPIO21_FUNC GPIO_FUN_SPI
|
||||
|
||||
- 配置 ``SPI`` 设备复用引脚,见 ``bsp/board/bl706_avb/pinmux_config.h``,,如有改动,请自行修改
|
||||
|
||||
.. note:: 为适配 bl702_avb 硬件, SPI 的 MOSI 和 MISO 默认进行了调换,如果想要恢复默认,修改 ``drivers/bl702_driver/hal_drv/default_config/spi_config.h`` 中 ``SPI_SWAP_ENABLE`` 为 0
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define BSP_USING_SPI0
|
||||
|
||||
#if defined(BSP_USING_SPI0)
|
||||
#ifndef SPI0_CONFIG
|
||||
#define SPI0_CONFIG \
|
||||
{ \
|
||||
.id = 0, \
|
||||
.clk = 18000000,\
|
||||
.mode = SPI_MASTER_MODE, \
|
||||
.direction = SPI_MSB_BYTE0_DIRECTION_FIRST, \
|
||||
.clk_polaraity = SPI_POLARITY_LOW, \
|
||||
.clk_phase = SPI_PHASE_1EDGE, \
|
||||
.datasize = SPI_DATASIZE_8BIT, \
|
||||
.fifo_threshold = 4, \
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
- 使能 ``BSP_USING_SPI0`` 并配置 ``SPI`` 设备配置,见 ``bsp/board/bl706_avb/peripheral_config.h``
|
||||
|
||||
.. note:: sd卡的频率不能过高,所以设置成 18M 比较合适
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define BSP_USING_DMA0_CH3
|
||||
#define BSP_USING_DMA0_CH4
|
||||
|
||||
#if defined(BSP_USING_DMA0_CH3)
|
||||
#ifndef DMA0_CH3_CONFIG
|
||||
#define DMA0_CH3_CONFIG \
|
||||
{ \
|
||||
.id = 0, \
|
||||
.ch = 3, \
|
||||
.direction = DMA_MEMORY_TO_PERIPH, \
|
||||
.transfer_mode = DMA_LLI_ONCE_MODE, \
|
||||
.src_req = DMA_REQUEST_NONE, \
|
||||
.dst_req = DMA_REQUEST_SPI0_TX, \
|
||||
.src_width = DMA_TRANSFER_WIDTH_8BIT, \
|
||||
.dst_width = DMA_TRANSFER_WIDTH_8BIT, \
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(BSP_USING_DMA0_CH4)
|
||||
#ifndef DMA0_CH4_CONFIG
|
||||
#define DMA0_CH4_CONFIG \
|
||||
{ \
|
||||
.id = 0, \
|
||||
.ch = 4, \
|
||||
.direction = DMA_PERIPH_TO_MEMORY, \
|
||||
.transfer_mode = DMA_LLI_ONCE_MODE, \
|
||||
.src_req = DMA_REQUEST_SPI0_RX, \
|
||||
.dst_req = DMA_REQUEST_NONE, \
|
||||
.src_width = DMA_TRANSFER_WIDTH_8BIT, \
|
||||
.dst_width = DMA_TRANSFER_WIDTH_8BIT, \
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
- 使能 ``BSP_USING_DMA0_CH3``, ``BSP_USING_DMA0_CH4`` 并配置 ``DMA`` 设备配置,见 ``bsp/board/bl706_avb/peripheral_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
void fatfs_sd_driver_register(void)
|
||||
{
|
||||
FATFS_DiskioDriverTypeDef sdDiskioDriver;
|
||||
|
||||
memset(&sdDiskioDriver, 0, sizeof(FATFS_DiskioDriverTypeDef));
|
||||
|
||||
sdDiskioDriver.MMC_disk_status = sd_disk_status;
|
||||
sdDiskioDriver.MMC_disk_initialize = sd_disk_initialize;
|
||||
sdDiskioDriver.MMC_disk_write = sd_disk_write;
|
||||
sdDiskioDriver.MMC_disk_read = sd_disk_read;
|
||||
sdDiskioDriver.MMC_disk_ioctl = sd_disk_ioctl;
|
||||
sdDiskioDriver.Translate_Result_Code = Translate_Result_Code;
|
||||
disk_driver_callback_init(&sdDiskioDriver);
|
||||
}
|
||||
|
||||
- 实现 fatfs 需要的底层接口
|
||||
|
||||
剩余代码见 main.c。
|
||||
|
||||
编译和烧录
|
||||
-----------------------------
|
||||
|
||||
- **CDK 编译**
|
||||
|
||||
打开项目中提供的工程文件:spi_dma_sd.cdkproj
|
||||
|
||||
参照 :ref:`windows_cdk_quick_start` 的步骤编译下载即可
|
||||
|
||||
- **命令行编译**
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_avb APP=spi_dma_sd
|
||||
|
||||
- **烧录**
|
||||
|
||||
详见 :ref:`bl_dev_cube`
|
||||
|
||||
|
||||
实验现象
|
||||
-----------------------------
|
||||
|
||||
|
|
|
@ -1,95 +1,258 @@
|
|||
LowPower 低功耗评估
|
||||
Power Management
|
||||
=========================
|
||||
|
||||
简介
|
||||
------------------------
|
||||
本 demo 主要演示 bl 系列 mcu 低功耗性能。具体低功耗介绍请参考 `BL702/704/706 参考手册 <https://dev.bouffalolab.com/media/upload/doc/BL702_BL704_706_RM_zh_CN_1.1.pdf>`_。
|
||||
|
||||
博流系列芯片拥有丰富的低功耗特性,以适配不同的低功耗应用场合。为了方便用户快速的评测使用 bl 系列 MCU 低功耗性能 bl_mcu_sdk 提供了一套抽象的低功耗接口,将低功耗等级分为四个等级,分别为
|
||||
低功耗模式:
|
||||
|
||||
1. Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。
|
||||
- Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。
|
||||
|
||||
2. WFI :WFI 模式,CPU 的 clock 处于被 Gating 状态,CPU 停止运行,当用户退出WFI模式的时候程序将会继续运行。
|
||||
- WFI 模式:CPU 的 clock 处于被 Gating 状态,CPU 停止运行,当用户退出WFI模式的时候程序将会继续运行。
|
||||
|
||||
3. PDS : PDS 模式,关闭了芯片上大多数电源域,同时关闭了 CPU,和 CPU 处于同一个电源域的 ITCM,DTCM 等 RAM 不可使用,只有 64K 的 OCTAM 可以保存数据,可以通过内部 RTC 进行唤醒,或者使用 GPIO 引脚(在 GPIO 电源域没有关闭的情况下)唤醒。
|
||||
- PDS 模式: 根据不同的模式关闭不同的电源域,当关闭了 CPU 电源域时,ITCM,DTCM RAM 不可使用,只有 64K 的 OCRAM 可以使用。
|
||||
|
||||
4. HBN : HBN 模式,关闭了芯片上绝大多数电源域,关闭了 CPU 以及 64K OCRAM,只有位于 AON 域的 4K RAM 可以保存数据,可以通过内部 RTC 进行唤醒,或者使用特定的唤醒引脚(位于 AON 域的引脚)唤醒。
|
||||
- HBN 模式: 根据不同的模式关闭不同的电源域,ITCM,DTCM OCRAM RAM 无法使用,在 hbn0 下位于 AON 域的 4K RAM 可以使用,其他 hbn 模式下 4K RAM 也不可使用。
|
||||
|
||||
|
||||
bl_mcu_sdk 提供了一个简单的低功耗参考示例(bl_mcu_sdk examples/power/lowpower_test/),旨在帮助用户快速评估低功耗功能,如果需要进一步适配自身的低功耗场景,采取不同的低功耗策略,请查阅相关 datasheet 或者寻找 Boufflao Lab 的技术支持。
|
||||
在该示例中,外设及 CPU 的时钟选择均是晶振 32M。基于该示例的功耗测量结果如下表所示:
|
||||
演示内容:
|
||||
|
||||
+------------+------------+------------+---------------------+---------------------------+
|
||||
|模式 |参考电流 |对应基础模式|唤醒源 |备注 |
|
||||
+============+============+============+=====================+===========================+
|
||||
|Running |5.68 mA |Run | |所有外设时钟都打开 |
|
||||
+------------+------------+------------+---------------------+---------------------------+
|
||||
|WFI |3.14 mA |WFI |任意中断 |除串口外,其它外设时钟关闭 |
|
||||
+------------+------------+------------+---------------------+---------------------------+
|
||||
|PDS |10 uA |PDS 31 |内部RTC/引脚中断 |64K OCRAM保存数据 |
|
||||
+------------+------------+------------+---------------------+---------------------------+
|
||||
|HBN |1 uA |HBN 1 |内部RTC/引脚中断 |4K AON RAM保存数据 |
|
||||
+------------+------------+------------+---------------------+---------------------------+
|
||||
- pds3 使用 gpio10 外部中断下降沿唤醒
|
||||
- pds31 使用 pds 唤醒脚 (gpio6) 唤醒
|
||||
- pds31 使用 pds timer 唤醒
|
||||
- hbn0 使用 acomp (gpio11) 唤醒
|
||||
- hbn1 使用 rtc 唤醒
|
||||
- hbn2 使用 hbn 唤醒脚 (gpio12) 唤醒
|
||||
|
||||
.. note:: 高级别的唤醒源可以唤醒低级别的功耗模式,比如 hbn 唤醒脚可以唤醒所有的低功耗模式。
|
||||
|
||||
|
||||
上表中的参考电流是通过示例固件测试得出的。符合 bl70x 系列 MCU 的 spec 的描述,run wfi pds hbn 四种等级的定义简化了原先的 hbn level 以及 pds level 的设定。
|
||||
准备工具
|
||||
-----------------------
|
||||
|
||||
见 bl702_bl704_bl706_DS_EN_Combo_1.9.pdf page 28
|
||||
|
||||
.. figure:: img/powerTable.png
|
||||
|
||||
|
||||
**低功耗示例测试方法**
|
||||
------------------------
|
||||
|
||||
**编译低功耗示例代码**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
在工程目录下键入 ``make APP=lowpower_test SUPPORT_SHELL=y BOARD=bl706_lp`` 完成低功耗示例 bl706 的编译。或者直接使用 CDK 工程,完成编译下载
|
||||
您可以参考本文档《快速开发指南》来获取更多编译烧写的信息。
|
||||
|
||||
当编译并烧写成功后,连接串口到电脑端,并复位芯片,Xshell 会出现如下图所示的页面。
|
||||
|
||||
.. figure:: img/xShell_lowpower.png
|
||||
|
||||
.. note::当前 demo 仅仅只是测试三种低功耗模式的使用,如果需要测试达到手册中描述的,需要很多步骤,具体步骤请与我们联系。
|
||||
|
||||
**准备低功耗测试所需的硬件环境**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- 可以串联电流表到电源端的电路板
|
||||
- 电流表
|
||||
- 一台 PC 主机(运行 Windows 或者 Linux 系统)
|
||||
- TTL 转 USB
|
||||
|
||||
如下图所示,将电流表串联进入 bl706 模组的供电线路,通过 PC 端的串口调试助手软件,下发不同的低功耗指令,使得 bl706 进入对应的低功耗模式
|
||||
观察电流表示值,完成评估。
|
||||
- pc控制端使用串口终端软件:xshell 或者 mobaxterm
|
||||
- 可以串联电流表到电源端的电路板
|
||||
- 电流表
|
||||
- TTL 转 USB
|
||||
- 滑动变阻器
|
||||
|
||||
.. figure:: img/lowpower_arch.png
|
||||
|
||||
**使用 Xshell 开始评估低功耗性能**
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
用户可以通过在 Xshell 输入下述指令,进入对应的低功耗模式。
|
||||
|
||||
``run``
|
||||
硬件连接
|
||||
-----------------------------
|
||||
|
||||
- 复位芯片之后,默认进入 run 模式,没有进入任何低功耗模式,芯片实际在运行 while(1); 语句。
|
||||
本 demo 基于 BL706_LP 开发板,连接方式如下
|
||||
|
||||
``wfi``
|
||||
::
|
||||
|
||||
GPIO function GPIO pin
|
||||
----------------------------------
|
||||
PDS_WAKEUP <--> GPIO6
|
||||
EXTI <--> GPIO10
|
||||
ADC <--> GPIO11
|
||||
HBN_WAKEUP <--> GPIO12
|
||||
UART0_TX <--> GPIO14
|
||||
UART0_RX <--> GPIO15
|
||||
|
||||
软件实现
|
||||
-------------------------
|
||||
|
||||
软件基于 shell 进行调试,如何注册 shell 命令这里不再说明。
|
||||
|
||||
PDS 模式
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- 软件代码见 ``examples/pm/pds_mode_wakeup``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO6_FUNC GPIO_FUN_WAKEUP
|
||||
|
||||
- pds 唤醒脚配置,pds3 和 pds31 使用,见 ``bsp/board/bl706_lp/pinmux_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO10_FUNC GPIO_FUN_GPIO_EXTI_FALLING_EDGE
|
||||
|
||||
- 外部中断引脚配置,pds3 使用,见 ``bsp/board/bl706_lp/pinmux_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO12_FUNC GPIO_FUN_WAKEUP
|
||||
|
||||
- hbn 唤醒脚配置,pds3 和 pds31 使用,见 ``bsp/board/bl706_lp/pinmux_config.h``
|
||||
|
||||
|
||||
- 进入 wfi 模式,后面不加任何参数,进入之后,CPU 处于 clock gating 状态,降低功耗
|
||||
- 进入 wfi 模式后,任何中断会唤醒,例如 uart 中断。在 Xshell 中敲击回车会触发 BL706 UART RX 中断,因此可以通过此方法唤醒 wfi 低功耗模式。
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
``pds sleeptime``
|
||||
gpio_attach_irq(GPIO_PIN_10, gpio_int_callback);
|
||||
gpio_irq_enable(GPIO_PIN_10, ENABLE); //only used for level3
|
||||
|
||||
- 注册 gpio10 外部中断回调函数并使能
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
int pds3_enter(int argc, char *argv[])
|
||||
{
|
||||
MSG("gpio wake up case,enter pds3 mode\r\n");
|
||||
bflb_platform_delay_ms(50);
|
||||
|
||||
pm_pds_mode_enter(PM_PDS_LEVEL_3, 0); /*hbn、pds、exti gpio can wakeup*/
|
||||
BL_CASE_SUCCESS; /*level 3 can run here*/
|
||||
return 0;
|
||||
}
|
||||
int pds31_enter(int argc, char *argv[])
|
||||
{
|
||||
int second = 0;
|
||||
|
||||
if (argc == 2) {
|
||||
second = atoi(argv[1]);
|
||||
} else {
|
||||
second = 0;
|
||||
}
|
||||
MSG("gpio wake up case,enter pds31 mode\r\n");
|
||||
bflb_platform_delay_ms(50);
|
||||
|
||||
pm_pds_mode_enter(PM_PDS_LEVEL_31, second); /*hbn、pds gpio can wakeup*/
|
||||
|
||||
return 0;
|
||||
}
|
||||
SHELL_CMD_EXPORT(pds3_enter, pds3 gpio wakeup test)
|
||||
SHELL_CMD_EXPORT(pds31_enter, pds31 gpio wakeup test)
|
||||
|
||||
- 注册进入 pds3 和 pds31 的命令
|
||||
|
||||
HBN 模式
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- 软件代码见 ``examples/pm/hbn_mode_wakeup``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO11_FUNC GPIO_FUN_ADC
|
||||
|
||||
- adc 引脚配置,hbn0 下 acomp 使用,见 ``bsp/board/bl706_lp/pinmux_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define CONFIG_GPIO12_FUNC GPIO_FUN_WAKEUP
|
||||
|
||||
- hbn 唤醒脚配置,hbn0、hbn1、hbn2 使用,见 ``bsp/board/bl706_lp/pinmux_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
int hbn0_enter(int argc, char *argv[])
|
||||
{
|
||||
acomp_device_t acomp_device;
|
||||
acomp_device.id = 0;
|
||||
acomp_device.pos_ch = ACOMP_CHANNEL_ADC_CHANNEL3; /*from gpio11 adc func*/
|
||||
acomp_device.neg_ch = ACOMP_CHANNEL_0P375VBAT;
|
||||
acomp_device.pos_hysteresis_vol = ACOMP_HYSTERESIS_VOLT_50MV;
|
||||
acomp_device.neg_hysteresis_vol = ACOMP_HYSTERESIS_VOLT_50MV;
|
||||
acomp_init(&acomp_device);
|
||||
bflb_platform_delay_ms(50); /*delay for acomp*/
|
||||
|
||||
for (uint32_t i = 0; i < 30; i++) {
|
||||
MSG("status:%d\r\n", acomp_get_result(&acomp_device));
|
||||
bflb_platform_delay_ms(100);
|
||||
}
|
||||
|
||||
MSG("acomp wake up case,enter hbn0 mode\r\n");
|
||||
bflb_platform_delay_ms(50);
|
||||
|
||||
/** cpu will wakeup when acomp status change
|
||||
* please note that if you set gpio9-gpio12 with GPIO_FUN_WAKEUP,it will also wakeup this level
|
||||
* rtc can wakeup this level when sleep time do not equal 0
|
||||
**/
|
||||
pm_hbn_mode_enter(PM_HBN_LEVEL_0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int hbn1_enter(int argc, char *argv[])
|
||||
{
|
||||
int second = 0;
|
||||
|
||||
if (argc == 2) {
|
||||
second = atoi(argv[1]);
|
||||
} else {
|
||||
second = 1;
|
||||
}
|
||||
|
||||
MSG("rtc wake up case,enter hbn1 mode\r\n");
|
||||
bflb_platform_delay_ms(50);
|
||||
/** cpu will wakeup when rtc sleep time timeout
|
||||
* please note that if you set gpio9-gpio12 with GPIO_FUN_WAKEUP,it will also wakeup this level
|
||||
**/
|
||||
pm_hbn_mode_enter(PM_HBN_LEVEL_1, second);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int hbn2_enter(int argc, char *argv[])
|
||||
{
|
||||
MSG("gpio wake up case,enter hbn2 mode\r\n");
|
||||
bflb_platform_delay_ms(50);
|
||||
|
||||
/*cpu will wakeup when you set gpio9-gpio12 with GPIO_FUN_WAKEUP
|
||||
* rtc can not wakeup level2
|
||||
**/
|
||||
pm_hbn_mode_enter(PM_HBN_LEVEL_2, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
- 注册进入 hbn0、hbn1、hbn2 的命令
|
||||
|
||||
|
||||
- pds 可以选择带一个 sleeptime 的参数,决定其内部 RTC 唤醒时间。如果指令不带此参数,那么默认不使用 RTC 内部唤醒,目前的固件仅支持上电复位唤醒。
|
||||
- 如果指令包含 sleeptime 参数,pds 将会在``sleeptime * clock_period`` 的时刻被唤醒,表现为复位芯片,重新打印起始报文。
|
||||
- 进入低功耗模式后,RTC 的时钟是 32K,因此 sleeptime 为 32768 时,表现为睡眠 1S 后唤醒。
|
||||
编译和烧录
|
||||
-----------------------------
|
||||
|
||||
``hbn sleeptime``
|
||||
- **CDK 编译**
|
||||
|
||||
暂无,用户可以自己添加
|
||||
|
||||
- **命令行编译**
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_lp APP=pds_mode_wakeup
|
||||
$ make BOARD=bl706_lp APP=hbn_mode_wakeup
|
||||
|
||||
- **烧录**
|
||||
|
||||
详见 :ref:`bl_dev_cube`
|
||||
|
||||
|
||||
- hbn 可以选择带一个 sleeptime 的参数,决定其内部 RTC 唤醒时间。如果指令不带此参数,那么默认不使用 RTC 内部唤醒,目前的固件仅支持上电复位唤醒。
|
||||
- 如果指令包含 sleeptime 参数,hbn 将会在``sleeptime * clock_period`` 的时刻被唤醒,表现为复位芯片,重新打印起始报文。
|
||||
- 进入低功耗模式后,RTC 的时钟是 32K,因此 sleeptime 为 32768 时,表现为睡眠 1S 后唤醒。
|
||||
实验现象
|
||||
-----------------------------
|
||||
|
||||
- 首先唤醒脚唤醒方式默认均为下降沿唤醒,所以需要将 GPIO6、GPIO10、GPIO12 引脚外接电阻到 3.3V。
|
||||
- acomp 变化电压阈值在 1.2375V,所以需要使用滑动电阻器,调整到 1.2375V(0.375VBAT)后再使用。
|
||||
- 打开终端,并按下 TAB 键可以列出命令。
|
||||
- 输入需要执行命令回车即可运行。
|
||||
|
||||
**PDS 模式**
|
||||
|
||||
.. figure:: img/lowpower_pds.gif
|
||||
:alt:
|
||||
|
||||
|
||||
**HBN 模式**
|
||||
|
||||
.. figure:: img/lowpower_hbn.gif
|
||||
:alt:
|
||||
|
||||
详细测试结果见 `BL702/704/706 数据手册 page 28 <https://dev.bouffalolab.com/media/upload/doc/BL702_BL704_BL706_DS_zh_CN_Combo_1.9.pdf>`_。
|
||||
|
||||
.. figure:: img/powerTable.png
|
||||
|
|
|
@ -190,7 +190,7 @@ SHELL 命令注册
|
|||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_iot APP=shell SUPPORT_SHELL=y
|
||||
$ make BOARD=bl706_iot APP=shell
|
||||
|
||||
- **烧录**
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ USB Device 应用
|
|||
:maxdepth: 1
|
||||
|
||||
CDC - 虚拟串口<usbd_cdc>
|
||||
MSC - U 盘<usbd_msc>
|
||||
MSC - U 盘升级<usbd_msc>
|
||||
HID - 键盘&鼠标<usbd_hid>
|
||||
VIDEO - 摄像头<usbd_video>
|
||||
AUDIO - 麦克风<usbd_audio>
|
|
@ -1,2 +1,136 @@
|
|||
MSC - U 盘
|
||||
MSC - U 盘升级
|
||||
====================
|
||||
|
||||
本 demo 主要演示使用 usb 将 xip flash 模拟成 u 盘设备,将其作为一个 BootLoader 使用,用来升级固件。
|
||||
|
||||
USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。
|
||||
|
||||
MSC 协议介绍参考 `USB 官方文档 <https://www.usb.org/documents>`_。
|
||||
|
||||
bootloader 我们将其编译后烧录在 flash 0x2000 开始的物理地址,工具默认也是这个地址。
|
||||
|
||||
.. figure:: img/usb_msc.png
|
||||
|
||||
我们使用 flash 物理地址 0x0000c000 (48K) 开始的地方,用来模拟 u 盘,u 盘大小为 256K(64 个扇区,每个扇区 4KB ),根据文件系统格式,可以知道,数据的地址在 u 盘的第 10 个扇区(0x16000),也即 APP 的入口地址。BootLoader 与 APP 分区表如下:
|
||||
|
||||
.. figure:: img/usb_msc2.png
|
||||
|
||||
准备工具
|
||||
-----------------------
|
||||
|
||||
- 一根 usb 数据线
|
||||
|
||||
硬件连接
|
||||
-----------------------------
|
||||
|
||||
- 内部 flash 不需要额外电路
|
||||
- 外部 flash 需要连接 flash 控制器接口
|
||||
|
||||
|
||||
::
|
||||
|
||||
GPIO function GPIO pin
|
||||
----------------------------------
|
||||
USB_DP <--> GPIO7
|
||||
USB_DM <--> GPIO8
|
||||
UART0_TX <--> GPIO14
|
||||
BOOTLOADER_PIN <--> GPIO15
|
||||
|
||||
软件实现
|
||||
-------------------------
|
||||
|
||||
- 软件代码见 ``examples/usb/usb_msc_flash_boot``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
#define BLOCK_SIZE 4096
|
||||
#define BLOCK_COUNT 64
|
||||
#define FLASH_ADDR 0x0000c000 /*addr start from 48k */
|
||||
void usbd_msc_get_cap(uint8_t lun, uint32_t *block_num, uint16_t *block_size)
|
||||
{
|
||||
*block_num = BLOCK_COUNT;
|
||||
*block_size = BLOCK_SIZE;
|
||||
}
|
||||
int usbd_msc_sector_read(uint32_t sector, uint8_t *buffer, uint32_t length)
|
||||
{
|
||||
flash_read(FLASH_ADDR + sector * BLOCK_SIZE, buffer, length);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int usbd_msc_sector_write(uint32_t sector, uint8_t *buffer, uint32_t length)
|
||||
{
|
||||
flash_erase(FLASH_ADDR + sector * BLOCK_SIZE, BLOCK_SIZE);
|
||||
flash_write(FLASH_ADDR + sector * BLOCK_SIZE, buffer, length);
|
||||
return 0;
|
||||
}
|
||||
|
||||
- 实现 usb msc 需要的底层接口,u 盘大小 256K,flash 物理地址从 0x0000c000 开始。
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
gpio_set_mode(GPIO_PIN_15, GPIO_INPUT_PD_MODE);
|
||||
|
||||
if (gpio_read(GPIO_PIN_15)) {
|
||||
MSG("*************Welcome to usb msc boot,update your app bin*************\r\n");
|
||||
|
||||
usbd_desc_register(msc_ram_descriptor);
|
||||
usbd_msc_class_init(MSC_OUT_EP, MSC_IN_EP);
|
||||
|
||||
usb_fs = usb_dc_init();
|
||||
|
||||
if (usb_fs) {
|
||||
device_control(usb_fs, DEVICE_CTRL_SET_INT, (void *)(USB_EP4_DATA_OUT_IT | USB_EP5_DATA_IN_IT));
|
||||
}
|
||||
while (!usb_device_is_configured()) {
|
||||
}
|
||||
} else {
|
||||
uint8_t bin_header;
|
||||
flash_read(FLASH_ADDR + 10 * BLOCK_SIZE, &bin_header, 1);
|
||||
if ((bin_header == 0x00) && (bin_header == 0xff)) {
|
||||
MSG("*************Illegal bin!! Please update your bin*************\r\n");
|
||||
while (1) {
|
||||
}
|
||||
}
|
||||
|
||||
MSG("*************Let's go to application*************\r\n");
|
||||
bflb_platform_delay_ms(20);
|
||||
bflb_platform_deinit();
|
||||
hal_jump2app(FLASH_ADDR + 10 * BLOCK_SIZE);
|
||||
}
|
||||
|
||||
- 配置 GPIO15 作为输入模式,默认拉低,拉高进入 u 盘升级。
|
||||
- 如果 GPIO15 为高,则进入 u 盘 升级程序。
|
||||
- 如果 GPIO15 为低,则表示不需要升级直接进入 app,此时需要修改内存映射地址,将逻辑地址映射的物理地址(flash offset )从 0x2000 改成实际 app 存储在 flash 的地址为:FLASH_ADDR + 10 * BLOCK_SIZE。
|
||||
- ``hal_jump2app`` 中对物理地址进行了判断,bootloader 程序预留 48K,物理地址小于 4M。
|
||||
|
||||
|
||||
编译和烧录
|
||||
-----------------------------
|
||||
|
||||
- **CDK 编译**
|
||||
|
||||
暂无,用户可以自己添加
|
||||
|
||||
- **命令行编译**
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_iot APP=usb_msc_flash_boot
|
||||
|
||||
- **烧录**
|
||||
|
||||
详见 :ref:`bl_dev_cube`
|
||||
|
||||
|
||||
实验现象
|
||||
-----------------------------
|
||||
|
||||
- 将 GPIO15 拉高,然后使用 USB 数据线插到电脑上,识别出一个 U 盘。
|
||||
- 将编译的 APP bin 文件拖入 U 盘。
|
||||
- 拔下 USB ,拉低 GPIO15,供电以后进入 APP 。
|
||||
|
||||
.. figure:: img/usb_msc3.gif
|
|
@ -85,9 +85,7 @@ BL706 AVB + GC0308摄像头模块 + windows 相机
|
|||
#define CONFIG_GPIO30_FUNC GPIO_FUN_CAM
|
||||
#define CONFIG_GPIO31_FUNC GPIO_FUN_CAM
|
||||
|
||||
- 使用到的 GPIO 配置见 ``bsp/board/bl706_avb/pinmux_config.h``,默认提供了该 demo 的引脚配置
|
||||
|
||||
.. note:: ``bsp/board/bl706_avb/pinmux_config.h`` 当前给所有的示例 demo 使用,所以,需要先选定 ``PINMUX_SELECT`` 为 ``PINMUX_UVC``,开启 UVC demo
|
||||
- 使用到的 GPIO 配置见 ``bsp/board/bl706_avb/pinmux_config.h``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
XIP FLASH - 数据读写
|
||||
======================
|
||||
|
||||
本 demo 主要演示 xip flash 基本的数据读写功能。
|
||||
|
||||
硬件连接
|
||||
-----------------------------
|
||||
|
||||
- 内部 flash 不需要额外电路
|
||||
- 外部 flash 需要连接 flash 控制器接口
|
||||
|
||||
软件实现
|
||||
-----------------------------
|
||||
|
||||
- 软件代码见 ``examples/flash/flash_rw``
|
||||
|
||||
.. code-block:: C
|
||||
:linenos:
|
||||
|
||||
/* erase 0x00010000 16k flash */
|
||||
flash_erase(0x00010000, 16 * 1024);
|
||||
|
||||
/* write 0x00010000 flash data */
|
||||
flash_write(0x00010000, writeTestData, sizeof(writeTestData));
|
||||
|
||||
memset(readTestData, 0, 256);
|
||||
|
||||
/* read 0x00010000 flash data */
|
||||
flash_read(0x00010000, readTestData, sizeof(readTestData));
|
||||
|
||||
- 擦除 flash 物理地址 0x00010000 开始的 16K 内容
|
||||
- 从flash 物理地址 0x00010000 开始写入用户数据
|
||||
- 从flash 物理地址 0x00010000 开始读取用户数据
|
||||
|
||||
编译和烧录
|
||||
-----------------------------
|
||||
|
||||
- **CDK 编译**
|
||||
|
||||
打开项目中提供的工程文件:flash_rw.cdkproj
|
||||
|
||||
参照 :ref:`windows_cdk_quick_start` 的步骤编译下载即可
|
||||
|
||||
- **命令行编译**
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
$ cd <sdk_path>/bl_mcu_sdk
|
||||
$ make BOARD=bl706_iot APP=flash_rw
|
||||
|
||||
- **烧录**
|
||||
|
||||
详见 :ref:`bl_dev_cube`
|
||||
|
||||
实验现象
|
||||
-----------------------------
|
||||
|
||||
打开串口,如果显示 case success 表示读写成功,否则读写错误
|
|
@ -0,0 +1,9 @@
|
|||
=======================
|
||||
XIP FLASH 示例
|
||||
=======================
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
XIP FLASH - 数据读写 <flash_demo>
|
|
@ -136,13 +136,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -161,13 +161,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -130,6 +130,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -148,13 +150,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -124,6 +124,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -142,13 +144,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,6 +122,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -140,13 +142,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -139,6 +139,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -157,13 +159,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -0,0 +1,365 @@
|
|||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="zh-CN" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>2.14. XIP FLASH 设备 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/translations.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="2.15. PM 设备" href="api_pm.html" />
|
||||
<link rel="prev" title="2.13. USB 设备" href="api_usb.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> BL_MCU_SDK 开发指南
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
0.3
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">快速开发指南</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/get_started.html">1. 开发前的准备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/connecting_hardware.html">2. 硬件连接指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">3. 开发环境搭建指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/cmake_quick_start.html">4. 基于 cmake 框架新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/cdk_new_project_quick_start.html">5. 基于 CDK 新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/bl_dev_cube.html">6. BLDevCube 烧录工具指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/board.html">7. Board 配置系统使用指南</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">API 手册</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../api_overview.html">1. API 概述</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">2. Peripheral</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_clock.html">2.1. 时钟树</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_gpio.html">2.2. GPIO 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_uart.html">2.3. UART 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pwm.html">2.4. PWM 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_dma.html">2.5. DMA 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_i2c.html">2.6. I2C 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_i2s.html">2.7. I2S 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_spi.html">2.8. SPI 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_adc.html">2.9. ADC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_dac.html">2.10. DAC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">2.14. XIP FLASH 设备</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">2.14.1. 简介</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">2.14.2. XIP FLASH 设备接口</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#flash-init">2.14.2.1. <strong>flash_init</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#flash-read-jedec-id">2.14.2.2. <strong>flash_read_jedec_id</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#flash-erase">2.14.2.3. <strong>flash_erase</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#flash-write">2.14.2.4. <strong>flash_write</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#flash-read">2.14.2.5. <strong>flash_read</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#hal-jump2app">2.14.2.6. <strong>hal_jump2app</strong></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb%20stack/api_usb_stack.html">4. USB Stack</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../bluetooth/api_ble.html">5. BLE</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">基础外设例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/gpio/index.html">1. GPIO 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/uart/index.html">2. UART 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/pwm/index.html">3. PWM 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/mtimer/index.html">4. MTIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/dma/index.html">5. DMA 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/spi/index.html">6. SPI 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2c/index.html">7. I2C 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">BL_MCU_SDK 开发指南</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="index.html"><span class="section-number">2. </span>Peripheral</a> »</li>
|
||||
|
||||
<li><span class="section-number">2.14. </span>XIP FLASH 设备</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../../_sources/api_reference/peripheral/api_flash.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="xip-flash">
|
||||
<h1><span class="section-number">2.14. </span>XIP FLASH 设备<a class="headerlink" href="#xip-flash" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">2.14.1. </span>简介<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<p>XIP:eXecute In Place,即芯片内执行,指应用程序可以直接在 flash 闪存内运行,不必再把代码读到系统 RAM 中。所谓片内执行并不是说程序在存储器内执行,CPU的基本功能是取指、译码、执行,存储器访问,写回。通常我们使用 Nor Flash,Nor Flash能在芯片内执行,指的是 CPU 能够直接从Nor flash 中取指令,供后面的译码器和执行器来使用。</p>
|
||||
<p>博流系列芯片拥有 XIP FLASH 控制器,并且支持内存映射,BL702/BL704/BL706 的逻辑地址为 0x23000000,最大可支持 8M 的 nor flash。不仅如此,映射的实际物理 flash 地址是可以修改的,举例来说,假设一个 nor flash 大小为 1M,如果应用程序烧录在 flash 物理地址 0,那么就可以将逻辑地址映射到 0 地址,如果应用程序烧录在 flash 物理地址 x,那么就可以将逻辑地址映射到 x 地址,而逻辑地址可以保持不变,一直是 0x23000000,省去了修改 ld 文件的麻烦。</p>
|
||||
<p>下图演示三块应用程序映射地址分布:</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="" src="../../_images/flash.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">2.14.2. </span>XIP FLASH 设备接口<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<div class="section" id="flash-init">
|
||||
<h3><span class="section-number">2.14.2.1. </span><strong>flash_init</strong><a class="headerlink" href="#flash-init" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">flash_init</span></code> 用于初始化 flash 控制器。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="n">BL_Err_Type</span> <span class="nf">flash_init</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>return</strong> 错误码,0 表示成功,其他表示错误</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="flash-read-jedec-id">
|
||||
<h3><span class="section-number">2.14.2.2. </span><strong>flash_read_jedec_id</strong><a class="headerlink" href="#flash-read-jedec-id" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">flash_read_jedec_id</span></code> 用于获取 flash id。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="n">BL_Err_Type</span> <span class="nf">flash_read_jedec_id</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="o">*</span><span class="n">data</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>data</strong> 存储 flash id 的指针,大小 4 字节</p></li>
|
||||
<li><p><strong>return</strong> 错误码,0 表示成功,其他表示错误</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="flash-erase">
|
||||
<h3><span class="section-number">2.14.2.3. </span><strong>flash_erase</strong><a class="headerlink" href="#flash-erase" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">flash_init</span></code> 用于 flash 扇区擦除。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="n">BL_Err_Type</span> <span class="nf">flash_erase</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">startaddr</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">len</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>startaddr</strong> 要擦除的 flash 物理起始地址</p></li>
|
||||
<li><p><strong>len</strong> 擦除扇区长度,单位</p></li>
|
||||
<li><p><strong>return</strong> 错误码,0 表示成功,其他表示错误</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="flash-write">
|
||||
<h3><span class="section-number">2.14.2.4. </span><strong>flash_write</strong><a class="headerlink" href="#flash-write" title="永久链接至标题">¶</a></h3>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="n">BL_Err_Type</span> <span class="nf">flash_write</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">len</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>addr</strong> 要写入的 flash 物理起始地址</p></li>
|
||||
<li><p><strong>data</strong> 写入数据指针</p></li>
|
||||
<li><p><strong>len</strong> 写入长度</p></li>
|
||||
<li><p><strong>return</strong> 错误码,0 表示成功,其他表示错误</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="flash-read">
|
||||
<h3><span class="section-number">2.14.2.5. </span><strong>flash_read</strong><a class="headerlink" href="#flash-read" title="永久链接至标题">¶</a></h3>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="n">BL_Err_Type</span> <span class="nf">flash_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">addr</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">len</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>addr</strong> 要读取的 flash 物理起始地址</p></li>
|
||||
<li><p><strong>data</strong> 读入数据指针</p></li>
|
||||
<li><p><strong>len</strong> 读取长度</p></li>
|
||||
<li><p><strong>return</strong> 错误码,0 表示成功,其他表示错误</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="hal-jump2app">
|
||||
<h3><span class="section-number">2.14.2.6. </span><strong>hal_jump2app</strong><a class="headerlink" href="#hal-jump2app" title="永久链接至标题">¶</a></h3>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">hal_jump2app</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">flash_offset</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>flash_offset</strong> 要跳转的 flash 物理地址,即烧录新应用程序的物理地址</p></li>
|
||||
</ul>
|
||||
<div class="admonition error">
|
||||
<p class="admonition-title">错误</p>
|
||||
<p>以上地址均为 flash 物理地址,不可以填入内存映射地址,比如0x23000000。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="api_pm.html" class="btn btn-neutral float-right" title="2.15. PM 设备" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="api_usb.html" class="btn btn-neutral float-left" title="2.13. USB 设备" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© 版权所有 2021, BouffaloLab Co., Ltd.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -128,6 +128,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -146,13 +148,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -127,6 +127,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -145,13 +147,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -130,6 +130,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -148,13 +150,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -0,0 +1,372 @@
|
|||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="zh-CN" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>2.15. PM 设备 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/translations.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="3. Shell" href="../shell/api_shell.html" />
|
||||
<link rel="prev" title="2.14. XIP FLASH 设备" href="api_flash.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> BL_MCU_SDK 开发指南
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
0.3
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">快速开发指南</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/get_started.html">1. 开发前的准备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/connecting_hardware.html">2. 硬件连接指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">3. 开发环境搭建指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/cmake_quick_start.html">4. 基于 cmake 框架新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/cdk_new_project_quick_start.html">5. 基于 CDK 新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/bl_dev_cube.html">6. BLDevCube 烧录工具指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../get_started/board.html">7. Board 配置系统使用指南</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">API 手册</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../api_overview.html">1. API 概述</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">2. Peripheral</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_clock.html">2.1. 时钟树</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_gpio.html">2.2. GPIO 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_uart.html">2.3. UART 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pwm.html">2.4. PWM 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_dma.html">2.5. DMA 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_i2c.html">2.6. I2C 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_i2s.html">2.7. I2S 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_spi.html">2.8. SPI 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_adc.html">2.9. ADC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_dac.html">2.10. DAC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">2.15. PM 设备</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">2.15.1. 简介</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">2.15.2. PM 设备接口</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#pm-pds-mode-enter">2.15.2.1. <strong>pm_pds_mode_enter</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#pm-hbn-mode-enter">2.15.2.2. <strong>pm_hbn_mode_enter</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#pm-set-wakeup-callback">2.15.2.3. <strong>pm_set_wakeup_callback</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#pm-hbn-out0-irq-register">2.15.2.4. <strong>pm_hbn_out0_irq_register</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#pm-hbn-out1-irq-register">2.15.2.5. <strong>pm_hbn_out1_irq_register</strong></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb%20stack/api_usb_stack.html">4. USB Stack</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../bluetooth/api_ble.html">5. BLE</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">基础外设例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/gpio/index.html">1. GPIO 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/uart/index.html">2. UART 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/pwm/index.html">3. PWM 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/mtimer/index.html">4. MTIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/dma/index.html">5. DMA 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/spi/index.html">6. SPI 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2c/index.html">7. I2C 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">BL_MCU_SDK 开发指南</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="index.html"><span class="section-number">2. </span>Peripheral</a> »</li>
|
||||
|
||||
<li><span class="section-number">2.15. </span>PM 设备</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../../_sources/api_reference/peripheral/api_pm.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="pm">
|
||||
<h1><span class="section-number">2.15. </span>PM 设备<a class="headerlink" href="#pm" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">2.15.1. </span>简介<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">2.15.2. </span>PM 设备接口<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<div class="section" id="pm-pds-mode-enter">
|
||||
<h3><span class="section-number">2.15.2.1. </span><strong>pm_pds_mode_enter</strong><a class="headerlink" href="#pm-pds-mode-enter" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_pds_mode_enter</span></code> 用来进入 pds 模式</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">pm_pds_mode_enter</span><span class="p">(</span><span class="k">enum</span> <span class="n">pm_pds_sleep_level</span> <span class="n">pds_level</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">sleep_time</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>pds_level</strong> PDS 等级</p></li>
|
||||
<li><p><strong>sleep_time</strong> 睡眠时间,单位 1/32768 hz</p></li>
|
||||
</ul>
|
||||
<p>其中 <code class="docutils literal notranslate"><span class="pre">pds_level</span></code> 提供以下类型:</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">pm_pds_sleep_level</span> <span class="p">{</span>
|
||||
<span class="n">PM_PDS_LEVEL_0</span><span class="p">,</span>
|
||||
<span class="n">PM_PDS_LEVEL_1</span><span class="p">,</span>
|
||||
<span class="n">PM_PDS_LEVEL_2</span><span class="p">,</span>
|
||||
<span class="n">PM_PDS_LEVEL_3</span><span class="p">,</span>
|
||||
<span class="n">PM_PDS_LEVEL_4</span><span class="p">,</span> <span class="cm">/*do not recommend to use*/</span>
|
||||
<span class="n">PM_PDS_LEVEL_5</span><span class="p">,</span> <span class="cm">/*do not recommend to use*/</span>
|
||||
<span class="n">PM_PDS_LEVEL_6</span><span class="p">,</span> <span class="cm">/*do not recommend to use*/</span>
|
||||
<span class="n">PM_PDS_LEVEL_7</span><span class="p">,</span> <span class="cm">/*do not recommend to use*/</span>
|
||||
<span class="n">PM_PDS_LEVEL_31</span> <span class="o">=</span> <span class="mi">31</span><span class="p">,</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">警告</p>
|
||||
<p>pds level 4~7 不推荐使用</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="pm-hbn-mode-enter">
|
||||
<h3><span class="section-number">2.15.2.2. </span><strong>pm_hbn_mode_enter</strong><a class="headerlink" href="#pm-hbn-mode-enter" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_hbn_mode_enter</span></code> 用来进入 hbn 模式</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">pm_hbn_mode_enter</span><span class="p">(</span><span class="k">enum</span> <span class="n">pm_hbn_sleep_level</span> <span class="n">hbn_level</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">sleep_time</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>hbn_level</strong> HBN 等级</p></li>
|
||||
<li><p><strong>sleep_time</strong> 睡眠时间,单位秒</p></li>
|
||||
</ul>
|
||||
<p>其中 <code class="docutils literal notranslate"><span class="pre">hbn_level</span></code> 提供以下类型:</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">pm_hbn_sleep_level</span> <span class="p">{</span>
|
||||
<span class="n">PM_HBN_LEVEL_0</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_LEVEL_1</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_LEVEL_2</span><span class="p">,</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="pm-set-wakeup-callback">
|
||||
<h3><span class="section-number">2.15.2.3. </span><strong>pm_set_wakeup_callback</strong><a class="headerlink" href="#pm-set-wakeup-callback" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_set_wakeup_callback</span></code> 用来设置从唤醒恢复时跳转的函数地址,hbn level1 以上不可用。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">pm_set_wakeup_callback</span><span class="p">(</span><span class="kt">void</span> <span class="p">(</span><span class="o">*</span><span class="n">wakeup_callback</span><span class="p">)(</span><span class="kt">void</span><span class="p">));</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>wakeup_callback</strong> 跳转的函数地址</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="pm-hbn-out0-irq-register">
|
||||
<h3><span class="section-number">2.15.2.4. </span><strong>pm_hbn_out0_irq_register</strong><a class="headerlink" href="#pm-hbn-out0-irq-register" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_hbn_out0_irq_register</span></code> 用来注册 hbn out0 中断,out0下中断有:GPIO9~GPIO12,RTC。中断回调函数为 <code class="docutils literal notranslate"><span class="pre">pm_irq_callback</span></code>。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">pm_hbn_out0_irq_register</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="pm-hbn-out1-irq-register">
|
||||
<h3><span class="section-number">2.15.2.5. </span><strong>pm_hbn_out1_irq_register</strong><a class="headerlink" href="#pm-hbn-out1-irq-register" title="永久链接至标题">¶</a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_hbn_out1_irq_register</span></code> 用来注册 hbn out1 中断,out1下中断有:ACOMP0、ACOMP1、BOR、PIR。中断回调函数为 <code class="docutils literal notranslate"><span class="pre">pm_irq_callback</span></code>。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">pm_hbn_out1_irq_register</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pm_irq_callback</span></code> 中 <code class="docutils literal notranslate"><span class="pre">event</span></code> 提供以下类型:</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="k">enum</span> <span class="n">pm_event_type</span> <span class="p">{</span>
|
||||
<span class="n">PM_HBN_GPIO9_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_GPIO10_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_GPIO11_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_GPIO12_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_RTC_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_ACOMP0_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="n">PM_HBN_ACOMP1_WAKEUP_EVENT</span><span class="p">,</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../shell/api_shell.html" class="btn btn-neutral float-right" title="3. Shell" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="api_flash.html" class="btn btn-neutral float-left" title="2.14. XIP FLASH 设备" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© 版权所有 2021, BouffaloLab Co., Ltd.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -134,6 +134,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -152,13 +154,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -129,6 +129,8 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -147,13 +149,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -134,6 +134,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -152,13 +154,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -130,6 +130,8 @@
|
|||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -148,13 +150,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -131,6 +131,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -149,13 +151,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="3. Shell" href="../shell/api_shell.html" />
|
||||
<link rel="next" title="2.14. XIP FLASH 设备" href="api_flash.html" />
|
||||
<link rel="prev" title="2.12. QDEC 设备" href="api_qdec.html" />
|
||||
</head>
|
||||
|
||||
|
@ -140,6 +140,8 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -158,13 +160,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -629,7 +632,7 @@
|
|||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../shell/api_shell.html" class="btn btn-neutral float-right" title="3. Shell" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="api_flash.html" class="btn btn-neutral float-right" title="2.14. XIP FLASH 设备" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="api_qdec.html" class="btn btn-neutral float-left" title="2.12. QDEC 设备" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -116,6 +116,8 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell/api_shell.html">3. Shell</a></li>
|
||||
|
@ -134,13 +136,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -228,6 +231,8 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="api_timer.html">2.11. TIMER 设备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_qdec.html">2.12. QDEC 设备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_usb.html">2.13. USB 设备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_flash.html">2.14. XIP FLASH 设备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_pm.html">2.15. PM 设备</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="4. USB Stack" href="../usb%20stack/api_usb_stack.html" />
|
||||
<link rel="prev" title="2.13. USB 设备" href="../peripheral/api_usb.html" />
|
||||
<link rel="prev" title="2.15. PM 设备" href="../peripheral/api_pm.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
@ -129,13 +129,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -281,7 +282,7 @@
|
|||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../usb%20stack/api_usb_stack.html" class="btn btn-neutral float-right" title="4. USB Stack" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../peripheral/api_usb.html" class="btn btn-neutral float-left" title="2.13. USB 设备" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="../peripheral/api_pm.html" class="btn btn-neutral float-left" title="2.15. PM 设备" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
|
|
@ -121,14 +121,22 @@
|
|||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#usb-device-cdc">4.3.2. USB Device CDC 类接口</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-cdc-add-acm-interface">4.3.2.1. <strong>usbd_cdc_add_acm_interface</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-cdc-acm-set-line-coding">4.3.2.2. <strong>usbd_cdc_acm_set_line_coding</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-cdc-acm-set-dtr">4.3.2.3. <strong>usbd_cdc_acm_set_dtr</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-cdc-acm-set-rts">4.3.2.4. <strong>usbd_cdc_acm_set_rts</strong></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#usb-device-msc">4.3.3. USB Device MSC 类接口</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-msc-class-init">4.3.3.1. <strong>usbd_msc_class_init</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-msc-get-cap">4.3.3.2. <strong>usbd_msc_get_cap</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-msc-sector-read">4.3.3.3. <strong>usbd_msc_sector_read</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-msc-sector-write">4.3.3.4. <strong>usbd_msc_sector_write</strong></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#usb-device-hid">4.3.4. USB Device HID 类接口</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-hid-add-interface">4.3.4.1. <strong>usbd_hid_add_interface</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-hid-report-descriptor-register">4.3.4.2. <strong>usbd_hid_report_descriptor_register</strong></a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usbd-hid-set-request-callback">4.3.4.3. <strong>usbd_hid_set_request_callback</strong></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#usb-device-audio">4.3.5. USB Device AUDIO 类接口</a><ul>
|
||||
|
@ -157,13 +165,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -412,6 +421,39 @@
|
|||
<li><p><strong>intf</strong> 接口句柄</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-cdc-acm-set-line-coding">
|
||||
<h4><span class="section-number">4.3.2.2. </span><strong>usbd_cdc_acm_set_line_coding</strong><a class="headerlink" href="#usbd-cdc-acm-set-line-coding" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_cdc_acm_set_line_coding</span></code> 用来对串口进行配置。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_cdc_acm_set_line_coding</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">baudrate</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">databits</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">parity</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">stopbits</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>baudrate</strong> 波特率</p></li>
|
||||
<li><p><strong>databits</strong> 数据位</p></li>
|
||||
<li><p><strong>parity</strong> 校验位</p></li>
|
||||
<li><p><strong>stopbits</strong> 停止位</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-cdc-acm-set-dtr">
|
||||
<h4><span class="section-number">4.3.2.3. </span><strong>usbd_cdc_acm_set_dtr</strong><a class="headerlink" href="#usbd-cdc-acm-set-dtr" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_cdc_acm_set_line_coding</span></code> 用来控制串口 DTR。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_cdc_acm_set_dtr</span><span class="p">(</span><span class="kt">bool</span> <span class="n">dtr</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>dtr</strong> dtr 为1表示拉低电平,为0表示拉高电平</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-cdc-acm-set-rts">
|
||||
<h4><span class="section-number">4.3.2.4. </span><strong>usbd_cdc_acm_set_rts</strong><a class="headerlink" href="#usbd-cdc-acm-set-rts" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_cdc_acm_set_line_coding</span></code> 用来控制串口 RTS。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_cdc_acm_set_rts</span><span class="p">(</span><span class="kt">bool</span> <span class="n">rts</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>rts</strong> rts 为1表示拉低电平,为0表示拉高电平</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="usb-device-msc">
|
||||
<h3><span class="section-number">4.3.3. </span>USB Device MSC 类接口<a class="headerlink" href="#usb-device-msc" title="永久链接至标题">¶</a></h3>
|
||||
|
@ -426,6 +468,42 @@
|
|||
<li><p><strong>in_ep</strong> 输入端点的地址</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-msc-get-cap">
|
||||
<h4><span class="section-number">4.3.3.2. </span><strong>usbd_msc_get_cap</strong><a class="headerlink" href="#usbd-msc-get-cap" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_msc_get_cap</span></code> 用来获取存储器的信息。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_msc_get_cap</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">lun</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">block_num</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">block_size</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>lun</strong> 存储逻辑单元,暂时无用</p></li>
|
||||
<li><p><strong>block_num</strong> 存储扇区个数的指针</p></li>
|
||||
<li><p><strong>block_size</strong> 存储扇区大小的指针</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-msc-sector-read">
|
||||
<h4><span class="section-number">4.3.3.3. </span><strong>usbd_msc_sector_read</strong><a class="headerlink" href="#usbd-msc-sector-read" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_msc_sector_read</span></code> 用来对存储器某个扇区开始进行数据读取。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">usbd_msc_sector_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">sector</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">length</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>sector</strong> 扇区偏移</p></li>
|
||||
<li><p><strong>buffer</strong> 存储读取的数据的指针</p></li>
|
||||
<li><p><strong>length</strong> 读取长度</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-msc-sector-write">
|
||||
<h4><span class="section-number">4.3.3.4. </span><strong>usbd_msc_sector_write</strong><a class="headerlink" href="#usbd-msc-sector-write" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_msc_sector_write</span></code> 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">usbd_msc_sector_write</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">sector</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">length</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>sector</strong> 扇区偏移</p></li>
|
||||
<li><p><strong>buffer</strong> 写入数据指针</p></li>
|
||||
<li><p><strong>length</strong> 写入长度</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="usb-device-hid">
|
||||
<h3><span class="section-number">4.3.4. </span>USB Device HID 类接口<a class="headerlink" href="#usb-device-hid" title="永久链接至标题">¶</a></h3>
|
||||
|
@ -442,6 +520,40 @@
|
|||
<li><p><strong>intf</strong> 接口句柄</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-hid-report-descriptor-register">
|
||||
<h4><span class="section-number">4.3.4.2. </span><strong>usbd_hid_report_descriptor_register</strong><a class="headerlink" href="#usbd-hid-report-descriptor-register" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_hid_report_descriptor_register</span></code> 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_hid_report_descriptor_register</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">intf_num</span><span class="p">,</span> <span class="k">const</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">desc</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">desc_len</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>intf_num</strong> 当前 hid 报告描述符所在接口偏移</p></li>
|
||||
<li><p><strong>desc</strong> 报告描述符</p></li>
|
||||
<li><p><strong>desc_len</strong> 报告描述符长度</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usbd-hid-set-request-callback">
|
||||
<h4><span class="section-number">4.3.4.3. </span><strong>usbd_hid_set_request_callback</strong><a class="headerlink" href="#usbd-hid-set-request-callback" title="永久链接至标题">¶</a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">usbd_hid_set_request_callback</span></code> 用来对存储器某个扇区开始写入数据。该接口由用户实现,默认为空。</p>
|
||||
<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">usbd_hid_set_request_callback</span><span class="p">(</span> <span class="kt">uint8_t</span> <span class="n">intf_num</span><span class="p">,</span>
|
||||
<span class="kt">uint8_t</span> <span class="p">(</span><span class="o">*</span><span class="n">get_report_callback</span><span class="p">)(</span><span class="kt">uint8_t</span> <span class="n">report_id</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">report_type</span><span class="p">),</span>
|
||||
<span class="kt">void</span> <span class="p">(</span><span class="o">*</span><span class="n">set_report_callback</span><span class="p">)(</span><span class="kt">uint8_t</span> <span class="n">report_id</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">report_type</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">report</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">report_len</span><span class="p">),</span>
|
||||
<span class="kt">uint8_t</span> <span class="p">(</span><span class="o">*</span><span class="n">get_idle_callback</span><span class="p">)(</span><span class="kt">uint8_t</span> <span class="n">report_id</span><span class="p">),</span>
|
||||
<span class="kt">void</span> <span class="p">(</span><span class="o">*</span><span class="n">set_idle_callback</span><span class="p">)(</span><span class="kt">uint8_t</span> <span class="n">report_id</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="n">duration</span><span class="p">),</span>
|
||||
<span class="kt">void</span> <span class="p">(</span><span class="o">*</span><span class="n">set_protocol_callback</span><span class="p">)(</span><span class="kt">uint8_t</span> <span class="n">protocol</span><span class="p">),</span>
|
||||
<span class="kt">uint8_t</span> <span class="p">(</span><span class="o">*</span><span class="n">get_protocol_callback</span><span class="p">)(</span><span class="kt">void</span><span class="p">));</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><strong>intf_num</strong> 当前 hid 报告描述符所在接口偏移</p></li>
|
||||
<li><p><strong>get_report_callback</strong> get report命令处理回调函数</p></li>
|
||||
<li><p><strong>set_report_callback</strong> set report命令处理回调函数</p></li>
|
||||
<li><p><strong>get_idle_callback</strong> get idle命令处理回调函数</p></li>
|
||||
<li><p><strong>set_idle_callback</strong> set idle命令处理回调函数</p></li>
|
||||
<li><p><strong>set_protocol_callback</strong> set protocol命令处理回调函数</p></li>
|
||||
<li><p><strong>get_protocol_callback</strong> get protocol命令处理回调函数</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="usb-device-audio">
|
||||
<h3><span class="section-number">4.3.5. </span>USB Device AUDIO 类接口<a class="headerlink" href="#usb-device-audio" title="永久链接至标题">¶</a></h3>
|
||||
|
|
|
@ -117,13 +117,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -139,13 +139,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -135,13 +135,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -141,13 +141,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -140,13 +140,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -135,13 +135,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -123,13 +123,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -135,13 +135,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -134,13 +134,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -124,13 +124,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -118,13 +118,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -236,15 +237,16 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="toctree-wrapper compound">
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="samples/advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">6. BLE 客户端和服务端互连</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id1">6.1. 准备工具</a></li>
|
||||
|
@ -405,12 +406,12 @@
|
|||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>ble_peripheral <span class="nv">SUPPORT_FREERTOS</span><span class="o">=</span>y <span class="nv">SUPPORT_FLOAT</span><span class="o">=</span>y <span class="nv">SUPPORT_BLE</span><span class="o">=</span>y
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>ble_peripheral <span class="nv">SUPPORT_FLOAT</span><span class="o">=</span>y
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>ble_central <span class="nv">SUPPORT_FREERTOS</span><span class="o">=</span>y <span class="nv">SUPPORT_FLOAT</span><span class="o">=</span>y <span class="nv">SUPPORT_BLE</span><span class="o">=</span>y
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>ble_central <span class="nv">SUPPORT_FLOAT</span><span class="o">=</span>y
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="6. BLE 客户端和服务端互连" href="ble_scan_demo.html" />
|
||||
<link rel="prev" title="4. LowPower 低功耗评估" href="lowpower_demo.html" />
|
||||
<link rel="prev" title="4. Power Management" href="lowpower_demo.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. BOOT2 IAP</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id1">5.1. 准备工具</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id2">5.2. 实验现象</a></li>
|
||||
|
@ -210,12 +211,12 @@
|
|||
<p>Bouffalo Lab 为 IAP 功能应用提供了相应的 boot2_iap.bin 文件,并将其与 Dev Cube 软件包同步发布。
|
||||
用户可以配合 Dev Cube 图形界面烧写软件,将已有的 boot2_iap.bin 文件烧录进目标板,烧录
|
||||
一次之后,就可以通过 IAP 功能,在线更新用户代码。</p>
|
||||
<p>bl_mcu_sdk 开源了 boot2_iap 的软件源码,用户可以到 examples/boot2_iap 查阅代码,并完成编译烧写。编译烧写过程可以参考《快速开发指南》介绍。</p>
|
||||
<p>bl_mcu_sdk 开源了 boot2_iap 的软件源码,用户可以到 <code class="docutils literal notranslate"><span class="pre">examples/boot2_iap</span></code> 查阅代码,并完成编译烧写。编译烧写过程可以参考《快速开发指南》介绍。</p>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">5.1. </span>准备工具<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>最新版本的 Dev Cube</p></li>
|
||||
<li><p>Bl706 开发板</p></li>
|
||||
<li><p>BL706 开发板</p></li>
|
||||
<li><p>TTL-USB 电平转换芯片</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -232,7 +233,7 @@
|
|||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="ble_scan_demo.html" class="btn btn-neutral float-right" title="6. BLE 客户端和服务端互连" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="lowpower_demo.html" class="btn btn-neutral float-left" title="4. LowPower 低功耗评估" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="lowpower_demo.html" class="btn btn-neutral float-left" title="4. Power Management" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. EMAC 以太网应用</a><ul class="current">
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. EMAC 以太网应用</a><ul class="current">
|
||||
|
|
|
@ -118,13 +118,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. EMAC 以太网应用</a><ul class="current">
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. EMAC 以太网应用</a><ul class="current">
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. EMAC 以太网应用</a><ul class="current">
|
||||
|
|
|
@ -119,13 +119,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">7. EMAC 以太网应用</a><ul>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>2. Fatfs 文件系统读写 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
<title>2. FatFs 文件系统读写(SD 卡) — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
|
@ -119,13 +119,21 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. FatFs 文件系统读写(SD 卡)</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id1">2.1. 准备工具</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id2">2.2. 硬件连接</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id3">2.3. 软件实现</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id4">2.4. 编译和烧录</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id5">2.5. 实验现象</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -177,7 +185,7 @@
|
|||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><span class="section-number">2. </span>Fatfs 文件系统读写</li>
|
||||
<li><span class="section-number">2. </span>FatFs 文件系统读写(SD 卡)</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
@ -196,8 +204,225 @@
|
|||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="fatfs">
|
||||
<h1><span class="section-number">2. </span>Fatfs 文件系统读写<a class="headerlink" href="#fatfs" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="fatfs-sd">
|
||||
<h1><span class="section-number">2. </span>FatFs 文件系统读写(SD 卡)<a class="headerlink" href="#fatfs-sd" title="永久链接至标题">¶</a></h1>
|
||||
<p>本 demo 主要演示使用 spi 驱动 sd 卡并挂载 fatfs 文件系统的例子。其中 fatfs api 见 <a class="reference external" href="http://elm-chan.org/fsw/ff/00index_e.html">Fatfs 官网</a>。</p>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">2.1. </span>准备工具<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>一张 class10 的 sd 卡和 sd 卡转spi 转接板</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">2.2. </span>硬件连接<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<p>本 demo 基于 BL706_AVB 开发板,连接方式如下</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">GPIO</span> <span class="n">function</span> <span class="n">GPIO</span> <span class="n">pin</span>
|
||||
<span class="o">----------------------------------</span>
|
||||
<span class="n">SD_CS</span> <span class="o"><--></span> <span class="n">GPIO10</span>
|
||||
<span class="n">SPI_SCK</span> <span class="o"><--></span> <span class="n">GPIO19</span>
|
||||
<span class="n">SPI_MISO</span> <span class="o"><--></span> <span class="n">GPIO20</span>
|
||||
<span class="n">SPI_MOSI</span> <span class="o"><--></span> <span class="n">GPIO21</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h2><span class="section-number">2.3. </span>软件实现<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>软件代码见 <code class="docutils literal notranslate"><span class="pre">examples/spi/spi_dma_sd</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define BSP_SPI_CLOCK_SOURCE ROOT_CLOCK_SOURCE_BCLK</span>
|
||||
<span class="cp">#define BSP_SPI_CLOCK_DIV 0</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>配置 <code class="docutils literal notranslate"><span class="pre">SPI</span></code> 设备时钟源,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/clock_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span>
|
||||
<span class="normal">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO19_FUNC GPIO_FUN_SPI</span>
|
||||
<span class="cp">#define CONFIG_GPIO20_FUNC GPIO_FUN_SPI</span>
|
||||
<span class="cp">#define CONFIG_GPIO21_FUNC GPIO_FUN_SPI</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>配置 <code class="docutils literal notranslate"><span class="pre">SPI</span></code> 设备复用引脚,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/pinmux_config.h</span></code>,,如有改动,请自行修改</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">注解</p>
|
||||
<p>为适配 bl702_avb 硬件, SPI 的 MOSI 和 MISO 默认进行了调换,如果想要恢复默认,修改 <code class="docutils literal notranslate"><span class="pre">drivers/bl702_driver/hal_drv/default_config/spi_config.h</span></code> 中 <code class="docutils literal notranslate"><span class="pre">SPI_SWAP_ENABLE</span></code> 为 0</p>
|
||||
</div>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define BSP_USING_SPI0</span>
|
||||
|
||||
<span class="cp">#if defined(BSP_USING_SPI0)</span>
|
||||
<span class="cp">#ifndef SPI0_CONFIG</span>
|
||||
<span class="cp">#define SPI0_CONFIG \</span>
|
||||
<span class="cp">{ \</span>
|
||||
<span class="cp">.id = 0, \</span>
|
||||
<span class="cp">.clk = 18000000,\</span>
|
||||
<span class="cp">.mode = SPI_MASTER_MODE, \</span>
|
||||
<span class="cp">.direction = SPI_MSB_BYTE0_DIRECTION_FIRST, \</span>
|
||||
<span class="cp">.clk_polaraity = SPI_POLARITY_LOW, \</span>
|
||||
<span class="cp">.clk_phase = SPI_PHASE_1EDGE, \</span>
|
||||
<span class="cp">.datasize = SPI_DATASIZE_8BIT, \</span>
|
||||
<span class="cp">.fifo_threshold = 4, \</span>
|
||||
<span class="cp">}</span>
|
||||
<span class="cp">#endif</span>
|
||||
<span class="cp">#endif</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>使能 <code class="docutils literal notranslate"><span class="pre">BSP_USING_SPI0</span></code> 并配置 <code class="docutils literal notranslate"><span class="pre">SPI</span></code> 设备配置,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/peripheral_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">注解</p>
|
||||
<p>sd卡的频率不能过高,所以设置成 18M 比较合适</p>
|
||||
</div>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span>
|
||||
<span class="normal">18</span>
|
||||
<span class="normal">19</span>
|
||||
<span class="normal">20</span>
|
||||
<span class="normal">21</span>
|
||||
<span class="normal">22</span>
|
||||
<span class="normal">23</span>
|
||||
<span class="normal">24</span>
|
||||
<span class="normal">25</span>
|
||||
<span class="normal">26</span>
|
||||
<span class="normal">27</span>
|
||||
<span class="normal">28</span>
|
||||
<span class="normal">29</span>
|
||||
<span class="normal">30</span>
|
||||
<span class="normal">31</span>
|
||||
<span class="normal">32</span>
|
||||
<span class="normal">33</span>
|
||||
<span class="normal">34</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define BSP_USING_DMA0_CH3</span>
|
||||
<span class="cp">#define BSP_USING_DMA0_CH4</span>
|
||||
|
||||
<span class="cp">#if defined(BSP_USING_DMA0_CH3)</span>
|
||||
<span class="cp">#ifndef DMA0_CH3_CONFIG</span>
|
||||
<span class="cp">#define DMA0_CH3_CONFIG \</span>
|
||||
<span class="cp"> { \</span>
|
||||
<span class="cp"> .id = 0, \</span>
|
||||
<span class="cp"> .ch = 3, \</span>
|
||||
<span class="cp"> .direction = DMA_MEMORY_TO_PERIPH, \</span>
|
||||
<span class="cp"> .transfer_mode = DMA_LLI_ONCE_MODE, \</span>
|
||||
<span class="cp"> .src_req = DMA_REQUEST_NONE, \</span>
|
||||
<span class="cp"> .dst_req = DMA_REQUEST_SPI0_TX, \</span>
|
||||
<span class="cp"> .src_width = DMA_TRANSFER_WIDTH_8BIT, \</span>
|
||||
<span class="cp"> .dst_width = DMA_TRANSFER_WIDTH_8BIT, \</span>
|
||||
<span class="cp"> }</span>
|
||||
<span class="cp">#endif</span>
|
||||
<span class="cp">#endif</span>
|
||||
|
||||
<span class="cp">#if defined(BSP_USING_DMA0_CH4)</span>
|
||||
<span class="cp">#ifndef DMA0_CH4_CONFIG</span>
|
||||
<span class="cp">#define DMA0_CH4_CONFIG \</span>
|
||||
<span class="cp"> { \</span>
|
||||
<span class="cp"> .id = 0, \</span>
|
||||
<span class="cp"> .ch = 4, \</span>
|
||||
<span class="cp"> .direction = DMA_PERIPH_TO_MEMORY, \</span>
|
||||
<span class="cp"> .transfer_mode = DMA_LLI_ONCE_MODE, \</span>
|
||||
<span class="cp"> .src_req = DMA_REQUEST_SPI0_RX, \</span>
|
||||
<span class="cp"> .dst_req = DMA_REQUEST_NONE, \</span>
|
||||
<span class="cp"> .src_width = DMA_TRANSFER_WIDTH_8BIT, \</span>
|
||||
<span class="cp"> .dst_width = DMA_TRANSFER_WIDTH_8BIT, \</span>
|
||||
<span class="cp"> }</span>
|
||||
<span class="cp">#endif</span>
|
||||
<span class="cp">#endif</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>使能 <code class="docutils literal notranslate"><span class="pre">BSP_USING_DMA0_CH3</span></code>, <code class="docutils literal notranslate"><span class="pre">BSP_USING_DMA0_CH4</span></code> 并配置 <code class="docutils literal notranslate"><span class="pre">DMA</span></code> 设备配置,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/peripheral_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">fatfs_sd_driver_register</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">FATFS_DiskioDriverTypeDef</span> <span class="n">sdDiskioDriver</span><span class="p">;</span>
|
||||
|
||||
<span class="n">memset</span><span class="p">(</span><span class="o">&</span><span class="n">sdDiskioDriver</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">FATFS_DiskioDriverTypeDef</span><span class="p">));</span>
|
||||
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">MMC_disk_status</span> <span class="o">=</span> <span class="n">sd_disk_status</span><span class="p">;</span>
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">MMC_disk_initialize</span> <span class="o">=</span> <span class="n">sd_disk_initialize</span><span class="p">;</span>
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">MMC_disk_write</span> <span class="o">=</span> <span class="n">sd_disk_write</span><span class="p">;</span>
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">MMC_disk_read</span> <span class="o">=</span> <span class="n">sd_disk_read</span><span class="p">;</span>
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">MMC_disk_ioctl</span> <span class="o">=</span> <span class="n">sd_disk_ioctl</span><span class="p">;</span>
|
||||
<span class="n">sdDiskioDriver</span><span class="p">.</span><span class="n">Translate_Result_Code</span> <span class="o">=</span> <span class="n">Translate_Result_Code</span><span class="p">;</span>
|
||||
<span class="n">disk_driver_callback_init</span><span class="p">(</span><span class="o">&</span><span class="n">sdDiskioDriver</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>实现 fatfs 需要的底层接口</p></li>
|
||||
</ul>
|
||||
<p>剩余代码见 main.c。</p>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h2><span class="section-number">2.4. </span>编译和烧录<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h2>
|
||||
<ul>
|
||||
<li><p><strong>CDK 编译</strong></p>
|
||||
<p>打开项目中提供的工程文件:spi_dma_sd.cdkproj</p>
|
||||
<p>参照 <a class="reference internal" href="../../get_started/Windows_quick_start_cdk.html#windows-cdk-quick-start"><span class="std std-ref">Windows 下使用 CDK (类 MDK Keil)开发指南</span></a> 的步骤编译下载即可</p>
|
||||
</li>
|
||||
<li><p><strong>命令行编译</strong></p></li>
|
||||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_avb <span class="nv">APP</span><span class="o">=</span>spi_dma_sd
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
<li><p><strong>烧录</strong></p>
|
||||
<p>详见 <a class="reference internal" href="../../get_started/bl_dev_cube.html#bl-dev-cube"><span class="std std-ref">BLDevCube 烧录工具指南</span></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id5">
|
||||
<h2><span class="section-number">2.5. </span>实验现象<a class="headerlink" href="#id5" title="永久链接至标题">¶</a></h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>4. LowPower 低功耗评估 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
<title>4. Power Management — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
|
@ -119,20 +119,23 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. LowPower 低功耗评估</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id1">4.1. 简介</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id2">4.2. <strong>低功耗示例测试方法</strong></a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id3">4.2.1. <strong>编译低功耗示例代码</strong></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id4">4.2.2. <strong>准备低功耗测试所需的硬件环境</strong></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#xshell">4.2.3. <strong>使用 Xshell 开始评估低功耗性能</strong></a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Power Management</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id1">4.1. 准备工具</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id2">4.2. 硬件连接</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id3">4.3. 软件实现</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#pds">4.3.1. PDS 模式</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#hbn">4.3.2. HBN 模式</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id4">4.4. 编译和烧录</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id5">4.5. 实验现象</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
|
@ -186,7 +189,7 @@
|
|||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><span class="section-number">4. </span>LowPower 低功耗评估</li>
|
||||
<li><span class="section-number">4. </span>Power Management</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
@ -205,119 +208,334 @@
|
|||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="lowpower">
|
||||
<h1><span class="section-number">4. </span>LowPower 低功耗评估<a class="headerlink" href="#lowpower" title="永久链接至标题">¶</a></h1>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">4.1. </span>简介<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<p>博流系列芯片拥有丰富的低功耗特性,以适配不同的低功耗应用场合。为了方便用户快速的评测使用 bl 系列 MCU 低功耗性能 bl_mcu_sdk 提供了一套抽象的低功耗接口,将低功耗等级分为四个等级,分别为</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。</p></li>
|
||||
<li><p>WFI :WFI 模式,CPU 的 clock 处于被 Gating 状态,CPU 停止运行,当用户退出WFI模式的时候程序将会继续运行。</p></li>
|
||||
<li><p>PDS : PDS 模式,关闭了芯片上大多数电源域,同时关闭了 CPU,和 CPU 处于同一个电源域的 ITCM,DTCM 等 RAM 不可使用,只有 64K 的 OCTAM 可以保存数据,可以通过内部 RTC 进行唤醒,或者使用 GPIO 引脚(在 GPIO 电源域没有关闭的情况下)唤醒。</p></li>
|
||||
<li><p>HBN : HBN 模式,关闭了芯片上绝大多数电源域,关闭了 CPU 以及 64K OCRAM,只有位于 AON 域的 4K RAM 可以保存数据,可以通过内部 RTC 进行唤醒,或者使用特定的唤醒引脚(位于 AON 域的引脚)唤醒。</p></li>
|
||||
</ol>
|
||||
<p>bl_mcu_sdk 提供了一个简单的低功耗参考示例(bl_mcu_sdk examples/power/lowpower_test/),旨在帮助用户快速评估低功耗功能,如果需要进一步适配自身的低功耗场景,采取不同的低功耗策略,请查阅相关 datasheet 或者寻找 Boufflao Lab 的技术支持。
|
||||
在该示例中,外设及 CPU 的时钟选择均是晶振 32M。基于该示例的功耗测量结果如下表所示:</p>
|
||||
<blockquote>
|
||||
<div><table class="docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 25%" />
|
||||
<col style="width: 32%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>模式</p></th>
|
||||
<th class="head"><p>参考电流</p></th>
|
||||
<th class="head"><p>对应基础模式</p></th>
|
||||
<th class="head"><p>唤醒源</p></th>
|
||||
<th class="head"><p>备注</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>Running</p></td>
|
||||
<td><p>5.68 mA</p></td>
|
||||
<td><p>Run</p></td>
|
||||
<td></td>
|
||||
<td><p>所有外设时钟都打开</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>WFI</p></td>
|
||||
<td><p>3.14 mA</p></td>
|
||||
<td><p>WFI</p></td>
|
||||
<td><p>任意中断</p></td>
|
||||
<td><p>除串口外,其它外设时钟关闭</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>PDS</p></td>
|
||||
<td><p>10 uA</p></td>
|
||||
<td><p>PDS 31</p></td>
|
||||
<td><p>内部RTC/引脚中断</p></td>
|
||||
<td><p>64K OCRAM保存数据</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>HBN</p></td>
|
||||
<td><p>1 uA</p></td>
|
||||
<td><p>HBN 1</p></td>
|
||||
<td><p>内部RTC/引脚中断</p></td>
|
||||
<td><p>4K AON RAM保存数据</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></blockquote>
|
||||
<p>上表中的参考电流是通过示例固件测试得出的。符合 bl70x 系列 MCU 的 spec 的描述,run wfi pds hbn 四种等级的定义简化了原先的 hbn level 以及 pds level 的设定。</p>
|
||||
<p>见 bl702_bl704_bl706_DS_EN_Combo_1.9.pdf page 28</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../_images/powerTable.png" src="../../_images/powerTable.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">4.2. </span><strong>低功耗示例测试方法</strong><a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<div class="section" id="id3">
|
||||
<h3><span class="section-number">4.2.1. </span><strong>编译低功耗示例代码</strong><a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h3>
|
||||
<p>在工程目录下键入 <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">APP=lowpower_test</span>  <span class="pre">SUPPORT_SHELL=y</span> <span class="pre">BOARD=bl706_lp</span></code> 完成低功耗示例 bl706 的编译。或者直接使用 CDK 工程,完成编译下载
|
||||
您可以参考本文档《快速开发指南》来获取更多编译烧写的信息。</p>
|
||||
<p>当编译并烧写成功后,连接串口到电脑端,并复位芯片,Xshell 会出现如下图所示的页面。</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../_images/xShell_lowpower.png" src="../../_images/xShell_lowpower.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h3><span class="section-number">4.2.2. </span><strong>准备低功耗测试所需的硬件环境</strong><a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h3>
|
||||
<div class="section" id="power-management">
|
||||
<h1><span class="section-number">4. </span>Power Management<a class="headerlink" href="#power-management" title="永久链接至标题">¶</a></h1>
|
||||
<p>本 demo 主要演示 bl 系列 mcu 低功耗性能。具体低功耗介绍请参考 <a class="reference external" href="https://dev.bouffalolab.com/media/upload/doc/BL702_BL704_706_RM_zh_CN_1.1.pdf">BL702/704/706 参考手册</a>。</p>
|
||||
<p>低功耗模式:</p>
|
||||
<ul class="simple">
|
||||
<li><p>Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。</p></li>
|
||||
<li><p>WFI 模式:CPU 的 clock 处于被 Gating 状态,CPU 停止运行,当用户退出WFI模式的时候程序将会继续运行。</p></li>
|
||||
<li><p>PDS 模式: 根据不同的模式关闭不同的电源域,当关闭了 CPU 电源域时,ITCM,DTCM RAM 不可使用,只有 64K 的 OCRAM 可以使用。</p></li>
|
||||
<li><p>HBN 模式: 根据不同的模式关闭不同的电源域,ITCM,DTCM OCRAM RAM 无法使用,在 hbn0 下位于 AON 域的 4K RAM 可以使用,其他 hbn 模式下 4K RAM 也不可使用。</p></li>
|
||||
</ul>
|
||||
<p>演示内容:</p>
|
||||
<ul class="simple">
|
||||
<li><p>pds3 使用 gpio10 外部中断下降沿唤醒</p></li>
|
||||
<li><p>pds31 使用 pds 唤醒脚 (gpio6) 唤醒</p></li>
|
||||
<li><p>pds31 使用 pds timer 唤醒</p></li>
|
||||
<li><p>hbn0 使用 acomp (gpio11) 唤醒</p></li>
|
||||
<li><p>hbn1 使用 rtc 唤醒</p></li>
|
||||
<li><p>hbn2 使用 hbn 唤醒脚 (gpio12) 唤醒</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">注解</p>
|
||||
<p>高级别的唤醒源可以唤醒低级别的功耗模式,比如 hbn 唤醒脚可以唤醒所有的低功耗模式。</p>
|
||||
</div>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">4.1. </span>准备工具<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>pc控制端使用串口终端软件:xshell 或者 mobaxterm</p></li>
|
||||
<li><p>可以串联电流表到电源端的电路板</p></li>
|
||||
<li><p>电流表</p></li>
|
||||
<li><p>一台 PC 主机(运行 Windows 或者 Linux 系统)</p></li>
|
||||
<li><p>TTL 转 USB</p></li>
|
||||
<li><p>滑动变阻器</p></li>
|
||||
</ul>
|
||||
<p>如下图所示,将电流表串联进入 bl706 模组的供电线路,通过 PC 端的串口调试助手软件,下发不同的低功耗指令,使得 bl706 进入对应的低功耗模式
|
||||
观察电流表示值,完成评估。</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../_images/lowpower_arch.png" src="../../_images/lowpower_arch.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="xshell">
|
||||
<h3><span class="section-number">4.2.3. </span><strong>使用 Xshell 开始评估低功耗性能</strong><a class="headerlink" href="#xshell" title="永久链接至标题">¶</a></h3>
|
||||
<p>用户可以通过在 Xshell 输入下述指令,进入对应的低功耗模式。</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">run</span></code></p>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">4.2. </span>硬件连接<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<p>本 demo 基于 BL706_LP 开发板,连接方式如下</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">GPIO</span> <span class="n">function</span> <span class="n">GPIO</span> <span class="n">pin</span>
|
||||
<span class="o">----------------------------------</span>
|
||||
<span class="n">PDS_WAKEUP</span> <span class="o"><--></span> <span class="n">GPIO6</span>
|
||||
<span class="n">EXTI</span> <span class="o"><--></span> <span class="n">GPIO10</span>
|
||||
<span class="n">ADC</span> <span class="o"><--></span> <span class="n">GPIO11</span>
|
||||
<span class="n">HBN_WAKEUP</span> <span class="o"><--></span> <span class="n">GPIO12</span>
|
||||
<span class="n">UART0_TX</span> <span class="o"><--></span> <span class="n">GPIO14</span>
|
||||
<span class="n">UART0_RX</span> <span class="o"><--></span> <span class="n">GPIO15</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h2><span class="section-number">4.3. </span>软件实现<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h2>
|
||||
<p>软件基于 shell 进行调试,如何注册 shell 命令这里不再说明。</p>
|
||||
<div class="section" id="pds">
|
||||
<h3><span class="section-number">4.3.1. </span>PDS 模式<a class="headerlink" href="#pds" title="永久链接至标题">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>复位芯片之后,默认进入 run 模式,没有进入任何低功耗模式,芯片实际在运行 while(1); 语句。</p></li>
|
||||
<li><p>软件代码见 <code class="docutils literal notranslate"><span class="pre">examples/pm/pds_mode_wakeup</span></code></p></li>
|
||||
</ul>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">wfi</span></code></p>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO6_FUNC GPIO_FUN_WAKEUP</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>进入 wfi 模式,后面不加任何参数,进入之后,CPU 处于 clock gating 状态,降低功耗</p></li>
|
||||
<li><p>进入 wfi 模式后,任何中断会唤醒,例如 uart 中断。在 Xshell 中敲击回车会触发 BL706 UART RX 中断,因此可以通过此方法唤醒 wfi 低功耗模式。</p></li>
|
||||
<li><p>pds 唤醒脚配置,pds3 和 pds31 使用,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_lp/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">pds</span> <span class="pre">sleeptime</span></code></p>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO10_FUNC GPIO_FUN_GPIO_EXTI_FALLING_EDGE</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>pds 可以选择带一个 sleeptime 的参数,决定其内部 RTC 唤醒时间。如果指令不带此参数,那么默认不使用 RTC 内部唤醒,目前的固件仅支持上电复位唤醒。</p></li>
|
||||
<li><p>如果指令包含 sleeptime 参数,pds 将会在``sleeptime * clock_period`` 的时刻被唤醒,表现为复位芯片,重新打印起始报文。</p></li>
|
||||
<li><p>进入低功耗模式后,RTC 的时钟是 32K,因此 sleeptime 为 32768 时,表现为睡眠 1S 后唤醒。</p></li>
|
||||
<li><p>外部中断引脚配置,pds3 使用,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_lp/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">hbn</span> <span class="pre">sleeptime</span></code></p>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO12_FUNC GPIO_FUN_WAKEUP</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>hbn 可以选择带一个 sleeptime 的参数,决定其内部 RTC 唤醒时间。如果指令不带此参数,那么默认不使用 RTC 内部唤醒,目前的固件仅支持上电复位唤醒。</p></li>
|
||||
<li><p>如果指令包含 sleeptime 参数,hbn 将会在``sleeptime * clock_period`` 的时刻被唤醒,表现为复位芯片,重新打印起始报文。</p></li>
|
||||
<li><p>进入低功耗模式后,RTC 的时钟是 32K,因此 sleeptime 为 32768 时,表现为睡眠 1S 后唤醒。</p></li>
|
||||
<li><p>hbn 唤醒脚配置,pds3 和 pds31 使用,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_lp/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="n">gpio_attach_irq</span><span class="p">(</span><span class="n">GPIO_PIN_10</span><span class="p">,</span> <span class="n">gpio_int_callback</span><span class="p">);</span>
|
||||
<span class="n">gpio_irq_enable</span><span class="p">(</span><span class="n">GPIO_PIN_10</span><span class="p">,</span> <span class="n">ENABLE</span><span class="p">);</span> <span class="c1">//only used for level3</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>注册 gpio10 外部中断回调函数并使能</p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span>
|
||||
<span class="normal">18</span>
|
||||
<span class="normal">19</span>
|
||||
<span class="normal">20</span>
|
||||
<span class="normal">21</span>
|
||||
<span class="normal">22</span>
|
||||
<span class="normal">23</span>
|
||||
<span class="normal">24</span>
|
||||
<span class="normal">25</span>
|
||||
<span class="normal">26</span>
|
||||
<span class="normal">27</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">pds3_enter</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"gpio wake up case,enter pds3 mode</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span>
|
||||
|
||||
<span class="n">pm_pds_mode_enter</span><span class="p">(</span><span class="n">PM_PDS_LEVEL_3</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span> <span class="cm">/*hbn、pds、exti gpio can wakeup*/</span>
|
||||
<span class="n">BL_CASE_SUCCESS</span><span class="p">;</span> <span class="cm">/*level 3 can run here*/</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="kt">int</span> <span class="nf">pds31_enter</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
|
||||
<span class="p">{</span>
|
||||
<span class="kt">int</span> <span class="n">second</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">second</span> <span class="o">=</span> <span class="n">atoi</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
|
||||
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
||||
<span class="n">second</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"gpio wake up case,enter pds31 mode</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span>
|
||||
|
||||
<span class="n">pm_pds_mode_enter</span><span class="p">(</span><span class="n">PM_PDS_LEVEL_31</span><span class="p">,</span> <span class="n">second</span><span class="p">);</span> <span class="cm">/*hbn、pds gpio can wakeup*/</span>
|
||||
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="n">SHELL_CMD_EXPORT</span><span class="p">(</span><span class="n">pds3_enter</span><span class="p">,</span> <span class="n">pds3</span> <span class="n">gpio</span> <span class="n">wakeup</span> <span class="n">test</span><span class="p">)</span>
|
||||
<span class="n">SHELL_CMD_EXPORT</span><span class="p">(</span><span class="n">pds31_enter</span><span class="p">,</span> <span class="n">pds31</span> <span class="n">gpio</span> <span class="n">wakeup</span> <span class="n">test</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>注册进入 pds3 和 pds31 的命令</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="hbn">
|
||||
<h3><span class="section-number">4.3.2. </span>HBN 模式<a class="headerlink" href="#hbn" title="永久链接至标题">¶</a></h3>
|
||||
<ul class="simple">
|
||||
<li><p>软件代码见 <code class="docutils literal notranslate"><span class="pre">examples/pm/hbn_mode_wakeup</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO11_FUNC GPIO_FUN_ADC</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>adc 引脚配置,hbn0 下 acomp 使用,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_lp/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define CONFIG_GPIO12_FUNC GPIO_FUN_WAKEUP</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>hbn 唤醒脚配置,hbn0、hbn1、hbn2 使用,见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_lp/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span>
|
||||
<span class="normal">18</span>
|
||||
<span class="normal">19</span>
|
||||
<span class="normal">20</span>
|
||||
<span class="normal">21</span>
|
||||
<span class="normal">22</span>
|
||||
<span class="normal">23</span>
|
||||
<span class="normal">24</span>
|
||||
<span class="normal">25</span>
|
||||
<span class="normal">26</span>
|
||||
<span class="normal">27</span>
|
||||
<span class="normal">28</span>
|
||||
<span class="normal">29</span>
|
||||
<span class="normal">30</span>
|
||||
<span class="normal">31</span>
|
||||
<span class="normal">32</span>
|
||||
<span class="normal">33</span>
|
||||
<span class="normal">34</span>
|
||||
<span class="normal">35</span>
|
||||
<span class="normal">36</span>
|
||||
<span class="normal">37</span>
|
||||
<span class="normal">38</span>
|
||||
<span class="normal">39</span>
|
||||
<span class="normal">40</span>
|
||||
<span class="normal">41</span>
|
||||
<span class="normal">42</span>
|
||||
<span class="normal">43</span>
|
||||
<span class="normal">44</span>
|
||||
<span class="normal">45</span>
|
||||
<span class="normal">46</span>
|
||||
<span class="normal">47</span>
|
||||
<span class="normal">48</span>
|
||||
<span class="normal">49</span>
|
||||
<span class="normal">50</span>
|
||||
<span class="normal">51</span>
|
||||
<span class="normal">52</span>
|
||||
<span class="normal">53</span>
|
||||
<span class="normal">54</span>
|
||||
<span class="normal">55</span>
|
||||
<span class="normal">56</span>
|
||||
<span class="normal">57</span>
|
||||
<span class="normal">58</span>
|
||||
<span class="normal">59</span>
|
||||
<span class="normal">60</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">hbn0_enter</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">acomp_device_t</span> <span class="n">acomp_device</span><span class="p">;</span>
|
||||
<span class="n">acomp_device</span><span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="n">acomp_device</span><span class="p">.</span><span class="n">pos_ch</span> <span class="o">=</span> <span class="n">ACOMP_CHANNEL_ADC_CHANNEL3</span><span class="p">;</span> <span class="cm">/*from gpio11 adc func*/</span>
|
||||
<span class="n">acomp_device</span><span class="p">.</span><span class="n">neg_ch</span> <span class="o">=</span> <span class="n">ACOMP_CHANNEL_0P375VBAT</span><span class="p">;</span>
|
||||
<span class="n">acomp_device</span><span class="p">.</span><span class="n">pos_hysteresis_vol</span> <span class="o">=</span> <span class="n">ACOMP_HYSTERESIS_VOLT_50MV</span><span class="p">;</span>
|
||||
<span class="n">acomp_device</span><span class="p">.</span><span class="n">neg_hysteresis_vol</span> <span class="o">=</span> <span class="n">ACOMP_HYSTERESIS_VOLT_50MV</span><span class="p">;</span>
|
||||
<span class="n">acomp_init</span><span class="p">(</span><span class="o">&</span><span class="n">acomp_device</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span> <span class="cm">/*delay for acomp*/</span>
|
||||
|
||||
<span class="k">for</span> <span class="p">(</span><span class="kt">uint32_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">30</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"status:%d</span><span class="se">\r\n</span><span class="s">"</span><span class="p">,</span> <span class="n">acomp_get_result</span><span class="p">(</span><span class="o">&</span><span class="n">acomp_device</span><span class="p">));</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"acomp wake up case,enter hbn0 mode</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/** cpu will wakeup when acomp status change</span>
|
||||
<span class="cm"> * please note that if you set gpio9-gpio12 with GPIO_FUN_WAKEUP,it will also wakeup this level</span>
|
||||
<span class="cm"> * rtc can wakeup this level when sleep time do not equal 0</span>
|
||||
<span class="cm"> **/</span>
|
||||
<span class="n">pm_hbn_mode_enter</span><span class="p">(</span><span class="n">PM_HBN_LEVEL_0</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
|
||||
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="kt">int</span> <span class="nf">hbn1_enter</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
|
||||
<span class="p">{</span>
|
||||
<span class="kt">int</span> <span class="n">second</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">second</span> <span class="o">=</span> <span class="n">atoi</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
|
||||
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
||||
<span class="n">second</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"rtc wake up case,enter hbn1 mode</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span>
|
||||
<span class="cm">/** cpu will wakeup when rtc sleep time timeout</span>
|
||||
<span class="cm"> * please note that if you set gpio9-gpio12 with GPIO_FUN_WAKEUP,it will also wakeup this level</span>
|
||||
<span class="cm"> **/</span>
|
||||
<span class="n">pm_hbn_mode_enter</span><span class="p">(</span><span class="n">PM_HBN_LEVEL_1</span><span class="p">,</span> <span class="n">second</span><span class="p">);</span>
|
||||
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="kt">int</span> <span class="nf">hbn2_enter</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"gpio wake up case,enter hbn2 mode</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/*cpu will wakeup when you set gpio9-gpio12 with GPIO_FUN_WAKEUP</span>
|
||||
<span class="cm"> * rtc can not wakeup level2</span>
|
||||
<span class="cm"> **/</span>
|
||||
<span class="n">pm_hbn_mode_enter</span><span class="p">(</span><span class="n">PM_HBN_LEVEL_2</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
|
||||
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>注册进入 hbn0、hbn1、hbn2 的命令</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h2><span class="section-number">4.4. </span>编译和烧录<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h2>
|
||||
<ul>
|
||||
<li><p><strong>CDK 编译</strong></p>
|
||||
<blockquote>
|
||||
<div><p>暂无,用户可以自己添加</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>命令行编译</strong></p></li>
|
||||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span>
|
||||
<span class="normal">3</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_lp <span class="nv">APP</span><span class="o">=</span>pds_mode_wakeup
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_lp <span class="nv">APP</span><span class="o">=</span>hbn_mode_wakeup
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
<li><p><strong>烧录</strong></p>
|
||||
<p>详见 <a class="reference internal" href="../../get_started/bl_dev_cube.html#bl-dev-cube"><span class="std std-ref">BLDevCube 烧录工具指南</span></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id5">
|
||||
<h2><span class="section-number">4.5. </span>实验现象<a class="headerlink" href="#id5" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>首先唤醒脚唤醒方式默认均为下降沿唤醒,所以需要将 GPIO6、GPIO10、GPIO12 引脚外接电阻到 3.3V。</p></li>
|
||||
<li><p>acomp 变化电压阈值在 1.2375V,所以需要使用滑动电阻器,调整到 1.2375V(0.375VBAT)后再使用。</p></li>
|
||||
<li><p>打开终端,并按下 TAB 键可以列出命令。</p></li>
|
||||
<li><p>输入需要执行命令回车即可运行。</p></li>
|
||||
</ul>
|
||||
<p><strong>PDS 模式</strong></p>
|
||||
<div class="figure align-default">
|
||||
<img alt="" src="../../_images/lowpower_pds.gif" />
|
||||
</div>
|
||||
<p><strong>HBN 模式</strong></p>
|
||||
<div class="figure align-default">
|
||||
<img alt="" src="../../_images/lowpower_hbn.gif" />
|
||||
</div>
|
||||
<p>详细测试结果见 <a class="reference external" href="https://dev.bouffalolab.com/media/upload/doc/BL702_BL704_BL706_DS_zh_CN_Combo_1.9.pdf">BL702/704/706 数据手册 page 28</a>。</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../_images/powerTable.png" src="../../_images/powerTable.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
|
||||
<link rel="index" title="索引" href="../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../search.html" />
|
||||
<link rel="next" title="2. Fatfs 文件系统读写" href="fatfs_demo.html" />
|
||||
<link rel="prev" title="10.1. TIMER - 秒中断定时" href="../basic%20samples/timer/timer_interrupt_demo.html" />
|
||||
<link rel="next" title="2. FatFs 文件系统读写(SD 卡)" href="fatfs_demo.html" />
|
||||
<link rel="prev" title="11.1. XIP FLASH - 数据读写" href="../basic%20samples/flash/flash_demo.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
@ -119,6 +119,7 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
|
@ -134,9 +135,9 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="#id7">1.5. 实验现象</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -445,7 +446,7 @@
|
|||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>shell <span class="nv">SUPPORT_SHELL</span><span class="o">=</span>y
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>shell
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
|
@ -469,8 +470,8 @@
|
|||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="fatfs_demo.html" class="btn btn-neutral float-right" title="2. Fatfs 文件系统读写" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../basic%20samples/timer/timer_interrupt_demo.html" class="btn btn-neutral float-left" title="10.1. TIMER - 秒中断定时" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="fatfs_demo.html" class="btn btn-neutral float-right" title="2. FatFs 文件系统读写(SD 卡)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../basic%20samples/flash/flash_demo.html" class="btn btn-neutral float-left" title="11.1. XIP FLASH - 数据读写" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="3.1. CDC - 虚拟串口" href="usbd_cdc.html" />
|
||||
<link rel="prev" title="2. Fatfs 文件系统读写" href="../fatfs_demo.html" />
|
||||
<link rel="prev" title="2. FatFs 文件系统读写(SD 卡)" href="../fatfs_demo.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
@ -119,20 +119,21 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. USB Device 应用</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -208,7 +209,7 @@
|
|||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
|
@ -223,7 +224,7 @@
|
|||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="usbd_cdc.html" class="btn btn-neutral float-right" title="3.1. CDC - 虚拟串口" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../fatfs_demo.html" class="btn btn-neutral float-left" title="2. Fatfs 文件系统读写" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="../fatfs_demo.html" class="btn btn-neutral float-left" title="2. FatFs 文件系统读写(SD 卡)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="4. LowPower 低功耗评估" href="../lowpower_demo.html" />
|
||||
<link rel="next" title="4. Power Management" href="../lowpower_demo.html" />
|
||||
<link rel="prev" title="3.4. VIDEO - 摄像头" href="usbd_video.html" />
|
||||
</head>
|
||||
|
||||
|
@ -119,14 +119,15 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">3. USB Device 应用</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.5. AUDIO - 麦克风</a><ul>
|
||||
|
@ -139,7 +140,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -587,7 +588,7 @@ USB 协议栈可以参考 API 手册下的 USB Stack 章节的说明。</p>
|
|||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../lowpower_demo.html" class="btn btn-neutral float-right" title="4. LowPower 低功耗评估" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../lowpower_demo.html" class="btn btn-neutral float-right" title="4. Power Management" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="usbd_video.html" class="btn btn-neutral float-left" title="3.4. VIDEO - 摄像头" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="3.2. MSC - U 盘" href="usbd_msc.html" />
|
||||
<link rel="next" title="3.2. MSC - U 盘升级" href="usbd_msc.html" />
|
||||
<link rel="prev" title="3. USB Device 应用" href="index.html" />
|
||||
</head>
|
||||
|
||||
|
@ -119,20 +119,21 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">3. USB Device 应用</a><ul class="current">
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -215,7 +216,7 @@
|
|||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="usbd_msc.html" class="btn btn-neutral float-right" title="3.2. MSC - U 盘" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="usbd_msc.html" class="btn btn-neutral float-right" title="3.2. MSC - U 盘升级" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="index.html" class="btn btn-neutral float-left" title="3. USB Device 应用" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="3.4. VIDEO - 摄像头" href="usbd_video.html" />
|
||||
<link rel="prev" title="3.2. MSC - U 盘" href="usbd_msc.html" />
|
||||
<link rel="prev" title="3.2. MSC - U 盘升级" href="usbd_msc.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
@ -119,20 +119,21 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">3. USB Device 应用</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -216,7 +217,7 @@
|
|||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="usbd_video.html" class="btn btn-neutral float-right" title="3.4. VIDEO - 摄像头" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="usbd_msc.html" class="btn btn-neutral float-left" title="3.2. MSC - U 盘" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="usbd_msc.html" class="btn btn-neutral float-left" title="3.2. MSC - U 盘升级" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>3.2. MSC - U 盘 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
<title>3.2. MSC - U 盘升级 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
|
@ -119,20 +119,28 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">3. USB Device 应用</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.2. MSC - U 盘升级</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">3.2.1. 准备工具</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">3.2.2. 硬件连接</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id3">3.2.3. 软件实现</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id4">3.2.4. 编译和烧录</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id5">3.2.5. 实验现象</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_video.html">3.4. VIDEO - 摄像头</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -186,7 +194,7 @@
|
|||
|
||||
<li><a href="index.html"><span class="section-number">3. </span>USB Device 应用</a> »</li>
|
||||
|
||||
<li><span class="section-number">3.2. </span>MSC - U 盘</li>
|
||||
<li><span class="section-number">3.2. </span>MSC - U 盘升级</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
@ -206,7 +214,186 @@
|
|||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="msc-u">
|
||||
<h1><span class="section-number">3.2. </span>MSC - U 盘<a class="headerlink" href="#msc-u" title="永久链接至标题">¶</a></h1>
|
||||
<h1><span class="section-number">3.2. </span>MSC - U 盘升级<a class="headerlink" href="#msc-u" title="永久链接至标题">¶</a></h1>
|
||||
<p>本 demo 主要演示使用 usb 将 xip flash 模拟成 u 盘设备,将其作为一个 BootLoader 使用,用来升级固件。</p>
|
||||
<p>USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。</p>
|
||||
<p>MSC 协议介绍参考 <a class="reference external" href="https://www.usb.org/documents">USB 官方文档</a>。</p>
|
||||
<p>bootloader 我们将其编译后烧录在 flash 0x2000 开始的物理地址,工具默认也是这个地址。</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../../_images/usb_msc.png" src="../../../_images/usb_msc.png" />
|
||||
</div>
|
||||
<p>我们使用 flash 物理地址 0x0000c000 (48K) 开始的地方,用来模拟 u 盘,u 盘大小为 256K(64 个扇区,每个扇区 4KB ),根据文件系统格式,可以知道,数据的地址在 u 盘的第 10 个扇区(0x16000),也即 APP 的入口地址。BootLoader 与 APP 分区表如下:</p>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../../_images/usb_msc2.png" src="../../../_images/usb_msc2.png" />
|
||||
</div>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">3.2.1. </span>准备工具<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>一根 usb 数据线</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">3.2.2. </span>硬件连接<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>内部 flash 不需要额外电路</p></li>
|
||||
<li><p>外部 flash 需要连接 flash 控制器接口</p></li>
|
||||
</ul>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">GPIO</span> <span class="n">function</span> <span class="n">GPIO</span> <span class="n">pin</span>
|
||||
<span class="o">----------------------------------</span>
|
||||
<span class="n">USB_DP</span> <span class="o"><--></span> <span class="n">GPIO7</span>
|
||||
<span class="n">USB_DM</span> <span class="o"><--></span> <span class="n">GPIO8</span>
|
||||
<span class="n">UART0_TX</span> <span class="o"><--></span> <span class="n">GPIO14</span>
|
||||
<span class="n">BOOTLOADER_PIN</span> <span class="o"><--></span> <span class="n">GPIO15</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h2><span class="section-number">3.2.3. </span>软件实现<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>软件代码见 <code class="docutils literal notranslate"><span class="pre">examples/usb/usb_msc_flash_boot</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span>
|
||||
<span class="normal">18</span>
|
||||
<span class="normal">19</span>
|
||||
<span class="normal">20</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cp">#define BLOCK_SIZE 4096</span>
|
||||
<span class="cp">#define BLOCK_COUNT 64</span>
|
||||
<span class="cp">#define FLASH_ADDR 0x0000c000 </span><span class="cm">/*addr start from 48k */</span><span class="cp"></span>
|
||||
<span class="kt">void</span> <span class="nf">usbd_msc_get_cap</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">lun</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="o">*</span><span class="n">block_num</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">block_size</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="o">*</span><span class="n">block_num</span> <span class="o">=</span> <span class="n">BLOCK_COUNT</span><span class="p">;</span>
|
||||
<span class="o">*</span><span class="n">block_size</span> <span class="o">=</span> <span class="n">BLOCK_SIZE</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="kt">int</span> <span class="nf">usbd_msc_sector_read</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">sector</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">length</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">flash_read</span><span class="p">(</span><span class="n">FLASH_ADDR</span> <span class="o">+</span> <span class="n">sector</span> <span class="o">*</span> <span class="n">BLOCK_SIZE</span><span class="p">,</span> <span class="n">buffer</span><span class="p">,</span> <span class="n">length</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="kt">int</span> <span class="nf">usbd_msc_sector_write</span><span class="p">(</span><span class="kt">uint32_t</span> <span class="n">sector</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span><span class="n">buffer</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">length</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="n">flash_erase</span><span class="p">(</span><span class="n">FLASH_ADDR</span> <span class="o">+</span> <span class="n">sector</span> <span class="o">*</span> <span class="n">BLOCK_SIZE</span><span class="p">,</span> <span class="n">BLOCK_SIZE</span><span class="p">);</span>
|
||||
<span class="n">flash_write</span><span class="p">(</span><span class="n">FLASH_ADDR</span> <span class="o">+</span> <span class="n">sector</span> <span class="o">*</span> <span class="n">BLOCK_SIZE</span><span class="p">,</span> <span class="n">buffer</span><span class="p">,</span> <span class="n">length</span><span class="p">);</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>实现 usb msc 需要的底层接口,u 盘大小 256K,flash 物理地址从 0x0000c000 开始。</p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span>
|
||||
<span class="normal">12</span>
|
||||
<span class="normal">13</span>
|
||||
<span class="normal">14</span>
|
||||
<span class="normal">15</span>
|
||||
<span class="normal">16</span>
|
||||
<span class="normal">17</span>
|
||||
<span class="normal">18</span>
|
||||
<span class="normal">19</span>
|
||||
<span class="normal">20</span>
|
||||
<span class="normal">21</span>
|
||||
<span class="normal">22</span>
|
||||
<span class="normal">23</span>
|
||||
<span class="normal">24</span>
|
||||
<span class="normal">25</span>
|
||||
<span class="normal">26</span>
|
||||
<span class="normal">27</span>
|
||||
<span class="normal">28</span>
|
||||
<span class="normal">29</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="n">gpio_set_mode</span><span class="p">(</span><span class="n">GPIO_PIN_15</span><span class="p">,</span> <span class="n">GPIO_INPUT_PD_MODE</span><span class="p">);</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">gpio_read</span><span class="p">(</span><span class="n">GPIO_PIN_15</span><span class="p">))</span> <span class="p">{</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"*************Welcome to usb msc boot,update your app bin*************</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
|
||||
<span class="n">usbd_desc_register</span><span class="p">(</span><span class="n">msc_ram_descriptor</span><span class="p">);</span>
|
||||
<span class="n">usbd_msc_class_init</span><span class="p">(</span><span class="n">MSC_OUT_EP</span><span class="p">,</span> <span class="n">MSC_IN_EP</span><span class="p">);</span>
|
||||
|
||||
<span class="n">usb_fs</span> <span class="o">=</span> <span class="n">usb_dc_init</span><span class="p">();</span>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">usb_fs</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">device_control</span><span class="p">(</span><span class="n">usb_fs</span><span class="p">,</span> <span class="n">DEVICE_CTRL_SET_INT</span><span class="p">,</span> <span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="p">)(</span><span class="n">USB_EP4_DATA_OUT_IT</span> <span class="o">|</span> <span class="n">USB_EP5_DATA_IN_IT</span><span class="p">));</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">usb_device_is_configured</span><span class="p">())</span> <span class="p">{</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
||||
<span class="kt">uint8_t</span> <span class="n">bin_header</span><span class="p">;</span>
|
||||
<span class="n">flash_read</span><span class="p">(</span><span class="n">FLASH_ADDR</span> <span class="o">+</span> <span class="mi">10</span> <span class="o">*</span> <span class="n">BLOCK_SIZE</span><span class="p">,</span> <span class="o">&</span><span class="n">bin_header</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
|
||||
<span class="k">if</span> <span class="p">((</span><span class="n">bin_header</span> <span class="o">==</span> <span class="mh">0x00</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="n">bin_header</span> <span class="o">==</span> <span class="mh">0xff</span><span class="p">))</span> <span class="p">{</span>
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"*************Illegal bin!! Please update your bin*************</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">MSG</span><span class="p">(</span><span class="s">"*************Let's go to application*************</span><span class="se">\r\n</span><span class="s">"</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_delay_ms</span><span class="p">(</span><span class="mi">20</span><span class="p">);</span>
|
||||
<span class="n">bflb_platform_deinit</span><span class="p">();</span>
|
||||
<span class="n">hal_jump2app</span><span class="p">(</span><span class="n">FLASH_ADDR</span> <span class="o">+</span> <span class="mi">10</span> <span class="o">*</span> <span class="n">BLOCK_SIZE</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>配置 GPIO15 作为输入模式,默认拉低,拉高进入 u 盘升级。</p></li>
|
||||
<li><p>如果 GPIO15 为高,则进入 u 盘 升级程序。</p></li>
|
||||
<li><p>如果 GPIO15 为低,则表示不需要升级直接进入 app,此时需要修改内存映射地址,将逻辑地址映射的物理地址(flash offset )从 0x2000 改成实际 app 存储在 flash 的地址为:FLASH_ADDR + 10 * BLOCK_SIZE。</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">hal_jump2app</span></code> 中对物理地址进行了判断,bootloader 程序预留 48K,物理地址小于 4M。</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h2><span class="section-number">3.2.4. </span>编译和烧录<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h2>
|
||||
<ul>
|
||||
<li><p><strong>CDK 编译</strong></p>
|
||||
<blockquote>
|
||||
<div><p>暂无,用户可以自己添加</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>命令行编译</strong></p></li>
|
||||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>usb_msc_flash_boot
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
<li><p><strong>烧录</strong></p>
|
||||
<p>详见 <a class="reference internal" href="../../../get_started/bl_dev_cube.html#bl-dev-cube"><span class="std std-ref">BLDevCube 烧录工具指南</span></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id5">
|
||||
<h2><span class="section-number">3.2.5. </span>实验现象<a class="headerlink" href="#id5" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>将 GPIO15 拉高,然后使用 USB 数据线插到电脑上,识别出一个 U 盘。</p></li>
|
||||
<li><p>将编译的 APP bin 文件拖入 U 盘。</p></li>
|
||||
<li><p>拔下 USB ,拉低 GPIO15,供电以后进入 APP 。</p></li>
|
||||
</ul>
|
||||
<div class="figure align-default">
|
||||
<img alt="../../../_images/usb_msc3.gif" src="../../../_images/usb_msc3.gif" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -119,14 +119,15 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../basic%20samples/flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">3. USB Device 应用</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_cdc.html">3.1. CDC - 虚拟串口</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_msc.html">3.2. MSC - U 盘升级</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="usbd_hid.html">3.3. HID - 键盘&鼠标</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">3.4. VIDEO - 摄像头</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">3.4.1. 准备工具</a></li>
|
||||
|
@ -139,7 +140,7 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="usbd_audio.html">3.5. AUDIO - 麦克风</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -309,12 +310,8 @@
|
|||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>使用到的 GPIO 配置见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/pinmux_config.h</span></code>,默认提供了该 demo 的引脚配置</p></li>
|
||||
<li><p>使用到的 GPIO 配置见 <code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/pinmux_config.h</span></code></p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">注解</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">bsp/board/bl706_avb/pinmux_config.h</span></code> 当前给所有的示例 demo 使用,所以,需要先选定 <code class="docutils literal notranslate"><span class="pre">PINMUX_SELECT</span></code> 为 <code class="docutils literal notranslate"><span class="pre">PINMUX_UVC</span></code>,开启 UVC demo</p>
|
||||
</div>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -0,0 +1,327 @@
|
|||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="zh-CN" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>11.1. XIP FLASH - 数据读写 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
|
||||
<script src="../../../_static/jquery.js"></script>
|
||||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/translations.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="1. Shell 命令行调试" href="../../advance%20samples/shell_demo.html" />
|
||||
<link rel="prev" title="11. XIP FLASH 示例" href="index.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../../index.html" class="icon icon-home"> BL_MCU_SDK 开发指南
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
0.3
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">快速开发指南</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/get_started.html">1. 开发前的准备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/connecting_hardware.html">2. 硬件连接指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">3. 开发环境搭建指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/cmake_quick_start.html">4. 基于 cmake 框架新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/cdk_new_project_quick_start.html">5. 基于 CDK 新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/bl_dev_cube.html">6. BLDevCube 烧录工具指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/board.html">7. Board 配置系统使用指南</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">API 手册</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/api_overview.html">1. API 概述</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/peripheral/index.html">2. Peripheral</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/shell/api_shell.html">3. Shell</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/usb%20stack/api_usb_stack.html">4. USB Stack</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/bluetooth/api_ble.html">5. BLE</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">基础外设例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../gpio/index.html">1. GPIO 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../uart/index.html">2. UART 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../pwm/index.html">3. PWM 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../mtimer/index.html">4. MTIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../dma/index.html">5. DMA 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../spi/index.html">6. SPI 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../i2c/index.html">7. I2C 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. XIP FLASH 示例</a><ul class="current">
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.1. XIP FLASH - 数据读写</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id1">11.1.1. 硬件连接</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id2">11.1.2. 软件实现</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id3">11.1.3. 编译和烧录</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id4">11.1.4. 实验现象</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../../index.html">BL_MCU_SDK 开发指南</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="index.html"><span class="section-number">11. </span>XIP FLASH 示例</a> »</li>
|
||||
|
||||
<li><span class="section-number">11.1. </span>XIP FLASH - 数据读写</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../../../_sources/samples/basic samples/flash/flash_demo.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="xip-flash">
|
||||
<h1><span class="section-number">11.1. </span>XIP FLASH - 数据读写<a class="headerlink" href="#xip-flash" title="永久链接至标题">¶</a></h1>
|
||||
<p>本 demo 主要演示 xip flash 基本的数据读写功能。</p>
|
||||
<div class="section" id="id1">
|
||||
<h2><span class="section-number">11.1.1. </span>硬件连接<a class="headerlink" href="#id1" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>内部 flash 不需要额外电路</p></li>
|
||||
<li><p>外部 flash 需要连接 flash 控制器接口</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id2">
|
||||
<h2><span class="section-number">11.1.2. </span>软件实现<a class="headerlink" href="#id2" title="永久链接至标题">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>软件代码见 <code class="docutils literal notranslate"><span class="pre">examples/flash/flash_rw</span></code></p></li>
|
||||
</ul>
|
||||
<div class="highlight-C notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="cm">/* erase 0x00010000 16k flash */</span>
|
||||
<span class="n">flash_erase</span><span class="p">(</span><span class="mh">0x00010000</span><span class="p">,</span> <span class="mi">16</span> <span class="o">*</span> <span class="mi">1024</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/* write 0x00010000 flash data */</span>
|
||||
<span class="n">flash_write</span><span class="p">(</span><span class="mh">0x00010000</span><span class="p">,</span> <span class="n">writeTestData</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">writeTestData</span><span class="p">));</span>
|
||||
|
||||
<span class="n">memset</span><span class="p">(</span><span class="n">readTestData</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">256</span><span class="p">);</span>
|
||||
|
||||
<span class="cm">/* read 0x00010000 flash data */</span>
|
||||
<span class="n">flash_read</span><span class="p">(</span><span class="mh">0x00010000</span><span class="p">,</span> <span class="n">readTestData</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">readTestData</span><span class="p">));</span>
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul class="simple">
|
||||
<li><p>擦除 flash 物理地址 0x00010000 开始的 16K 内容</p></li>
|
||||
<li><p>从flash 物理地址 0x00010000 开始写入用户数据</p></li>
|
||||
<li><p>从flash 物理地址 0x00010000 开始读取用户数据</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id3">
|
||||
<h2><span class="section-number">11.1.3. </span>编译和烧录<a class="headerlink" href="#id3" title="永久链接至标题">¶</a></h2>
|
||||
<ul>
|
||||
<li><p><strong>CDK 编译</strong></p>
|
||||
<p>打开项目中提供的工程文件:flash_rw.cdkproj</p>
|
||||
<p>参照 <a class="reference internal" href="../../../get_started/Windows_quick_start_cdk.html#windows-cdk-quick-start"><span class="std std-ref">Windows 下使用 CDK (类 MDK Keil)开发指南</span></a> 的步骤编译下载即可</p>
|
||||
</li>
|
||||
<li><p><strong>命令行编译</strong></p></li>
|
||||
</ul>
|
||||
<div class="highlight-bash notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div class="highlight"><pre><span></span> $ <span class="nb">cd</span> <sdk_path>/bl_mcu_sdk
|
||||
$ make <span class="nv">BOARD</span><span class="o">=</span>bl706_iot <span class="nv">APP</span><span class="o">=</span>flash_rw
|
||||
</pre></div>
|
||||
</td></tr></table></div>
|
||||
<ul>
|
||||
<li><p><strong>烧录</strong></p>
|
||||
<p>详见 <a class="reference internal" href="../../../get_started/bl_dev_cube.html#bl-dev-cube"><span class="std std-ref">BLDevCube 烧录工具指南</span></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="id4">
|
||||
<h2><span class="section-number">11.1.4. </span>实验现象<a class="headerlink" href="#id4" title="永久链接至标题">¶</a></h2>
|
||||
<p>打开串口,如果显示 case success 表示读写成功,否则读写错误</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../../advance%20samples/shell_demo.html" class="btn btn-neutral float-right" title="1. Shell 命令行调试" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="index.html" class="btn btn-neutral float-left" title="11. XIP FLASH 示例" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© 版权所有 2021, BouffaloLab Co., Ltd.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,260 @@
|
|||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="zh-CN" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>11. XIP FLASH 示例 — BL_MCU_SDK 开发指南 0.3 文档</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
|
||||
<script src="../../../_static/jquery.js"></script>
|
||||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/translations.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="11.1. XIP FLASH - 数据读写" href="flash_demo.html" />
|
||||
<link rel="prev" title="10.1. TIMER - 秒中断定时" href="../timer/timer_interrupt_demo.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../../index.html" class="icon icon-home"> BL_MCU_SDK 开发指南
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
0.3
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">快速开发指南</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/get_started.html">1. 开发前的准备</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/connecting_hardware.html">2. 硬件连接指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">3. 开发环境搭建指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/cmake_quick_start.html">4. 基于 cmake 框架新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/cdk_new_project_quick_start.html">5. 基于 CDK 新建工程指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/bl_dev_cube.html">6. BLDevCube 烧录工具指南</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/board.html">7. Board 配置系统使用指南</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">API 手册</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/api_overview.html">1. API 概述</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/peripheral/index.html">2. Peripheral</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/shell/api_shell.html">3. Shell</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/usb%20stack/api_usb_stack.html">4. USB Stack</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../../api_reference/bluetooth/api_ble.html">5. BLE</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">基础外设例程</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../gpio/index.html">1. GPIO 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../uart/index.html">2. UART 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../pwm/index.html">3. PWM 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../mtimer/index.html">4. MTIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../dma/index.html">5. DMA 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../spi/index.html">6. SPI 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../i2c/index.html">7. I2C 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">11. XIP FLASH 示例</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="flash_demo.html">11.1. XIP FLASH - 数据读写</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../../index.html">BL_MCU_SDK 开发指南</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><span class="section-number">11. </span>XIP FLASH 示例</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../../../_sources/samples/basic samples/flash/index.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="xip-flash">
|
||||
<h1><span class="section-number">11. </span>XIP FLASH 示例<a class="headerlink" href="#xip-flash" title="永久链接至标题">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flash_demo.html">11.1. XIP FLASH - 数据读写</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="flash_demo.html" class="btn btn-neutral float-right" title="11.1. XIP FLASH - 数据读写" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../timer/timer_interrupt_demo.html" class="btn btn-neutral float-left" title="10.1. TIMER - 秒中断定时" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© 版权所有 2021, BouffaloLab Co., Ltd.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -129,13 +129,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -129,13 +129,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -123,13 +123,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -135,13 +135,14 @@
|
|||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -130,13 +130,14 @@
|
|||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -135,13 +135,14 @@
|
|||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -124,13 +124,14 @@
|
|||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -123,13 +123,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -129,13 +129,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -129,13 +129,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="timer_interrupt_demo.html">10.1. TIMER - 秒中断定时</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
<link rel="index" title="索引" href="../../../genindex.html" />
|
||||
<link rel="search" title="搜索" href="../../../search.html" />
|
||||
<link rel="next" title="1. Shell 命令行调试" href="../../advance%20samples/shell_demo.html" />
|
||||
<link rel="next" title="11. XIP FLASH 示例" href="../flash/index.html" />
|
||||
<link rel="prev" title="10. TIMER 示例" href="index.html" />
|
||||
</head>
|
||||
|
||||
|
@ -127,13 +127,14 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
@ -350,7 +351,7 @@
|
|||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../../advance%20samples/shell_demo.html" class="btn btn-neutral float-right" title="1. Shell 命令行调试" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../flash/index.html" class="btn btn-neutral float-right" title="11. XIP FLASH 示例" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="index.html" class="btn btn-neutral float-left" title="10. TIMER 示例" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -122,13 +122,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|
|
@ -128,13 +128,14 @@
|
|||
<li class="toctree-l1"><a class="reference internal" href="../i2s/index.html">8. I2S 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../adc/index.html">9. ADC 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../timer/index.html">10. TIMER 示例</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../flash/index.html">11. XIP FLASH 示例</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">进阶例程</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/shell_demo.html">1. Shell 命令行调试</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. Fatfs 文件系统读写</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/fatfs_demo.html">2. FatFs 文件系统读写(SD 卡)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/usb/index.html">3. USB Device 应用</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. LowPower 低功耗评估</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/lowpower_demo.html">4. Power Management</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/boot2_iap_info.html">5. BOOT2 IAP</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/ble_scan_demo.html">6. BLE 客户端和服务端互连</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../advance%20samples/emac/index.html">7. EMAC 以太网应用</a></li>
|
||||
|
|