其实官方提供的SDK,编译起来是挺简单的。
步骤也没啥难度,从官方给的云盘里下载到两个压缩包后,发送到Linux机子上,使用命令行解压缩,并移动到正确的位置即可。

也就是如下图一样,板级的压缩包文件放置到对应的板级配置目录里即可。

接下来,就是按照文档2.1节的内容,按步骤仔细清理一下编译产物,再跟着步骤编译就可以了。

这里我踩了一个坑,也就是我以前用瑞芯微的SDK,还有自己编译Linux内核,为了偷懒,直接在.bashrc里设置了环境变量ARCH=arm64和指定交叉编译器CROSS_PILE,结果导致编译Uboot时反复报错。报错的日志我找不到了,但是确实是因为我指定了这些环境变量,导致uboot编译时,gcc报错核心特性不正确(不支持armv7之类的)。
然后我看了一下SDK的Uboot源码目录,结果发现生成的.config配置文件,它指定的架构居然是armv7的。
带着这个疑问,我问了GPT和腾讯元宝,给的答复基本上是差不多的。


然后我尝试了一下,清除掉这两个环境变量,在终端里设置这两个变量为空后,输出这两个变量的值也是空的,但是还是报错。
没办法,我只能强行去构建系统里的shell脚本里强行指定架构和工具链。
比方说直接在brandy/brandy-2.0/u-boot-2023/Makefile这个文件的17行后加入一个指定交叉工具链的设置。

加入这个设置后,uboot就顺利编译完成了。
然后到了内核编译的步骤,又出现了架构混乱的问题,故技重施,我又在build/mkkernel.sh这个文件的开头直接指定架构和交叉编译器。(不建议大家学我,我纯粹是懒得想为什么,反正干就是了)
按道理来说,SDK放出来这么久,官方的配置和文件理论上来说是不会有问题的。有问题的肯定是我自己瞎折腾配置的环境变量引起的。我自己也懒得纠结了,反正干就是了。
然后跟着文档的./build.sh 一顿框框编译,内核,rootfs(这里我选的buildroot)什么的都编译完成了。
就直接继续打包操作,也是跟着文档做./build.sh pack。
打包完文件,就可以下载生成的t536_linux_HZ-T536_MiniEVM_uart0_linux-5.10-origin.img文件到windows下,按照官方文档的烧录方式烧录即可。
烧录完毕后,就可以上电测试了,顺利进入了buildroot系统。
更多回帖