目录
近期入手泰山派2+16G版,现将一些学习中遇到的问题记录如下,供自己备忘和有需要的人参考。
一、SDK编译
立创泰山派官方教程推荐在ubuntu18.04版本下编译SDK。
https://wiki.lckfb.com/zh-hans/tspi-rk3566/project-case/fat-little-cell-phone/sdk-compile.html
但因为18版实在是太老了,发现会存在一些问题,例如:
1.因为 自带的glibc和libstdc++版本过低问题,vscode无法通过ssh连接到虚拟机。尽管网上提供了降级vscode的方法,但这样做会影响其他插件,不太好用。
2.因为自带的cmake版本过低,导致编译lvgl时也会出现问题。
于是尝试用20.04版Ubuntu重新编译SDK。发现编译起来还是比较顺利的,进需要注意以下两点:1. 无法按照官方教程安装repo(sudo apt install repo -y),因为提示找不到这个包。但最后发现跳过这一步也完全没有问题。
2.仅按照官方教程安装python2.7还不够(sudo apt-get install python2.7),后续编译时会提示找不到python2,所以还需要安装python2(sudo apt-get install python2)。
除了以上两点,没有再遇到其他问题。
因此,建议后续编译泰山派SDK还是用20.04比较好。(22.04我没用过,但是一开始试过24.04,因为这个版本下python2已经不提供在线安装,而编译泰山派SDK又必须用python2,所以还是比较麻烦的,不太推荐新手折腾)
二、wifi设置
如官方手册所说,使用wifi之前必须把天线装上,否则真的是搜索不到任何wifi。然后按照如下步骤设置,往后便可开机自动连接wifi:
1.编写配置文件
root@RK356X:/# vi /data/cfg/wpa_supplicant.conf
2.启动wifi
root@RK356X:/# wpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.conf
3.将上述命令加入到/etc/init.d/rcS 文件中以便后续开机自动连接wifi
接着是设置静态IP,编辑/etc/network/interfaces,加入以下代码:
auto wlan0
iface wlan0 inet static
address 192.168.XX.XX
netmask 255.255.255.0
network 192.168.XX.0
gateway 192.168.XX.1
三、QT移植
参考立创官方教程可以将QT环境编译到buildroot之中,但是有关于在Ubuntu上如何安装QT开发环境,其实正点原子的RK3568教程写的蛮详细的,完全可以借鉴参考。主要步骤包括:
1.到QT官网下载在线安装包
https://download.qt.io/archive/online_installers/4.9/qt-online-installer-linux-x64-4.9.0.run
在自定义安装界面选择安装QT 5.15.2版本以及QT Creator 16.0.2版。理解QT必须要安装5.15.2,因为瑞芯微官方就是用这个版本编译SDK的,但是QT Creator版本影响不大,安装较新的版本也没问题。
2.QT Creator配置中文输入
QT Creator默认支持ibus框架,而不支持Fcitx。所以在ibus下添加中文输入法就好。正点原子的教程里讲解了如何通过他们开发的插件让Fcitx的中文输入法能够运行。但实际试下来,他们的插件只能支持老版本的QT Creator,我装的版本已经不适用了。
此外,初次使用Buildroot+Qt不能显示字体,只需要在/usr/share目录下新建fonts目录,并将windows font目中的字体拷贝进去,然后在/etc/profile中添加如下设置即可。
export QT_QPA_FONTDIR=/usr/share/fonts
3.交叉编译环境搭建
4.Buildroot桌面配置
1.进入weston.ini文件
vi /etc/xdg/weston/weston.ini
2.将panel-position=none这行前面的注释去掉即可
3. 如果希望设置自启动程序可添加如下:
[autolaunch]
path=/**/**.**
此外,在此基础上可将屏幕设为横屏显示,即在/etc/profile.d/weston.sh中添加如下语句
echo "output:all:rotate270" >> /tmp/.weston_drm.conf
四、lvgl移植
可参考我这篇文章
五、固化自定义配置
为了将之前所有的自定义配置固化在固件之中,可以将上述所有配置文件存放进以下目录:
<SDK>/buildroot/board/rockchip/rk356x/fs-overlay
即以fs-overlay为根目录,将配置文件的完整路径存放其中。例如weston.ini存放路径为
<SDK>/buildroot/board/rockchip/rk356x/fs-overlay/etc/xdg/weston/weston.ini
切记该类配置文件如果在windows下编辑过,一定要通过notepad++等方式将其转化为Unix格式,否则linux是无法读取的。我之前就没有注意到这点,导致开发板直接在启动过程中卡死。
六、文件互传
在vmware虚拟机中编译好代码后,需要将文件传输到开发板上。比较方便的一个办法是通过SSH命令。即:
sshpass -p "my_password" scp local_filename username@ip_address:/home/remote_direcotry/
因为每次都需要输入密码才能开始传输,所以可以apt安装一个sshpass,这样之后就可以直接把密码写在命令行里。
每次传文件都要写这么长一段指令很麻烦,所以可以在要传输的文件目录里写一个shell脚本,把命令写在里面就方便多了。