anheng
2024-07-09 5fa08fd58959466bab3a6173f2f3c76a70c7ff04
RK3568_Linux_SDK开发文档/RK3568_Linux_SDK开发文档.md
@@ -233,17 +233,51 @@
![image-20240514204009803](./images/image-20240514204009803.png)
我们需要将这个镜像文件烧录到开发板中
我们需要将linaro-rootfs.img 这个镜像文件烧录到开发板中
![image-20240514204053423](./images/image-20240514204053423.png)
我们将烧录的rootfs文件替换成linaro-rootfs.img即可
烧录完成后启动开发板,会提示输入用户名和密码,这里的用户名和密码在编译脚本里写好了的均为linaro
烧录完成后启动开发板,会提示输入用户名和密码,**这里的用户名和密码在编译脚本里写好了的均为linaro**
登录后切换su用户`sudo su`,进入根目录下展示的就是Debian的根文件系统
![image-20240514204322953](./images/image-20240514204322953.png)
如果使用sdkv1.4.0_linux5.10 的SDK编译debian,步骤如下
先装依赖环境
```
sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev \
 liblz4-tool expect expect-dev 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 \
 libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
 libmpc-dev bc python-is-python3 python2
sudo dpkg -i debian/ubuntu-build-service/packages/*
sudo apt-get install -f
```
进入sdk根目录,运行./build.sh debian 会出现如下错误,我们只需要按照他推荐的更新一些工具就可以运行了。
![image-20240611152547317](./images/image-20240611152547317.png)
```
sudo update-binfmts --unimport qemu-aarch64 2>/dev/null
sudo update-binfmts --disable qemu-aarch64 2>/dev/null
sudo rm -f /usr/bin/qemu-aarch64-static
sudo cp /home/android/rk3568/sdkv1.4.0_linux5.10/device/rockchip/common/data/qemu-aarch64-static /usr/bin/
sudo update-binfmts --enable qemu-aarch64 2>/dev/null
sudo update-binfmts --import qemu-aarch64 2>/dev/null
```
## 1.5 Linux SDK源码编译
@@ -741,6 +775,8 @@
DTS文件修改
```c
#Linux 4.19
&can0 {
        compatible = "rockchip,can-1.0";
        assigned-clocks = <&cru CLK_CAN0>;
@@ -758,6 +794,26 @@
        pinctrl-0 = <&can1m1_pins>;
        status = "okay";
};
#Linux 5.10
&can0 {
        compatible = "rockchip,rk3568-can-2.0";
        assigned-clocks = <&cru CLK_CAN0>;
        assigned-clock-rates = <150000000>;
        pinctrl-names = "default";
        pinctrl-0 = <&can0m1_pins>;
        status = "okay";
};
&can1 {
        compatible = "rockchip,rk3568-can-2.0";
        assigned-clocks = <&cru CLK_CAN1>;
        assigned-clock-rates = <150000000>;
        pinctrl-names = "default";
        pinctrl-0 = <&can1m1_pins>;
        status = "okay";
};
```
@@ -1279,7 +1335,7 @@
ppp拨号方式需要编写三个脚本文件存放在/etc/ppp/peers下
默认是没有这些文件夹的,所以需要去创建ppp和peer文件夹,创建好后在peers下创建如下三个脚本文件
默认是没有这些文件夹的,所以需要去创建ppp和peers文件夹,创建好后在peers下创建如下三个脚本文件
**rasppp.sh**
@@ -1424,6 +1480,26 @@
同样,我们可以ping百度测试上网功能
![](./images/4g-15.png)
**如果使用Linux5.10内核版本,默认内核是没有开启cdc_ether模块即ECM模式,所以要配置内核驱动ECM模式**
`cdc_ether`是Linux操作系统中的一个内核模块,用于支持USB CDC(Communications Device Class)以太网设备。这个模块允许系统将某些USB设备(例如4G/5G调制解调器、智能手机、USB以太网适配器)识别和配置为网络接口,使其能够像传统的以太网设备一样进行网络通信。
当切换到ECM模式后,cdc_ether模块会自动加载,加载`cdc_ether`模块后,系统会创建一个新的网络接口(例如`usb0`),用户可以通过该接口进行网络配置和通信。
内核配置如下
```
Device Drivers ->
   [*] Network device support ->
      <*>   USB Network Adapters  --->
      <*>   Multi-purpose USB Networking Framework ---->
      -*-     CDC Ethernet support (smart devices such as cable modems)
```
## 3.11 RK3568自带的NPU
@@ -1662,6 +1738,6 @@
运行comport程序让rk3568输出读取电压的指令给mcu
同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017mV~5.882mV
同样在XCOM上也能看到MCU的采样调试信息,旋转电位器旋钮至最左或最右分别测量最小电流和最大电流,量程约为0.017V~5.882V
![image-20240530143956558](./images/image-20240530143956558.png)