T5开发过程中问题汇总

更新时间:2025-06-17 10:09:26下载pdf

串口2的TX是PIN31,RX是PIN30,强制建议Ubuntu系统安装20.04以上的版本,T5模组使用过程中一定要注意字库的使用,在问题4总结里着重说明。

授权和烧入口是串口0 波特率2000000 PIN36和PIN37

日志口是串口1 波特率为460800

剩余的串口2

1. 在IDE上拉取T5对应的版本(版本会迭代,自行选择好最新的版本),同时搭建IDE上的环境,参照下面的链接:

https://developer.tuya.com/cn/docs/iot-device-dev/tuyaos-wind-ide?id=Kbfy6kfuuqqu3
T5开发过程中问题汇总
T5开发过程中问题汇总

2. 编译环境搭建,出错排查

一.首先安装armino环境:
mkdir -p ~/armino
cd ~/armino
git clone https://github.com/bekencorp/armino.git
export ARMINO_PATH=~/armino/armino (也可将改行写入/etc/profile,重启电脑)
查看环境是否配置成功:
echo $ARMINO_PATH

二. 在终端输入下述命令安装 python3,CMake,Ninja 以及依赖库:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install build-essential cmake python3 python3-pip doxygen ninja-build libc6:i386 libstdc++6:i386 libncurses5-dev lib32z1 -y

三. 出现编译报错(缺少什么,自行百度安装什么)
出现:ModuleNotFoundError: No module named ‘click’
解决方法:pip install click

出现:ModuleNotFoundError: No module named ‘Crypto’
解决方法:pip install pycryptodome

出现:ModuleNotFoundError: No module named ‘ruamel’
解决方法:pip3 install ruamel.yaml

四.编译报错
T5_TuyaOS-3.12.12/software/TuyaOS/vendor/T5/t5_os/build/bk7258_cp1/CMakeFiles/git-data/grabRef.cmake:48 (file):
file failed to open for reading (No such file or directory):
T5开发过程中问题汇总
解决方法:客户可能拉了代码挪动了位置然后进行了编译(挪动位置后,要clean后再编译),或是编译完以后再挪动位置

3. 无法点亮板子的背光(已经用万用表测量过)

一.首先先确保你们使用的外挂FLASH是我们已经适配成功的,我们系统起来需要用资源作为显示,如果没有获取到对应的资源是启动不了系统的。如果只是为了先调试LCD驱动,那么可以先用片内FLASH去进行调试,修改代码:

tuya_app_gui_set_lfs_partiton_type的参数,里面选择:TUYA_GUI_LFS_SPI_FLASH
然后参考开发文档,片内Flash的BIN文件制作和烧入,参考文档如下:
https://developer.tuya.com/cn/docs/cellular-faq-document/T5_FAQ?id=Kdvkohpoyvol5

二.检查硬件电路

4. 使用字库的注意点(严格按照内部使用文档)

一.以下是使用的一个例子:

disp_text_font = (lv_font_t *)tuya_app_gui_display_text_font_get(“language_test”);
if (disp_text_font != NULL)
{
lv_obj_set_style_text_font(language_label, disp_text_font, LV_PART_MAIN|LV_STATE_DEFAULT);
}
//b1.设置文本
disp_text = tuya_app_gui_display_text_get(“language_test”);
lv_label_set_text(language_label, (disp_text!=NULL)?disp_text:“”);
首先:tuya_app_gui_display_text_font_get这个接口去字符串文件里找对应的字符,返回的值需要判断是否为空,然后使用tuya_app_gui_display_text_get去得到对应的字符,最后在对应的控件里去使用,记得做字符串为空的异常处理。

二.在当前页面只要涉及到调用语言字库的地方,在切换语言的时候全部都要更新.(切换语言后,字库会初始化,新的字库会替代旧的字库),不能只更新部分,不然会系统异常。

三.当存在多个界面的时候(之前界面在没有删除的情况下),当前页面进行了语言切换的动作,那么也需要对之前界面进行语言切换的动作,不然系统会找不到之前的老字库(切换字库的时候会清除以前的老字库),会导致系统异常。

三.不同语言的字库(如有中文和英文),最好分开为两个ttf文件,然后不需要的字可以去掉,占用内存,字库太大会导致SRAM不足,会丢失字体,无法显示。

5. 使用图片的注意点

一.图片的命名方式:每张图片按照唯一数字ID的方式命名(从1.jpg或1.png开始,ID不能重名,依次往后增加),用户程序在需要使用的地方调用对应的图片名称。

二.由于系统内部解码图像时是按照4字节搬运的,使用JPG图片时,切记图片的像素一定是偶数(如138 * 42),不要使用像素为奇数的图片(如135 * 41),否则系统异常崩溃。png解码用的lvgl的,所以不会有这个问题。

三.由于T5芯片的内存有限,建议图片用JPG格式的,这样会节省内存。

四.DP点无法上报问题

底层报错:tx queue post err

有可能客户打开了产测功能导致的 tuya_gui_start(false);