分类:stm32

STM32CubeMx

STM32CubeMx 是一个STM32的图形化配置工具,可以作为STMCube 工具独立使用,也可以作为Eclipse的插件。主要包含以下主要工功能:

  • 覆盖所有STM32的选型;
  • 所有ST官方开发板选择;
  • 快速配置(引脚、时钟、外设、和中间件软件)以及产生相应的C代码;
  • 通过先前的配置快速切换选型;
  • 轻松导出到兼容的配置到兼容MCU;
  • 产生配置报告;
  • 通过选择IDE生产对应工程代码;
  • 功耗计算;
  • File->New Project我们需要知道指定芯片具体型号和封装,例如我们这里的STM32F103RDT6 LQFP64。
  • Pinout
  • Clock Configuration设置时钟源
  • 设置低速时钟源(LSE LSI)LSE:The low speed external clock signal LSI:The low speed internal clock signal 从图我们可以看出,低速时钟源主要为RTC和独立看门狗提供时钟系统。其中RTC时钟源可以选择HSE_RTC 也就是HSE高速外部时钟128分频和来自外部低速时钟LSE和内部RC振荡器LSI RC。
  1. 设置高速时钟源(HSE、HSI)HSE:The high speed external clock signal HSI:The high speed internal clock signal 其中HSE可以选择外部高速晶振和外部高速时...

stm32cube programmer

官方产品介绍页面

初次使用ST-Link需要安装驱动, 如果已经安装过Keil或者STM32CubeProgrammer 会自动安装驱动。打开设备设备管理器(Win+R 键入devmgmt.msc)确定。

如果显示未知设备,需要手动安装驱动。驱动路径在C:\Keil_v5\ARM\STLink\USBDriver C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\Drivers\stsw-link009_v3。

按照以下接口依次一一对应仿真器连接。

直接在ST 官网下载 Flash 烧写工具 STM32CubeProgrammer 安装,需要Java 环境,如果未安装,会自动跳转到下载页面提示安装。

  • 双击打开软件,提示Not connected 点击 Connect(确认已经正常连接仿真器和IC)

    成功连接设备后提示Conneceted.

  • 按照以下步骤依次点击,勾选。

    1、选择 Erasing &programming 按钮;

    2、点击Browse 找到我们需要烧写的固件(通常为* .bin、*.hex、*.axf);

    3、勾选Verify progrmming(可选);

    4、Full chip erase(全部擦出一次,可选);

    5、Start Programming (开始编程);

    6、弹出和LO...

Logical Link Control and Adaptation Layer Protocol (L2CAP)

L2CAP 运行在 HCI 之上的 Host ,实现 Host 更高层(GAP、GATT、APP)和低层协议栈之间传输数据。

该层负责在 Host 和协议栈之间把交换的数据进行分割( segmentation )和重组( reassembly )以提供协议的多路处理能力。L2CAP 允许更高级别的协议和应用程序发送和接收高达 64KB(实际受限于蓝牙设备实际内存)的上层数据包(L2CAP 服务数据单元,SDU)。

图1. L2CAP 层数据传输示意图

蓝牙低功耗协议栈支持在链路层将 L2CAP PDU 分割( segmentation )和重组( reassembly )。这种分段允许 L2CAP 和构建在 L2CAP 之上的更高级协议(如属性协议 ATT )使用更大的有效负载,从而减少与较大数据传输不断拆分开销。当使用分片时,较大的数据包直接被分割成多个链路层数据包,并由对等设备的链路层重新组合。

图2. L2CAP 分割重组数据包

L2CAP PDU 的大小决定了属性协议最大传输单元( Attribute Protocol Maximum Transmission Unit ( ATT_MTU ))。默认情况下,LE 设备 L2CAP PDU 的大小为 27 字节,意味着在单个连接事件数据包可以传输的 LE 数据包的最大字节。在这种情况下,L2CAP 协议头为 4 字节,ATT_MTU...