ubuntu上,vs编译无法生成OTA文件:tuyaos_demo_UG_1.0.0.bin

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
Post Reply
langer
Posts: 1

Traceback (most recent call last):
File "diff2ya.py", line 1706, in <module>
File "diff2ya.py", line 1582, in main_bsdiff2ya_auto
File "diff2ya.py", line 1488, in make_fota_auto
File "diff2ya.py", line 1029, in is_zip_or_xz_file
File "filetype/filetype.py", line 28, in guess
File "filetype/match.py", line 30, in match
File "filetype/utils.py", line 64, in get_bytes
File "filetype/utils.py", line 24, in get_signature_bytes
FileNotFoundError: [Errno 2] No such file or directory: './tuya_build/bk7236/app_ug.bin'
突然出现这个问题我也很懵,因为没有指出真正的问题,挣扎了半天,顺着打印的数据往上看;
终于在format_up_bin.py: error: no such option: -3,发现一个错误(没有任何颜色太难找了 :cry: ),上面有个参数是-33619968
顺藤摸瓜找到build.sh文件下159行(写了很多echo才找到位置),发现下面这个有问题,返回的参数是0,导致后面计算出现负数

Code: Select all

B_OFFSET=$(grep "_ty_section_start" -r ./tuya_build/${TARGET_PLATFORM}/app.map | awk '{print strtonum($1)}')

自己写个shell脚本验证一下,发现strtonum不能用(在AI的帮助下才看懂这代码),下面是AI给的修改方法

Code: Select all

B_OFFSET=$(grep -h "_ty_section_start" ./tuya_build/${TARGET_PLATFORM}/app.map | awk '/0x[0-9a-fA-F]+/ {print $1}' | xargs printf "%d")

修改后保存后,编译生成了app_ota_ug.bin,目标文件也出现 :lol: :lol: :lol: 后面附上修改后的build.sh

Attachments
build.txt
把后辍改成sh就可以用了
(6.67 KiB) Downloaded 27 times

Tags:
愚者千虑必有一得
Posts: 538

Re: ubuntu上,vs编译无法生成OTA文件:tuyaos_demo_UG_1.0.0.bin

非常有价值的帖子,感谢!

Post Reply