NDK Chip Migration¶
本文主要阐述 PAN107x 和 PAN101x 芯片的不同点以及移植的一般方法。
1. 芯片之间的差异¶
芯片\features |
RAM |
Controller |
flash |
OTA 支持 |
功耗 |
---|---|---|---|---|---|
PAN101x |
16K |
支持 广播,丛机 |
256K |
支持 2.4G OTA,USB dfu,UART dfu |
较低 |
PAN107x |
48K |
支持 广播,扫描,丛机,主机 |
512K |
支持蓝牙OTA,2.4G OTA,USB dfu,UART dfu |
极低 |
由于资源的限制 PAN101x 使用单连接丛机,且不带蓝牙OTA 的方案,例如 USB 接收器
PAN107x 可以用于丛机,主机,多连接的方案(2主3丛),支持蓝牙 OTA
2. 芯片工程的迁移¶
芯片的迁移主要丛如下几个方面进行阐述,第一个方面是工程配置方面,第二个方面是资源优化和时钟选择方面,资源优化方面通过 sdk_config.h 进行优化的,详情参考 NDK Configuration 开发指南
2.1 工程配置¶
芯片信号选择,分别是IP_101x 和 IP_107x , 其中 107芯片请在下图的位置写入 IP_107x, 101 芯片请写入 IP_101x
Controller lib 文件的选择
pan107x 的芯片选择 **ble_spark_107x.lib ** 或者 **ble_spark_107x_rd.lib **,pan101芯片选择 ble_spark_101x.lib,路径 nimble\lib
下,下图举一个 pan101x 芯片加载 lib 的配置示意图,加载方法参考keil mdk 操作
flash 的划分,请在 sdk_config.h 选择 flash Map 一栏选择,详情参考 NDK Configuration 开发指南
PAN101x 选择 256,101x 不能选择 Support Back-up area in OTA model,因为 flash 不足以留下备份区
PAN107x 选择 512
上图展示 pan107x的芯片 flash 大小选择
2.2 时钟选择和资源优化¶
在 sdk_config.h 选择 soc platform 主要配置芯片的时钟和优化 ram
System Clock 选择系统时钟,107x 默认是 32M,也可选择 48M,101x 请选择48M
Enable RAM Function 107x 建议勾上,101x建议不勾,勾上增加 ram,提高关键代码运行速度
Remap Vector Table to SRAM 107x 建议勾上,101x建议不勾,勾上增加 ram,提高关键代码运行速度