zephyr代码同步说明
隔段时间需要和zephyr项目同步代码。
代码获取
主要同步release分支的代码。Releases · zephyrproject-rtos/zephyr (github.com)
代码格式化
代码风格两边并不相同,需要统一格式化。
拷贝:scriptscode_format_zephyr.py到根目录。
拷贝:.clang-format到根目录。
运行code_format_zephyr.py脚本。
代码比对并同步
利用比较工具同步代码。
zephyr中的subsysbluetooth目录和zephyr_polling中的src目录进行比较。
zephyr中的includezephyrbluetooth目录和zephyr_polling中的srcbluetooth目录进行比较。
代码修改说明
部分代码的编译开关zephyr是放在cmake中,而我们是直接通过在代码用#ifdef来开关。
经典蓝牙部分的代码不合入。
.h文件必须加入#ifdef声明
bt_hci_cmd_send_sync都切换为bt_hci_cmd_send
net_buf_pool切换为spool
irq_lock相关处理移除
STRUCT_SECTION_FOREACH展开
log模块统一管理。
net_buf_pool_get换成s_pool
CONFIG_BT_SETTINGS相关的settings_load处理不需要在enable之后。
keys.c的管理换成kv结构。
gatt sc相关先关闭,后续再开启。
gatt初始化行为调整。
gatt ccc相关先关闭。
att的eatt相关先关闭。
buffer管理相关先关闭。