KDocs 研发资料库
  • IOT(BLE-AD-MCU)资料链接入口汇总
  • BLE硬件设计指南
  • BLE 认证汇总
  • AD系列入门到进阶开发指导文档
  • AC75开发指导文档
  • AW31开发指导文档
  • AW33开发指导文档
  • AC63NN开发指导文档
  • HID相关资料入口
  • HID问题汇总

AW33开发指导文档

📎 原始文档:https://www.kdocs.cn/l/chRjVb6qHxm5 AW33开发指导文档

📌重要链接

gitee仓库https://gitee.com/Jieli-Tech/ 还没上传
项目文档https://doc.zh-jieli.com/AW33/zh-cn/master/ 还没上传
淘宝店铺https://shop321455197.taobao.com/ 还没上架
问题汇总https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues 还没上传
生产指导https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I6WEXZ
开源社区钉钉交流群:群号:90400000565

📌发布资料

公版sdk下载链接AW33N_sdk_release_v1.0.1-附带工具.zip
AW33N_sdk_release_v1.0.0.rar 有重大问题,不能再用
原理图跟规格书SDK里有:AW33N_sdk_release_v1.0.1\docs\硬件资料\
硬件设计指南AW31N硬件设计指南V1.0.pdf
BLE硬件设计指南
寄存器说明手册SDk里有:AW33N_sdk_release_v1.0.1\docs\AW33N用户手册V1.0.pdf
key文件跟632和AW31不一样,用ckey,需要重新申请

📌补丁

补丁等级说明
A 类:问题修复,客户必须修复
B 类:性能优化,客户可选择修复
C 类:功能增加,客户可选择

日期补丁下载链接等级、说明适用sdk
20260618AW33N_sdk_release_v1.0.1_补丁patch1_20260618.zipA级,必须升级SDK只用于101版本
20260410AW33N_sdk_release_v1.0.1-附带工具.zipA级,必须升级SDK公版sdk
20260410AW33N_sdk_release_v1.0.0版本禁止使用-未出补丁停用

📌demo程序

基于AW33N_sdk_release_v1.0.1修改的demo
基于AW33N_sdk_release_v1.0.0修改的demo不能直接使用demo,需要自行同步修改代码到新的sdk
普通定时器gptimer-pwmAW33N_sdk_release_v1.0.0-gptimer-pwm.zip
普通定时器gptimer捕获IO中断AW33N_sdk_release_v1.0.0-gptimer-isr--定时中断--IO捕获中断.zip
电容笔PWMAW33N_sdk_release_v1.0.0_pll_gptimer-471k-458k-pwm.zip
抖音翻页器-缩放做法aw33n_sdk_v1.0.0_beta20251212_1820-tiktok_keypage(缩放做法).zip
抖音翻页器-鼠标做法aw33n_sdk_v1.0.0_beta20251212_1820_tiktok_keypage(鼠标做法).zip

demo程序使用方式:demo程序使用方式

  1. 开发工具及环境
  2. IDE编译器安装 下载链接:https://doc.zh-jieli.com/Tools/zh-cn/other_info/index.html
    image 至少需要安装这3个。
    相关链接:
    IOT-AC630N: AC630N系列问题、demo、工具等整理汇总
    AC630N系列问题、demo、工具等整理汇总
    先安装 codeblock 编辑器、再安装 工具链、最后安装包管理器。
  3. 开发板 淘宝店购买链接:还没上架
    https://item.taobao.com/item.htm?id=817701311470&spm=a21xtw.29178619.0.0&pisk=gGd-AZ_nqmmup7ORoUk0KOW2SvuD9xYPM38_tMjudnKvR3slxg6CGZ_GWaa7Ne_C9ntnzgYI4Hddc_6eEMjlv6LeXqmisfYyz65SjccgKVA11__5AgNIRi_FWqb7OUwgj65Ijc20OTlOT3gRL-27hZsVJwN5FH6jGwSfPaNBAi6f5Nq5OHtCcr_1R8wQOg_jGi75PuN5Ossf-wFQV6tBlqQ1cM1CFHTjNxodczs39dlVXn8oZZVQOIQRhxY5cPfJGaIAXUO8_5JFyTI6PinSw6tVheWpTyPdpU9wYNt7VDIeMEOWChi0Eg9OJFvpPbNfZQ8WC9OsYJTPZgCXNdUQOECRqHddBunAfQ8X_s6m1VLXg3YyMe4IOZxGcUR59fgNw_s5MZRn07sphpOlU6rSvMRvlQ9d4LOM6RxbjGQ3Fq3YLJW5ucnG8LkcP_uAkG0-9JyF3q7Ajq78LJWXTZIioM2ULtXf.
    image
  4. 下载工具(强制升级工具V4.1) 淘宝店铺购买链接:
    https://item.taobao.com/item.htm?id=620295020803&spm=a21xtw.29178619.0.0&pisk=g2hEba02wBdFFZrLKfNP3EjzPANLO7-X8bZ7r40uRkq3Abirrz47-_43-5Agol1WJW98a0rZ2kwQtbkOaq3-OeFWJW3Lw7xXcIGrJ2F-RIpiTXyMsz0GZyVkC5bgfts9cIOjJp4LNVxjNpoT5yafZ723ElVgXz_3q023IlqTyzj3r6Yw7lURqMVu-Obgrrb3Zz2oSR4Quu4uZ_0gjlUuZ_muZFPgXzcRV20l_rwHPeaylMjPXRqm-l5lgZUUKXdYX_bEsyuaX20RZ_ca8JliL0vXeJMok-hIzQ5TOqkgszlJoTrz3YcQsXxMiReosc4iAU687YuoMWedy_n4T0ymtR7lwWVu45ziiU6YffrIqXyMlsy7sjw0tA99A8NUu0cKYa5omVgj9Rhy0Gq-drFgzbLcUuyl4YS8SyxZwvSlUJ4T7oTw72HJhxFlzhZGeTegMPrXRy6ReJTU7oTFgTB8p3Uaceph.
    image 外壳可以拆开,里面有拨开开关
    image 使用说明:https://doc.zh-jieli.com/Tools/zh-cn/dev_tools/forced_upgrade/index.html
    image
  • AW31下载说明:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/I9JB33
  • 无法下载时检查方式:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/IAHLFF
  • 调试打印:https://gitee.com/jieli-tech_fae/IOT-AC630N/blob/master/doc/software/%E5%85%A5%E9%97%A8/%E4%B8%8B%E8%BD%BD%E8%B0%83%E8%AF%95%E8%AF%B4%E6%98%8E.md
  1. 打印工具 自己网上购买 CH340的USB转串口工具,不要使用下载工具去当串口工具使用。
    https://item.taobao.com/item.htm?ut_sk=1.ZcWApDDHvFMDAGRCA8Q2Jk5J_21380790_1747719929576.Copy.1&id=522571378803&sourceType=item&price=4.8&suid=0B769916-5BB8-4A47-8776-7358C99E161F&shareUniqueId=31666222863&un=2d22a0165b9e67c9bbeeeafdb2768e28&share_crt_v=1&un_site=0&spm=a2159r.13376460.0.0&wxsign=tbwBfLXARYXDDGWri0MwQU8yeR1tE9MI7KaRjNG32wjoGDB8Lm1-8zHmkeL4Ii3YO_faIytrDO4sRR6xYpfAq2R53zPRYs28DhVFMRw9vaW2ldOIPdhhtpZ39AfvTYhdEFt&tbSocialPopKey=shareItem&sp_tk=QndWOFZRUWFoclc%3D&cpp=1&shareurl=true&short_name=h.6tP4jV1mrYJEsh7&bxsign=scdcIkCo5ZEjofIJBwHAYKDLqOYVn04NO3F-Y2FDos7lwucM4iQcabmEE_24MScefxzUFlo4rYtcZhiwt3LTl9BAx2Xy1wNfLdxdUna9wOvETZlje2xDFZyWcNSAPTj-PRp&tk=BwV8VQQahrW&app=chrome
    imageimage
  2. 烧录工具 量产烧录器有2种:一拖二烧录器、一拖八烧录器,均没有开源淘宝店购买链接,只能联系杰理代理商购买。
  3. 一拖二烧录器 image 一拖二烧录器使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo2/index.html
    烧录报错:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo2/status_errors.html#id12
  4. 一拖八烧录器 image 一拖八烧录器使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo8/index.html
    烧录报错:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo8/status_errors.html#targe-1tuo8-ldc-show-err
  5. 烧录座子 烧录座子没有开源淘宝购买链接,只能联系杰理代理商购买。
    每个型号都是独立的座子,不能混用。
    image
  6. 测试工具
  7. 杰理测试盒 image 淘宝购买链接:
    https://item.taobao.com/item.htm?id=620942507511&spm=a21xtw.29178619.0.0&pisk=g1_rbf1aJzUyIZvJqZTEb5v3xLTJyey_aw9Bt6fHNLvkFw6FtBABZ2AkZE4DsKgQwUZp89JVpLtWrwSx81CdP7LQwUCJJe2_CP_Fw_Lp_bExualciCfmq0Y3cEcDhcMYCPa1wuAJRs21RuufNQOs-exkxKYDHBGkK9xlimvv9BDkt4V4gKdEEpAkKEfDwCuH-BxhirA9O0vnrQYDoKdH-pXH-S8DHBc7F_fnuCtuO7tzRkkB_3JGZKuNMZRk70Cy3DnCui-yIO9q-2b2a68w__3aAdj9Fh9Gnrgy8sAF3hszQ4WFt1IH0wkuNOXcY9AADJoeQMf5XZtjt0fV8L-GrnlL11Yet9xFDRu6aUs2baS89xflCLSMy6GaFs-N0hdDmXokPG11JhbuzApXXBW2fgyZzOjyZvdDZ-7d4vmeqId2CSPVwME1XecUhKmKvnY9gdNWNDnpV_O2C7uZvDK-LIJ_wuf..
    一拖二杰理测试盒使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/testbox_1tuo2/index.html
    校正频偏用法说明:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAG6JT
    OTA升级用法说明:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I7FRNK
    测试按键用法说明:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I7T4RC
  8. 芯片封装型号 已知型号,信息可能不全,具体需要跟商务确认,是否还在正常出货中
型号封装容量状态IO数量
AW336AQFN32(4x4)AW336A0/AW336A2/AW336A4/AW336A8出货中usb+18个gpio
AW333AQFN20(3x3)AW333A2/AW333A4/AW333A8出货中usb+13个gpio
AW332ASOP16AW332A2/AW332A4出货中usb+8个gpio
AW338ASOP8AW338A2/AW338A4出货中usb+1个gpio

注意:AW332A和AW338A,会比 AW333A和AW336A功耗大一点。
imageimage 8. 典型功耗数据 不同封装型号,不同硬件设计板子,不同环境,不同手机,测试条件下,会有微小差异。
image

  1. 芯片型号测试板 很多型号没有,一般用烧录座子测试。
    有的也不外卖,很多代理商会自行设计,建议联系代理商购买,或者自行设计。
  2. 相关工具
  3. ckey文件--芯片加密 ckey文件和烧录器绑定,用于芯片代码加密。ckey文件和烧录器,都只能跟杰理代理商获取。
  • 开发板,和未经烧录器烧录的芯片,都处于未加密的状态,下载的代码是不加密的。下载的代码不能加-key。
  • 强制升级工具,下载程序,是无法对芯片进行加密的,只能校验芯片是否加密了。
  • 一旦芯片用一拖二或一拖八烧录器,烧录后,芯片就加密了。下载代码就需要添加对应的-key。
  • 芯片只能加密一个key,加密后是无法修改成其他的key。
  • 不同代理商的key文件,都是不一样的,无法混用和修改的。
  • 已加密的芯片,是无法获取加密哪个key的。
  • 外发的烧录文件,必须加-key编译生成的,烧录器才能识别。 image
  1. 固件授权工具 没有开放下载,一般是找杰理代理商获取。
    可以限制外发的fw烧录固件,烧录次数,避免客户可以无限制烧录。
    imageimage

  2. 固件升级工具 imageimageimage

  3. 校验码查看工具 imageimageimageimage

  4. demo程序使用方式 imageimage 将修改点,移植到自己的程序上即可。

  5. 硬件设计

  6. 电源

  7. VPWR和IOVDD VPWR和IOVDD,千万不能短接。
    锂电池、USB 5V、3节干电池 等,接入VPWR引脚。
    2节干电池、LDO 3.3V等,接入IOVDD引脚供电,VPWR悬空。

  8. 纽扣电池 纽扣电池产品必须选择AW33系列,不要选择AC632和AW31。
    AC632和AW31系列蓝牙峰值电流超过20mA,无法彻底耗尽纽扣电池电量。
    常见纽扣电池型号规格参数:

电池型号标称电压标称容量工作电流连续电流脉冲电流尺寸:直径*厚度重量
CR30323V550mAh0.2mA3.0mA20mA30.0mm*3.2mm6.8g
CR24773V950mAh0.2mA3.0mA20mA24.5mm*7.7mm9.9g
CR24503V550mAh0.2mA3.0mA20mA24.5mm*5.0mm5.8g
CR24303V270mAh0.2mA3.0mA20mA24.5mm*3.0mm4.3g
CR24123V90mAh0.1mA1.0mA15mA24.5mm*1.2mm2.2g
CR23543V530mAh0.2mA3.0mA20mA23.0mm*5.4mm6.3g
CR23353V300mAh0.2mA3.0mA20mA23.0mm*3.5mm4.2g
CR23303V260mAh0.2mA2.0mA20mA23.0mm*3.0mm3.7g
CR23253V190mAh0.2mA2.0mA20mA23.0mm*2.5mm3.2g
CR23203V130mAh0.2mA2.0mA20mA23.0mm*2.0mm2.7g
CR20323V210mAh0.2mA2.0mA20mA20.0mm*3.2mm3.0g
CR20253V150mAh0.2mA2.0mA20mA20.0mm*2.5mm2.5g
CR20163V75mAh0.1mA1.0mA15mA20.0mm*1.6mm1.7g
CR16323V120mAh0.1mA1.0mA15mA16.0mm*3.2mm1.8g
CR16203V70mAh0.1mA1.0mA10mA16.0mm*2.0mm1.2g
CR16163V50mAh0.1mA1.0mA10mA16.0mm*1.6mm1.1g
CR12253V50mAh0.1mA1.0mA5mA12.5mm*2.5mm0.9g
CR12163V25mAh0.1mA1.0mA5mA12.0mm*1.6mm0.7g
CR10253V30mAh0.1mA1.0mA5mA10.0mm*2.5mm0.6g
CR12203V38mAh0.1mA1.0mA5mA12.0mm*2.0mm0.8g
  1. 生产相关
  2. 生产--烧录--测试指引 相关链接:
    fw-AC63_BT_SDK: Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
    Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
  3. 烧录器 详细介绍:烧录工具
  4. 一拖二烧录配置
  5. 一拖八烧录配置
  6. 产测工具
  7. 测试盒 详细介绍:测试工具
  8. SDK介绍
  9. 芯片资源介绍
  10. ram 芯片总RAM大小为56K,细分为:
  • 拥有52K字节RAM
  • 拥有4K字节ICACHE缓存空间 SDK各种常用功能配置下,剩余ram资源大小:
    AW33N_sdk_release_v1.1.0各种基础功能应用:
功能集剩余ram
单server27848 Bytes(nv_ram_remain: 0x6CC8)
单server+低功耗11280 Bytes(nv_ram_remain: 0x2C10)
单server+低功耗+测试盒9704 Bytes(nv_ram_remain: 0x25E8)
单server+低功耗+测试盒+app_ota7008 Bytes(nv_ram_remain: 0x1B60)
单client26136 Bytes(nv_ram_remain: 0x6618)
单client+低功耗9888 Bytes(nv_ram_remain: 0x26A0)
单server+单client8312 Bytes(nv_ram_remain: 0x2078)
单server+单client+app_ota6884 Bytes(nv_ram_remain: 0x1AE4)
双server27604 Bytes(nv_ram_remain: 0x6BD4)
双client22092 Bytes(nv_ram_remain: 0x564C)
HID+低功耗9756 Bytes(nv_ram_remain: 0x261C)
HID+低功耗+测试盒+app_ota5500 Bytes(nv_ram_remain: 0x157C)
  1. flash 目前有2种flash容量可选:2Mbits(256KByte)和4Mbits(512KByte)和8Mbits(1MByte)
    具体型号查看:芯片封装型号
  2. 芯片对比及芯片选型 芯片对比及芯片选型:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBPOXO
AW33AW31AW30AC632备注
BT
最大蓝牙功率
RAM
  1. AW33N_transfer--透传工程 codeblock工程文件:sdk\apps\demo\transfer\board\bd57\AW33N_transfer.cbp
    手机设置蓝牙界面,是无法连接的,需要使用APP来连接。
    推荐使用安卓手机,安装 nRF Connect
    nRF Connect安卓app.zip
    【大熊智能nrf connect使用方法_nrfconnect教程-CSDN博客
    文章浏览阅读1.3w次,点赞11次,收藏32次。本文介绍了如何使用nRF Connect应用程序进行低功耗蓝牙设备的扫描和过滤。通过扫描功能,可以发现并列出所有广播状态的设备,而过滤功能则允许根据设备名、MAC地址、广播数据类型和RSSI进行筛选。此外,还详细说明了如何连接设备、执行写操作和监听操作。

苹果手机,无法看到mac,无法看原始的hex数据,不好调试。

  1. CONFIG_APP_LE_TRANS 只做单模BLE从机,支持低功耗、OTA
    一般用于产品类型:
  • 纯BLE广播:广播遥控器、beacon等
  • 和APP连接:带APP控制的各类产品、灯带、按摩器、打印机等
  • 被其他client主机连接的从机设备:相机遥控器、云台等
  • 和MCU通信的产品:各类已有产品,需要外挂一个BLE芯片做通信
  1. CONFIG_APP_MULTI 由于ram不够,只支持2路BLE连接,例如:主从一体,双server、双client,且无法支持低功耗和OTA
    #define TCFG_LOWPOWER_LOWPOWER_SEL LOWPOWER_CLOSE // 关闭低功耗
    #define CONFIG_APP_OTA_EN 0 // 关闭OTA
  • 主从一体:支持手机APP连接的同时,还能扫描周围的广播包 #define CONFIG_BT_GATT_CLIENT_NUM 1
    #define CONFIG_BT_GATT_SERVER_NUM 1
    常用产品:带遥控器的灯带、按摩器、风扇、玩具等、带钥匙的电动车面板等
  • 双server从机:支持2个手机同时连接 #define CONFIG_BT_GATT_CLIENT_NUM 0
    #define CONFIG_BT_GATT_SERVER_NUM 2
    常用产品:电动车BLE模块、门锁BLE模块等
  • 双client主机:能连接2个BLE从机设备 #define CONFIG_BT_GATT_CLIENT_NUM 2
    #define CONFIG_BT_GATT_SERVER_NUM 0
    常用产品:耳机充电仓、控制面板、带开关和遥控器的灯带、风扇等
  1. CONFIG_APP_NONCONN_24G
  • 2.4G的广播方式,单向传输,单次发包最大可以60个字节。
  • #define CONFIG_TX_MODE_ENABLE 1 //发射器
  • #define CONFIG_RX_MODE_ENABLE 0 //接收器 2个只能开一个,不能同时开。
    发射器可以做低功耗和关机,但接收器不能做低功耗和关机,需要一直常待机。
  1. CONFIG_APP_DONGLE usb dongle 加 BLE client主机功能,可以连接遥控器、鼠标、键盘、手柄、翻页笔等设备。
    将蓝牙HID数据,转成USB HID数据上传给电脑。
    将蓝牙语音数据,转成USB UAC的PCM数据上传给电脑。
    受限于ram资源,使用范围:
  • USB语音dongle,只能开1个client,只能连接一个server设备。
  • USB键鼠dongle,勉强能开2个client,可以同时连接一个鼠标和一个键盘,但不能带OTA功能。
  1. CONFIG_APP_AT_CHAR_COM 串口模块,杰理AT指令协议。
    fw-AW31N_BLE_SDK: Firmware for Generic Bluetooth Low Energy SDK(AW3N series), Support AW31N.
    Firmware for Generic Bluetooth Low Energy SDK(AW3N series), Support AW31N.
    如果是替换其他方案的串口AT模块,需要自己修改AT协议,一般和其他方案是不一样的。

  2. CONFIG_APP_IDLE 空闲模式适用于:MCU应用、充电状态下、假关机状态下。

  3. AW33N_hid--HID工程 codeblock工程文件:sdk\apps\demo\hid\board\bd57\AW33N_hid.cbp
    手机设置蓝牙界面上,直接搜索连接的,也同时兼容APP连接,带配对绑定和加密功能。

  4. CONFIG_APP_KEYBOARD 音乐遥控器,带有音量加减、上下曲、播放暂停等功能。

  5. CONFIG_APP_KEYFOB 自拍器,默认只有发大小键2种键值。
    image

  6. CONFIG_APP_MOUSE_SINGLE 单模鼠标,BLE server设备,可以被手机电脑蓝牙直连,或者被usb dongle BLE连接。
    可以在此基础上,添加USB模式,直连电脑做usb有线鼠标。

  7. CONFIG_APP_MOUSE_DUAL 三模鼠标,BLE模式、2.4G高回报率模式、USB模式,需要手动切换,不支持同时共存。
    #define SWITCH_MODE_BLE_ENABLE (1 & TCFG_USER_BLE_ENABLE) //使能BLE模式
    #define SWITCH_MODE_24G_ENABLE (1 & (CFG_RF_24G_CODE_ID != 0) & TCFG_USER_BLE_ENABLE) //使能2.4G模式
    #define SWITCH_MODE_USB_ENABLE TCFG_OTG_USB_DEV_EN
    3种模式可以自由组合成双模双模。

  8. CONFIG_APP_KEYPAGE 翻页器、抖音神器,存在一定的兼容性问题,因为苹果系统限制,苹果系统更新,导致这个应用也一直在实时更新。
    最新版本,可以联系杰理获取。
    苹果系统的翻页功能,是模拟鼠标操作的,因此无法做到兼容所有的苹果手机系统,一般是按照最新的IOS版本调试,不考虑旧版本的。
    苹果手机需要打开辅助触控功能:设置 -> 辅助功能 -> 触控 -> 辅助触控打开
    辅助触控下,有个跟踪灵敏度的调节,一般要么设置为0,要在再10%左右的位置。
    image

  9. CONFIG_APP_REMOTE_CONTROL 红外遥控器,电视遥控器、机顶盒遥控器等。被电视、机顶盒、投影仪等连接。
    这种遥控器,无论是蓝牙HID,还是红外码,都是没有统一标准的,都需要根据每款主机适配的。
    每个电视厂商、每个省的机顶盒,都有各自的标准,都要适配开发的。
    公版sdk红外做的是,NEC编码、海信电视红外键值的。

  10. CONFIG_APP_IDLE 空闲模式适用于:MCU应用、充电状态下、假关机状态下。

  11. 功能介绍

  12. 开关打印

  13. 开打印

#define CONFIG_DEBUG_ENABLE    //打印总开关,关打印注释此宏

#define TCFG_UART0_ENABLE       ENABLE_THIS_MOUDLE   //保持,关打印也不要改成disable
#define TCFG_UART0_RX_PORT      NO_CONFIG_PORT       //保持,不要配置IO
#define TCFG_UART0_TX_PORT      IO_PORT_DP           //打印口,可配任意IO
#define TCFG_UART0_BAUDRATE     1000000              //建议用1M,用115200打印会死机

#define LIB_DEBUG    1 // 打开底层库打印,代码会变大很多

const char log_tag_const_v_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(FALSE);
const char log_tag_const_i_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE); // 要看底层驱动打印,改成 TRUE
const char log_tag_const_d_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE); // 要看底层驱动打印,改成 TRUE
const char log_tag_const_w_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);
const char log_tag_const_e_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);
const char log_tag_const_c_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);

  1. 关打印
/* #define CONFIG_DEBUG_ENABLE    // 关打印,注释此宏 */

#define TCFG_UART0_ENABLE       ENABLE_THIS_MOUDLE   //保持enable,关打印也不要改成disable

#define LIB_DEBUG    0 // 关底层库打印,代码会变小很多

const char MM_ASSERT     = 0; //生产代码必须检查置0,否则死机不复位,需要断电
const int config_asser   = 0; //生产代码必须检查置0,否则死机不复位,需要断电
  1. 开异常打印
const char MM_ASSERT           = 1; //打开断言打印,生产代码必须置0
const int config_asser         = 1; //打开异常打印,生产代码必须置0
// 生产代码就算不关打印,这2个变量也必须要置0

相关链接:
查看代码异常复位等异常情况:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAKCNM
https://doc.zh-jieli.com/AC63/zh-cn/master/getting_started/code_debug/printf_debug.html
image 4. 复位信息 判断复位源和唤醒源:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMFB
2. 芯片工作状态

  1. 快速启动--快速唤醒 烧录快速启动及升级程序方法:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAMX7W
    快速启动:芯片断电再上电,开机的速度
    快速唤醒:芯片软关机,但没断电,IO唤醒后,开机的速度
  2. 工作模式
  3. 正常状态--cpu运行状态 芯片正常运行,软件正常跑。此时功耗,跟随主频大小。
    主频越高,功耗越大,在2-5mA之间。
  4. 待机状态--低功耗 待机--睡眠--低功耗,没有需要运行的代码,芯片可以 临时进入睡眠低功耗,此时功耗4-5uA之间,保持ram的区域数据还在。
    可以定时唤醒、IO唤醒等。
    https://gitee.com/jieli-tech_fae/IOT-AC630N/blob/master/doc/software/%E9%A9%B1%E5%8A%A8/%E4%BD%8E%E5%8A%9F%E8%80%97%E6%B5%81%E7%A8%8B.md
    没有接口可以主动进入睡眠,需要提前设置底层查询函数,返回空闲状态。
///相关代码
#define TCFG_LOWPOWER_LOWPOWER_SEL            DEEP_SLEEP_EN    //开启BLE低功耗powerdown
#define TCFG_LOWPOWER_LOWPOWER_SEL            LOWPOWER_CLOSE   //关闭BLE低功耗

sys_power_down(4000000);

REGISTER_LP_TARGET()

void sleep_enter_callback(u8 step)
void sleep_exit_callback(u32 usec)


void sleep_run_check_enalbe(u8 enable)

  1. 关机状态 软关机,ram数据清空,cpu不跑,只能IO唤醒,此时功耗2uA。
///相关代码
app_soft_flag.sfc_fast_boot = 1;

u8 power_soff_callback()

le_trans_set_soft_poweroff();
power_set_soft_poweroff(); // 一般不能直接调用这个,需要调用应用模式的关机

  1. 工作频率 最高可以跑160M,旧的sdk不支持,130版本可以
    建议只跑到128M即可
#define TCFG_CLOCK_SYS_HZ                  48000000 // 48M

#define TCFG_CLOCK_SYS_HZ                  128000000 // 128M
  1. 工作电压 VDDIO即芯片工作电压,和IO的输出电压。
    串口模块,需要和其他IC通信的,建议设置VDDIO为 VDDIOM_VOL_34V 和 VDDIOW_VOL_33V
    单芯片状态,建议设置 VDDIO为 VDDIOM_VOL_30V 和 VDDIOW_VOL_28V
#define TCFG_LOWPOWER_VDDIOM_LEVEL            VDDIOM_VOL_30V   // 正常状态下VDDIO电压值
#define TCFG_LOWPOWER_VDDIOW_LEVEL            VDDIOW_VOL_28V   // 睡眠-低功耗-关机下VDDIO电压值
  1. 引脚
  2. 普通引脚GPIO GPIO使用:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAEK0D
  3. 特殊引脚 特殊引脚--复位引脚--使用配置(PA11、PA4、PA7、USB):
    https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAO7N4
  4. 电源引脚 IOVDD、VPWR供电方式配置 -- 电量检测配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBUU4M
    IOVDD供电配置问题 https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/ICXAUZ
  5. 按键 实现按键软开机功能:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBAWN5
    关机流程中按键丢失问题优化:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBQV77
  6. io按键
#define KEY_IO_EN                           ENABLE                  //<IO按键使能
#define MOUSE_KEY_SCAN_MODE                 DISABLE_THIS_MOUDLE

#define TCFG_IOKEY_POWER_CONNECT_WAY        ONE_PORT_TO_LOW    //按键一端接低电平一端接IO
#define TCFG_IOKEY_POWER_ONE_PORT           IO_PORTA_00        //IO按键端口
#define TCFG_IOKEY_POWER_ONE_PORT_VALUE     0x0                //power port键值

#define TCFG_IOKEY_PREV_CONNECT_WAY         ONE_PORT_TO_LOW    //按键一端接低电平一端接IO
#define TCFG_IOKEY_PREV_ONE_PORT            IO_PORTA_01
#define TCFG_IOKEY_PREV_ONE_PORT_VALUE      0x1                //prev port键值

/// 每个IO都可以设置成唤醒口
keys_config[index++] = create_key_io_wakeup_config(TCFG_IOKEY_POWER_ONE_PORT,
                                        PORT_INPUT_PULLUP_10K, PORT_FLT_DISABLE, FALLING_EDGE, key_active_set);

//唤醒口个数
#define WAKE_IO_MAX_NUMS                 4

//硬件支持最大唤醒口8个,无法改大的
#define MAX_WAKEUP_PORT                  8  //最大同时支持数字io输入个数
  1. ad按键 AD按键,只有对地的0R按键是可以唤醒的,其他按键电压没有拉到地,是唤醒不了。
    做AD按键的,有IO限制的,不是任意IO都可以做。
#define TCFG_ADKEY_ENABLE                   ENABLE_THIS_MOUDLE //是否使能AD按键
#define TCFG_ADKEY_PORT                     IO_PORTB_01         //AD按键端口(需要注意选择的IO口是否支持AD功能)
/*AD通道选择,需要和AD按键的端口相对应:
    AD_CH_PA1    AD_CH_PA3    AD_CH_PA4    AD_CH_PA5
    AD_CH_PA9    AD_CH_PA1    AD_CH_PB1    AD_CH_PB4
    AD_CH_PB6    AD_CH_PB7    AD_CH_DP     AD_CH_DM
    AD_CH_PB2
*/
#define TCFG_ADKEY_AD_CHANNEL               AD_CH_PB1
#define TCFG_ADKEY_EXTERN_UP_ENABLE         ENABLE_THIS_MOUDLE //是否使用外部上拉

#if TCFG_ADKEY_EXTERN_UP_ENABLE
#define R_UP    220                 //22K,外部上拉阻值在此自行设置
#else
#define R_UP    100                 //10K,内部上拉默认10K
#endif
  1. 矩阵按键
#define KEY_MATRIX_EN                       ENABLE
#define MATRIX_KEY_ROW1                     IO_PORTA_00
#define MATRIX_KEY_ROW2                     IO_PORTA_01
#define MATRIX_KEY_ROW3                     IO_PORTA_02

#define MATRIX_KEY_ROL1                     IO_PORTA_08
#define MATRIX_KEY_ROL2                     IO_PORTA_09
#define MATRIX_KEY_ROL3                     IO_PORTA_10
// 行列组合,可以自行调整
// 行做唤醒口,那列就要输出口,才能做到任意IO都能唤醒
  1. 红外发射/接收按键
#define TCFG_IR_ENABLE                      ENABLE
#define IR_KEY_IO                           IO_PORTA_10
#define IR_WORK_FRQ                         38000
#define IR_WORK_DUTY                        5000
#define TCFG_IR_ENCODER_TIMER_TID           0 // 使用timer0作为红外timer tid
#define TCFG_IR_ENCODER_PWM_TID             1 // 使用timer1作为红外pwm tid

// 红外载波发射
ir_encoder_init(IR_KEY_IO, IR_WORK_FRQ, IR_WORK_DUTY);

// 红外载波接收
ir_decoder_init(IO_PORTA_01); //红外信号接收IO_PORTA_O1

// 默认做的是 38K载波的NEC 红外,其他协议,需要自行修改

  1. 蓝牙

  2. 广播包 动态修改广播包--广播类型--广播频率:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBLGAX

  3. profile 蓝牙协议简介:https://doc.zh-jieli.com/AW31/zh-cn/master/bluetooth/bt_profeil.html

  4. 杰理OTA服务

  5. HID服务

  6. 链接参数

  7. MTU MTU改大到120连接会重启:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBAIH0
    BLE长包设置 DLE 和 MTU:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBYBAU

//测试NRF连接,工具不会主动发起交换流程,需要手动操作; 但设备可配置主动发起MTU长度交换请求
#define ATT_MTU_REQUEST_ENALBE     1    /*配置1,就是设备端主动发起交换*/

/*一般是主机发起交换,如果主机没有发起,设备端也可以主动发起(ATT_MTU_REQUEST_ENALBE set 1)*/
#define ATT_LOCAL_MTU_SIZE        (247) /*发送配PDU长度*/

#if ATT_MTU_REQUEST_ENALBE
        att_server_set_exchange_mtu(trans_con_handle);/*主动请求MTU长度交换*/
#endif

    case GATT_COMM_EVENT_MTU_EXCHANGE_COMPLETE:
        log_info("con_handle= %02x, ATT MTU = %u\n", little_endian_read_16(packet, 0), little_endian_read_16(packet, 2));
        break;

注意点:
很老的手机改不了,新手机一般都能128,大部分安卓都能512。
固件只是请求的建议值,最终的生效值,是取决于手机系统端的。
要改大,要注意兼容不同的MTU值,需要自行做重组包操作。
5. nRF Connect使用教程 NOTE:BLE开发流程--使用说明: https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I9QI1G
6. BLE主机 [分享内容]: BLE主机流程:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/IBP4D3

  1. 跳过profile搜索过程

  2. 蓝牙断开原因 ble断开原因: https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I75JGU

  3. FAQ

  4. 低功耗

  5. 唤醒口 配置独立的唤醒口:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAN37C
    判断复位源和唤醒源:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMFB
    获取IO唤醒源误识别DMDP问题:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IANZ2U

  6. 调功耗

各系列芯片功耗对比

632AW31636AW30备注
BT:EDR+BLEBLEEDR+BLEBLE
发射功率:8dbm10dbm6.4dbm6.7dbm
RAM:73KB32KB128KB64KB包含cache
剩余ram:26KB4KB95KB25KB单模BLE带低功耗
功耗:20uA5uA60uA42uA待机底电流
500ms广播:100uA190uA230uA200uA
dac:××√√
主从一体:可低功耗不带低功耗可低功耗不带低功耗
多主从:4个ble2个ble8个ble2个ble
RTC:硬RTC虚拟RTC虚拟RTC硬RTC

芯片选型建议

  • 优先选用AC632 纽扣电池产品、应用层需要RAM大于4KB、对BLE传输速率大于20KB/s、BLE多主从带低功耗
  • 优先选用AW31 需要快速唤醒、快速启动、2.4G高回报率
  1. 升级OTA

  2. APP BLE OTA

  3. 测试盒BLE升级

  4. 测试盒串口升级 蓝牙测试盒单线串口升级配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB9I7E

  5. 杰理串口升级 暂时还没支持

  6. 自定义双备份升级 杰理双备份升级介绍.md
    fw-AC63_BT_SDK: Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
    Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.

  7. 杰理USB升级

  8. 定时器 硬件定时器使用:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMWG

  9. PWM PWM输出:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAIAJD

  10. ADC

  11. 电量检测 IOVDD、VPWR供电方式配置 -- 电量检测配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBUU4M

  12. 串口

  13. USB

  14. flash

  15. VM 记忆、保存数据到内部flash:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAJQUF

  16. 自定义flash分区 内置flash开辟自定义区域读写:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAEY7H

  17. 认证码 指定mac地址烧录、自定义保留区烧录认证码、三元组、序列号等:
    https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAIHDD

  18. SDK系统

  19. 事件 转事件到最低优先级线程执行:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAPXPS
    转事件到主循环执行:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBQVUP

  20. 认证相关

  21. DUT #define TCFG_NORMAL_SET_DUT_MODE 1 // DUT测试模式,默认上电进初始化
    USB初始化成串口,DP对RX、DM对TX,需要接入串口工具,再接入测试仪器
    AC63X BLE DUT测试介绍.pdf

  22. dut 测试程序 AW31N_sdk_release_v1.2.0_trs_dut_波特率115200_v1.0.zip

  23. FCC 认证程序FCC、BQB:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB6J6F
    【金山文档 | WPS云文档】 认证资料获取汇总(最新资料后台会更新)
    https://kdocs.cn/l/cugCGfEDWPhB
    image 建议采用这个下载包,经过验证的,公版sdk改出来的,不一定是完善的

  24. BQB 认证程序FCC、BQB:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB6J6F

本文档包含以下子页面

Prev
AW31开发指导文档
Next
AC63NN开发指导文档