更新时间:2024-07-30 03:10:36下载pdf
本文仅介绍 TuyaOS 开发过程中芯片平台相关的基本信息,有关 TuyaOS 的更多信息请参考 TuyaOS 开发者论坛。
在 hardware\PHY6222\chip_manual\PHY6222_BLE_SoC_Datasheet_v1.2_20210430.pdf
路径下,获取芯片手册。
目前复用奉加微官方开发板,您可以向奉加微官方申请获取。
您也可以在 涂鸦开发者平台,获取开发板,开发板对应的 物料编码 为 1.15.17.00173。
UART
该平台支持 2 个 UART,其中串口 0 用于打印 Log,串口 1 用于烧录、授权、测试。
UART | 功能 | 引脚 | 备注 |
---|---|---|---|
UART0 | TX | P2 | Log |
UART0 | RX | P0 | |
UART1 | TX | P9 | 烧录、授权、测试 |
UART1 | RX | P10 |
SPI
该平台支持 2 个 SPI。
SPI | 功能 | 引脚 |
---|---|---|
SPI0 | CS | P32 |
SPI0 | CLK | P31 |
SPI0 | SDI | P18 |
SPI0 | SDO | P20 |
SPI1 | CS | P14 |
SPI1 | CLK | P15 |
SPI1 | SDI | P33 |
SPI1 | SDO | P34 |
IIC
该平台支持 2 个 IIC,但是由于 OLED 屏幕为了显示 SDK 信息(TuyaOS Demo)需要预先初始化,所以测试仅支持 1 个 IIC。
IIC | 功能 | 引脚 |
---|---|---|
IIC0 | SCL | P24 |
IIC0 | SDA | P23 |
PWM
通道 | 引脚 |
---|---|
0 | P31 |
1 | P32 |
2 | P26 |
3 | P33 |
4 | P34 |
5 | P7 |
ADC
仅支持 12 位分辨率。
该平台返回的是电压值。
通道 | 引脚 |
---|---|
0 | P11 |
1 | P23 |
2 | P24 |
3 | P14 |
4 | P15 |
5 | P20 |
按键
P7
短按唤醒设备。
长按 3s,本地恢复出厂设置。
上电启动检测引脚
P1
进入 main
函数后置为高电平。
请前往 Arm Keil 官方网站 自行安装 Keil 软件,所有安装步骤使用默认配置,推荐使用 mdk528a.exe 版本。
安装期间若弹出安装驱动,请选择 安装 。
打开 Keil 时,若弹出器件包安装,请手动关闭。
安装 Keil 后,将 UV4.exe
文件所在目录的路径,添加到 环境变量 中。例如:TUYAOS_COMPILE_TOOL
: C:\Keil_v5\UV4
,结果如下图所示:
HOST_CONFIG=6
关闭测试功能。
#define TUYA_SDK_TEST 0
关闭 Log。
#define ENABLE_LOG 0
#define BOARD_ENABLE_LOG 0
关闭扫描功能。
HOST_CONFIG=4
重新进行全量编译后,打开 .map
文件可知。
占用的 Flash 空间如下:
占用的 RAM 空间如下:
剩余的 RAM 大小即为:
若打开扫描功能,即
HOST_CONFIG=6
重新进行全量编译后,打开 .map
文件可知
占用的 Flash 空间如下:
占用的 RAM 空间如下:
剩余的 RAM 大小即为:
计算剩余 RAM 的方法
由于奉加微平台的部分代码可能会放到 RAM 里面,所以剩余可用 RAM 的计算方法和 .map
文件结尾处统计的数据有出入,具体计算方法为:
打开 Map 文件。
找到 Memory Map of the image
区域。
移动到该区域末尾,并查看最后一行,例如下图。
剩余的 RAM 大小即为 = 0x1fffffff - (0x1fffceb8 + 0x00001000)。
快捷定位:LR_ROM_JT_GC
使用串口烧录,所以连线方式如下
USB 转串口工具 | 设备 |
---|---|
VCC | VCC |
GND | GND |
TX | RX |
RX | TX |
烧录上位机路径为 pc\tools\PHY6222
。
通过串口连接设备。
串口连接成功。
选择固件并且擦除烧录。
测试方法:使用逻辑分析仪测量 VCC 引脚 和 启动时间检测引脚 的电平变化时间差。
检测引脚:外设 → 启动时间检测引脚。
分区调整方法
在原工程中修改以下宏即可调整默认的 Flash 分区:
// Flash
#ifndef BOARD_FLASH_BULK_DATA_START_ADDR
#define BOARD_FLASH_BULK_DATA_START_ADDR (0x4C000)
#endif
#ifndef BOARD_FLASH_TUYA_INFO_START_ADDR
#define BOARD_FLASH_TUYA_INFO_START_ADDR (0x50000)
#endif
#ifndef BOARD_FLASH_OTA_INFO_ADDR
#define BOARD_FLASH_OTA_INFO_ADDR (0x54000)
#endif
#ifndef BOARD_FLASH_OTA_START_ADDR
#define BOARD_FLASH_OTA_START_ADDR (0x55000)
#endif
#ifndef BOARD_FLASH_OTA_END_ADDR
#define BOARD_FLASH_OTA_END_ADDR (0x80000)
#endif
#ifndef BOARD_FLASH_OTA_SIZE
#define BOARD_FLASH_OTA_SIZE (BOARD_FLASH_OTA_END_ADDR - BOARD_FLASH_OTA_START_ADDR)
#endif
如果想要调整 OTA 区域的位置,除了调整以上宏以外,还需要按照如下方式调整 bootloader 工程:
打开 bootloader 工程 \vendor\phy6222_ble\sdk\phy62xx-sdk-v3\example\OTA\slboot
。
修改 SLB_EXCH_AREA_BASE
和 SLB_EXCH_AREA_SIZE
后重新编译 bootloader 工程。
此处测试的功耗为典型的 1s 广播时候的平均功耗。
休眠功耗为 13uA
正常状态:20h 误差小于 2s
休眠状态:11h 误差在 8s 左右
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈