一、测试所用的硬件
深圳君正开发板:PD_X2000_EVB_CORE_V1P1
二、SDK源码下载
参考君正官方教程:君正全平台linux源码同步教程(除X1830人脸识别板)_君正a1n linux_北京君正的博客-CSDN博客
教程中要求的系统为Ubuntu20.4, 我用的环境为Ubuntu18.4。
三、编译
参照SDK\doc\开发使用说明\下的<1_Linux工程编译说明.pdf>文档即可。
cd 到build目录:
make x2000_evb_v11_nand_defconfig //选择板级配置文件
make
注意事项:
1、由于buildroot要求的外部gcc的编译器版本为7.x,所以需要设置系统所用的gcc版本大于7.0。也可修改buildroot中配置的gcc版本。进入到cd 到 \buildroot\buildroot目录,执行make menuconfig:
Toolchain --->
External toolchain gcc version (7.x) --->
( ) 9.x
( ) 8.x
(X) 7.x
( ) 6.x
( ) 5.x
( ) 4.9.x
查询系统当前的gcc版本:
$ gcc --version
gcc-4.8 (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
当前系统的gcc版本为4.8.5。
查询已安装的gcc版本:
$ ls /usr/bin/gcc*
/usr/bin/gcc /usr/bin/gcc-7 /usr/bin/gcc-ar-4.8 /usr/bin/gcc-nm /usr/bin/gcc-nm-7 /usr/bin/gcc-ranlib-4.8
/usr/bin/gcc-4.7 /usr/bin/gcc-ar /usr/bin/gcc-ar-7 /usr/bin/gcc-nm-4.7 /usr/bin/gcc-ranlib /usr/bin/gcc-ranlib-7
/usr/bin/gcc-4.8 /usr/bin/gcc-ar-4.7 /usr/bin/gcc.bak /usr/bin/gcc-nm-4.8 /usr/bin/gcc-ranlib-4.7
已安装4.7、4.8、7.x。
切换版本:
sudo mv /usr/bin/gcc /usr/bin/gcc.bak //备份之前的
sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc //链接到gcc-7
2.由于sdk中不包含蓝牙所用的bluz协议,配置文件中默认使能了蓝牙功能,所以编译buildroot时会从github上下载bluz源码,此过程很长。可使用IConfigTool工具先将配置文件中的蓝牙功能失能。
四、烧录
参照SDK\doc\FAE文档\下的<深圳君正开发板编译及烧录配置说明.pdf>第五章 PD_X2000_EVB_V2P0。
五、修改log波特率
参照SDK\doc\FAE文档\下的<log输出端口uartX的修改方法---以Darwin_X2000_v2.0板为例.pdf>
x2000_evb_v11_nand_defconfig默认的log波特率为3000000,由于一些SecureCRT 之类的超级终端工具不支持3000000的波特率,所以将波特改为115200更通用。
cd 到\bootloader\uboot-x2000目录,修改include/configs/x2000_base_common.h文件:
$ vi include/configs/x2000_base_common.h
...
#ifndef CONFIG_BAUDRATE
#define CONFIG_BAUDRATE 3000000
#endif
...
将CONFIG_BAUDRATE改为115200。
然后再cd 到build目录,重新编译uboot:
$ make x2000_evb_v11_nand_defconfig
$ make uboot
再重新烧录u-boot-spl-pad.bin即可。