BLE Mesh keil5 工程说明

keil5 工程位置

../_images/sdk_keil5_prj.png

keil5 工程环境说明

../_images/sdk_keil5_prj2.png
  • Keil 5 环境下各个目录的含义和介绍,如下表所示:
目录 目录介绍
Application 本例程应用下,用户自己需要实现并修改的应用代码文件
Config sdk中,跑本例程应用需要配置的参数文件
Device_manager 各种密钥和地址,以及掉电存储相关的文件
Model 各种model的实现相关文件
Freertos Freertos 相关的源代码
Core mesh内核实现以及ble内核相关
Gatt mesh gatt相关的实现
Integration 芯片平台下系统级驱动实现
Peripheral 芯片平台下应用级驱动实现
Tools sdk 实现过程中的,各种公用软件工具相关文件
Lib sdk 核心实现的库文件
  • Keil 5 工程配置

    • 宏声明和路径包含

      ../_images/sdk_keil5_prj3.png

      keil5 环境中声明的宏,对应 bx_app_config.h中的宏定义,(bx_app_config.h里面的宏,用户自己默认是无需修改的)例如:

      #ifdef B_APP_MESH_PROVISIONER_CONFIG_CLIENT
            #define OSAPP_MESH                                                  1       //enable mesh
            #define configTOTAL_HEAP_SIZE                                       ((size_t) ( 13* 1024 ) )
            #define DEEP_SLEEP_ENABLE                                           {0}     //disable sleep
            #define ENABLE_ADV_PAYLOD_31BYTE_PATCH                              1       //adv payload data max len 31byte
      #endif/*B_APP_MESH_PROVISIONER_CONFIG_CLIENT*/
      
    • 下载脚本配置

      ../_images/sdk_keil5_prj4.png
      • 3.3v flash 需要把图中字符串中的 prog_1v8.bat 设置成 prog_3v3.bat
      • 1.8v flash 默认keil5 环境中配置 prog_1v8.bat 就好
    • 编译生成的hex 文件和 bin文件位置

      ../_images/sdk_keil5_prj5.png
      • hex 用于直接烧录
      • bin 用于无线升级(后续支持)

keil5 工程环境下 Application 目录下用户代码详解

  • mesh_app.c 和 mesh_app.h
    用户应用用到的model实例化以及model相关的回调事件通知处理 【必须存在,不能修改文件名,库里会有相关引用】
  • mesh_user_main.c 和 mesh_user_main.h
    用户应用初始化入口,用户的自己参数初始化,硬件配置初始化可以放在这里执行 【必须存在,不能修改文件名,库里会有相关引用】
  • mesh_app_hal.c
    用户应用硬件相关的动作逻辑处理实现 【用户可以任意修改】
  • 其他例程相关的 .c 和 .h 文件
    用户应用示例逻辑相关文件 【用户可以任意修改】