一、编译环境配置
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib \
g++-multilib unzip device-tree-compiler ncurses-dev
./build.sh lunch
选择与自己的板子相近
export RK_ROOTFS_SYSTEM=buildroot
./build.sh all
sudo apt install python-minimal
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
解决方案
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update
二、u-boot、kernel、buildroot 进入menuconfig
改变 SDK文件夹权限
sudo chmod 777 * -R
sudo make ARCH=arm64 rockchip_linux_defconfig
sudo make ARCH=arm64 menuconfig
三、win11 samba
https://zhuanlan.zhihu.com/p/669810891
四、挂载NFS
root@localhost:~# mount -t nfs -o nolock 192.168.0.7:/home/dm/tspi/nfs /root/nfs/
mount: /root/nfs: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.
五、设备树
/ {
#address-cells = <2>;
#size-cells = <2>;
cpus {
#address-cells = <2>;
#size-cells = <0>;
cpu0: cpu@0 {
受cpus节点的影响
#address-cells = <2>;
#size-cells = <0>;
所以地址就是0x0,大小就是 0x0
*/
reg = <0x0 0x0>;
};
};
gmac1: ethernet@fe010000 {
/*
受根节点的影响
#address-cells = <2>;
#size-cells = <2>;
所以地址就是0xfe010000 ,大小就是 0x10000
*/
reg = <0x0 0xfe010000 0x0 0x10000>;
};
};
六、编译命令
全编译 ./build.sh all
uboot编译 ./build.sh uboot
kernel编译 ./build.sh kernel
根文件编译 ./build.sh rootfs
七、MobileNetV3
八、 启动RINDIS
ifconfig -a
配置USB接口为DHCP客户端
dhclient usb0
九、SSH
添加用户
adduser dm
给用户权限
usermod -aG sudo dm
apt-get install openssh-client
apt-get install openssh-server
vim /etc/ssh/sshd_config
十、触摸驱动编译为模块
make ARCH=arm64 -C . M=drivers/input/touchscreen/my_touch/
adb root && adb remount && adb push Y:\tspi_android_sdk_20230909\kernel\drivers\input\touchscreen\cst128a_cust\cs_128a.ko /vendor/lib/modules
十一、安卓安装busybox
1、下载相应处理器的busybox
https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/
2、data目录下创建busybox文件夹
adb shell
cd /data
mkdir busybox
exit
3、将下载好的busybox放进新建的文件夹中
adb push D:\zip_unzip\busybox /data/busybox
4、执行命令安装busybox
adb shell
cd /data/busybox
chmod 777 busybox
./busybox --install ./
5、设置环境变量
export PATH=/data/busybox:$PATH
exit
6、验证adb里面是否安装好busybox
adb shell
busybox
十二、linux常用命令
1、递归搜索当前目录下及子目录包含字符串的文件
grep -r “rk_vendor_read” .
十三、触摸屏电平转换电路
开发过程中有些触摸屏使用1.8V作为IO电压,需要与I2C电平转换,使用这个电路需要关注MOS管的GS(th)问限电压,选择的SI2302 MOS管只适用于1.8V及以上的电平转换
十四、适配10.1寸MIPI屏及触摸转接板
由于LCD的背光电流较大,背光电路放在扩展板上,背光电流是固定不可调整,安卓系统的屏幕亮度调整不可用
适配步骤
1、修改DSI屏参与MIPI初始化时序
2、添加触摸屏设备树于I2C1节点下,需要将原有触摸设备节点注释
3、修改设备触摸驱动
修改触摸分辨率
由于触摸设备节点原沿用原来引脚名称定义,需要修改驱动文件引脚名称