按照官网文档https://xr806.docs.aw-ol.com/rtos/env/说明,RTOS先拉取SDK,由于XR806是Cortex-M33 Star内核然后指定gcc-arm-none-eabi工具链的位置,再编译再烧录,开发过程和ESP32有些许相似,都可以借助Cygwin+gcc来编译,且都支持menuconfig进行模块裁剪,不复赘述,以下重点讲遇到的问题。 - 编译工具链问题
编译时会出现conflictiong types for 'fd_set'错误,最开始在https://developer.arm.com/downloads/-/gnu-rm下载的最新版本gcc-arm-none-eabi-10.3-2021.10-x86_64-linux,结果就出现这个错误,后来在https://aijishu.com/a/1060000000286384找到了答案。换个旧版本就解决了,但下一步编译还是hello_demo还是会报错,把编译选项-Wall去掉即可。 - 烧录问题
Windows用工具xr806_sdk\tools\phoenixMC.exe加载刚才编译出的xr806_sdk/out/xr_system.img,出现6块区域,由规格书知XR806 320K SRAM地址分布为:0x0020 0000~0x0024 8000(288K)+0x0024 8000~0x0025 0000(32K),160K Flash地址分布为:0x0000 0000~0x0002 7fff,但发现停在3%老是提示Change baud error:
解决办法:重装CP2102驱动,很坑。
然后就能验证环境可行性,在tools目录下敲击sudo ./phoenixMC -i ../out/xr_system.img成功烧录:
然后就能看到输出信息了:
|