RK调试记录


前言

驱动调试等记录


1、ubuntu查看版本号

cat /etc/issue
cat /proc/version

2、gpio调试

gpio2_D3 // 64 24 3

echo 91  > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio91/direction 
echo 1 >  /sys/class/gpio/gpio91/value  

3、can调试

   1、http://www.xbhp.cn/news/80724.html
   2、https://blog.csdn.net/proware/article/details/126107886
   3、设置can波特率才能up
   ip link set can0 down 		#关闭can设备;
   ip link set can0 up type can bitrate 250000 #设置can波特率
   ip link set can0 up   		#开启can设备  
   cansend can0 123#000102030405060708 #发送信息
   candump can0  			    #接收can总线发来数据
   ip -details link show can0 	#显示can设备详细信息 
   ifconfig can0 down 			#关闭can设备,以便配置 
   
   ip link set can0 down
   ip link set can0 up type can bitrate 250000
   ip link set can0 up
   cansend can0 001#000102030405060708
   candump can0

4、查看时区,设置上海时区

cat  /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5、查看gpio状态

 cat /sys/kernel/debug/gpio 

6、设置RK3568 otg模式

echo  host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode        //host
echo  peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode //device

7、开机执行脚本,ubuntu20.04方案

1.修改rc-local.service文件,没有就sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system
	sudo vim /etc/systemd/system/rc-local.service
	添加如下:
			[Install]
			WantedBy=multi-user.target
			Alias=rc-local.service
			
2.创建rc.local文件
	touch /etc/rc.local
	里边写运行的命令:
	#!/bin/sh
	echo "This is test" > /tmp/my.log
	exit 0/etc/rc.local加上可执行权限
	sudo chmod +x /etc/rc.local
	参考:https://blog.csdn.net/weixin_44692055/article/details/131839118

8、文件系统挂载

1.将文件系统 ubuntu-rootfs.img放到linux系统中,并创建目录rootfs
  1. 创建mount.sh脚本:
#!/bin/bash
mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}proc
sudo mount -t sysfs /sys ${2}sys
sudo mount -o bind /dev ${2}dev
sudo mount -o bind /dev/pts ${2}dev/pts
sudo chroot ${2}
}
umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount ${2}sys
sudo umount ${2}dev/pts
sudo umount ${2}dev
}					 
if [ "$1" == "-m" ] && [ -n "$2" ] ; then
sudo mount -o loop ubuntu-rootfs.img ./rootfs
mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ]; then
umnt $1 $2
sudo umount ubuntu-rootfs.img ./rootfs
else
echo ""
echo "Either 1'st, 2'nd or both parameters were missing"
echo ""
echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
echo ""
echo "For example: ch-mount -m /media/sdcard/"
echo ""
echo 1st parameter : ${1}
echo 2nd parameter : ${2}
fi
    执行./mount.sh -m rootfs/
	在linux系统下进入rootfs目录下,增加或删除文件
	修改完之后输入exit退出
	执行./mount.sh -u rootfs/
	5.ubuntu-rootfs.img就是改过的

9、ubuntu20.04修改中端登录打印信息

https://blog.csdn.net/terry_xiwang/article/details/124669156

10、蓝牙调试

   1、hciconfig查看设备
   2、http://t.csdn.cn/6HWZp
   3、http://t.csdn.cn/c9uw1 
   4、https://blog.csdn.net/gangyanliang/article/details/47338743

11、wifi调试

扫描热点

   sudo nmcli dev wifi 

接入热点

    sudo nmcli dev wifi connect "MYWIFI" password "00000000"  

12、fan调试

1、读取cpu温度:
               cat /sys/class/thermal/thermal_zone0/temp
2、设置pwm大小(0-255):
               echo 0 > /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm_value
3、查看pwm大小:
               cat /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm_value

13、录音测试

录音

 arecord -D hw:0 -f S32_LE -r 48000 -c 8 -d 3 test.wav
		-D 指定了录音设备
		-d 指定录音的时长,单位时秒
		-f 指定录音格式(32/24等)
		-r 指定了采样率,单位时Hz
		-c 指定channel 个数
		文件格式默认wav		

14、播放测试

指定声卡0播放:

aplay -D hw:0 test.wav

指定声卡1播放:

aplay -D hw:1 test.wav

15、声卡1的录音设备0录音,从声卡0播出

 alsaloop -C hw:0,0 -P hw:1,0 -t 10000 -A 3 -S 1 -b -v

16、查看声卡

 aplay -l  
card 0: rockchiprk809co [rockchip,rk809-codec], device 0: fe410000.i2s-rk817-hifi rk817-hifi-0 [fe410000.i2s-rk817-hifi rk817-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rockchiphdmi [rockchip,hdmi], device 0: rockchip,hdmi i2s-hifi-0 [rockchip,hdmi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

17、amixer命令控制声卡输出音量大小

RK809:
1、 amixer -c 0 contents //-c 0 表示指定声卡0

amixer -c 0 contents
		numid=3,iface=MIXER,name='Playback Volume'
		  ; type=INTEGER,access=rw---R--,values=2,min=0,max=97,step=0
		  : values=50,50
		  | dBscale-min=-95.00dB,step=0.37dB,mute=0
		numid=2,iface=MIXER,name='Capture MIC Path'
		  ; type=ENUMERATED,access=rw------,values=1,items=2
		  ; Item #0 'MIC OFF'
		  ; Item #1 'Main Mic'
		  : values=1
		numid=4,iface=MIXER,name='Capture Volume'
		  ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
		  : values=255,255
		  | dBscale-min=-95.00dB,step=0.37dB,mute=0
		numid=1,iface=MIXER,name='Playback Path'
		  ; type=ENUMERATED,access=rw------,values=1,items=11
		  ; Item #0 'OFF'
		  ; Item #1 'RCV'
		  ; Item #2 'SPK'
		  ; Item #3 'HP'
		  ; Item #4 'HP_NO_MIC'
		  ; Item #5 'BT'
		  ; Item #6 'SPK_HP'
		  ; Item #7 'RING_SPK'
		  ; Item #8 'RING_HP'
		  ; Item #9 'RING_HP_NO_MIC'
		  ; Item #10 'RING_SPK_HP'
		  : values=6
		root@rk3568:~#

2、指令使用:

   amixer -c 0 cset numid=3   100//设置声卡1的耳机和喇叭音量大小
   amixer -c 0 cset numid=1   0    //0--OFF (耳机和喇叭),关闭声卡1的音频路由   
   amixer -c 0 cset numid=12  6   //10--ON (耳机和喇叭),设置声卡1的音频路由 
   amixer -c 0 cset numid=2   1 //0--Off 1--en
   amixer -c 0 cset numid=4   100 //设置声卡1录音的大小 

HDMI:
1、amixer -c 0 contents

amixer -c 0 cset numid=4,iface=PCM,name='AUDIO MODE' 100
amixer -c 0 cset numid=3,iface=PCM,name='ELD' 100
amixer -c 0 cset numid=1,iface=CARD,name='rockchip,hdmi Jack' 0 

amixer -c 0 cset numid=12  6& aplay -D hw:0  
amixer -c 0 cget numid=12   

18、导出文件系统(rk3588-debian-rootfs)

1、dd if=/dev/mmcblk0p6 of=/userdata/rootfs.img  
2、e2fsck -p -f rootfs.img   //e2fsck检查并修复镜像文件
3、resize2fs -M rootfs.img   //resize2fs减小镜像文件大小,烧录后mmcblk0p6分区大小与rootfs.img此时的一样 
4、拷贝到windos下使用烧录工具烧录到另外一台机器验证
5、resize2fs /dev/mmcblk0p6  //还原mmcblk0p6分区实际大小

19、设置串口波特率

stty查看串口参数,查看串口1(/dev/ttyS0)当前的参数,包括波特率、数据位等。

    stty -F /dev/ttyS0 -a  

stty设置串口参数,该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。一般情况下设置这两个参数就可以了

    stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8

20、修改指定用户登录,登录时需要输入密码

vim etc/lightdm/lightdm.conf		  
 #autologin-guest=false
+autologin-user=(用户名)
-autologin-user-timeout=0
+#autologin-user-timeout=0
 #autologin-in-background=false	  

21、设置串口开机直接自动登录

先备份文件:

cp /etc/systemd/system/getty.target.wants/getty@ttyS0.service  /etc/systemd/system/getty.target.wants/getty@ttyS0.service.bak		  

然后修改

vim  /etc/systemd/system/getty.target.wants/getty@ttyS0.service 

把 ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
修改为以下内容:

ExecStart=-/sbin/agetty --keep-baud -a root 115200,38400,9600 %I $TERM

或者以下内容:

ExecStart=-/sbin/agetty -a root -8 -L %I 115200 $TERM

在[Service]项的 ExecStart=添加"-a root",root为用户名

22、网络adb

# 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听
adb tcpip 5555
# 此时可以断开 USB 连接
# 远程连接设备,设备的 IP 地址是 192.168.1.100
adb connect 192.168.1.100:5555
# 断开连接
adb disconnect 192.168.1.100:5555		  

23、windos下修改脚本bat文件,把散包合成一个按时间命名的update-xx-xx-xx-xx.img文件

Afptool -pack ./ Image\update.img
RKImageMaker.exe -RK3588 Image\MiniLoaderAll.bin  Image\update.img update.img -os_type:androidos
rem update.img is new format, Image\update.img is old format, so delete older format
del  Image\update.img
move update.img Image\update-%date:~,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.img
pause 		 

24、修改分区大小

使用tools/windows/ParameterTool_v1.2.zip修改parameter.txt,合成整包update.img烧录验证成功		  

25、系统桌面旋转

当前所有连接上的显示屏: xrandr --listmonitors查看或者xrandr | grep “connected”|awk ‘{print$1}’
指定HDMI-1旋转:
xrandr --output HDMI-1 --rotate right //顺时针旋转90度
xrandr --output HDMI-1 --rotate left //逆时针旋转90度
xrandr --output HDMI-1 --rotate inverted //倒转
xrandr --output HDMI-1 --rotate normal //正常状态
设置HDMI-1为主屏:
xrandr --output HDMI-1 --primary
关闭打开HDMI-1屏幕
xrandr --output HDMI-1 --off
xrandr --output HDMI-1 --auto
设置HDMI-1分辨率:
xrandr --output HDMI-1 --mode 1280x720
双屏显示设置方法:
xrandr --output HDMI-1 --same-as LVDS-1 --auto //复制屏幕
xrandr --output HDMI-1 --right-of eDP-1 --auto //右扩展屏幕(HDMI为eDP的右扩展屏)
xrandr --output eDP-1 --right-of HDMI-1 --auto //左扩展屏幕(HDMI为eDP的左扩展屏)

26、要查看正在执行的服务,可以使用以下命令:

1. 使用`systemctl`命令查看正在运行的服务: 
   systemctl list-units --type=service --state=running 
2. 使用`service`命令查看正在运行的服务: 
   service --status-all 
3. 使用`ps`命令结合`grep`过滤器查看正在运行的服务进程: 
   ps aux | grep service_name  其中,`service_name`是你要查找的服务名称。
   请注意,以上命令可能需要以root用户或使用sudo权限来执行。 

27、ubuntu20.04网络配置

1、重启网络
   sudo systemctl restart NetworkManager.service
2、配置网络

   vim /etc/netplan/00-installer-config-ethx.yaml
   vim /etc/netplan/01-installer-config-wifi.yaml
   sudo netplan apply

28、wifi驱动加载不成功处理

 由于自己做的rootfs没有wifi模组的配置wifi加载不成功
   log:
	   [ 1087.353421] [dhd] dhd_bus_devreset: making DHD_BUS_DOWN
	   [ 1087.353505] [dhd] dhdsdio_probe_init: making DHD_BUS_DOWN
	   [ 1087.353795] [dhd] dhd_conf_set_path_params : Final fw_path=/vendor/etc/firmware/fw_bcm43456c5_ag.bin
	   [ 1087.353800] [dhd] dhd_conf_set_path_params : Final nv_path=/vendor/etc/firmware/nvram_ap6256.txt
	   [ 1087.353802] [dhd] dhd_conf_set_path_params : Final clm_path=/vendor/etc/firmware/clm_bcm43456c5_ag.blob
	   [ 1087.353807] [dhd] dhd_conf_set_path_params : Final conf_path=/vendor/etc/firmware/config.txt
	   [ 1087.353822] [dhd] dhd_get_download_buffer: Open image file failed /vendor/etc/firmware/config.txt
	   [ 1087.353826] [dhd] dhd_conf_read_config : Ignore config file /vendor/etc/firmware/config.txt
	   [ 1087.354761] [dhd] dhdsdio_download_code_file: Open firmware file failed /vendor/etc/firmware/fw_bcm43456c5_ag.bin
	   [ 1087.354766] [dhd] _dhdsdio_download_firmware: dongle image file download failed
	   [ 1087.354818] [dhd] dhd_bus_devreset Failed to download binary to the dongle
	   [ 1087.354827] [dhd] dhd_net_bus_devreset: dhd_bus_devreset: -35
	   [ 1087.354830] [dhd] ANDROID-ERROR) failed to power up wifi chip, retry again (0 left) **
   解决:
        复制模组的配置文件到/vendor/etc/firmware下

29、rp-ubuntu20.04-xfce 修改配置

1、修改root用户密码
      sudo passwd root	
2、修改主机名
	  sudo echo rk356X > /etc/hostname
      sudo echo rk356X > /etc/hosts
3、删除用户
   a、删除用户的账户及相关的文件和目录
       sudo userdel user0
   b、删除用户的同时,删除用户的主目录和主目录里的所有文件
       sudo deluser --remove-home user0
4、添加用户
              sudo useradd -d /home/user0 -m user0
	设置密码:sudo passwd   user0
5、查看所有用户(查看所有用户的命令可以显示所有用户(包括系统用户)和其相关的组信息	)
   cat /etc/passwd | cut -d: -f1
6、开机指定用户登录
   vim  /etc/slim.conf
   
   # default user, leave blank or remove this line
   # for avoid pre-loading the username.
   default_user        user0
7、普通用户添加root权限,找到下面一行,在root下面添加一行
    vim /etc/sudoers
    ## Allow root to run any commands anywhere
	root ALL=(ALL) ALL
	user0 ALL=(ALL) ALL
	修改完毕,现在可以用 user0 帐号登录,然后用命令su,即可获得root权限进行操作。 
8、修改4G/5G服务
    mv  /etc/udev/rules.d/99-rpdzkj-5G-service.rules	 /etc/udev/rules.d/99-5G-service.rules
	vim /etc/pcie_modem.sh 
9、xfce修改壁纸
    mv /usr/share/backgrounds/xfce/xfce-stripes.png /usr/share/backgrounds/xfce/xfce-stripes-bak.png 
	cp /usr/share/backgrounds/warty-final-ubuntu.png /usr/share/backgrounds/xfce/xfce-stripes.png
10、ubuntu查看启动的服务
    systemctl list-units --type=service --state=running

30、配置开机启动指定程序

1.在目录/lib/systemd/system/新增配置文件 test_app.service(注意文件后缀必须是.service)
2.文件内容如下,注意实际应用时将()以及()中的内容删除:
	[Unit]
	Description=optek_raman server (服务介绍)
	After=rockchip.service (在服务rockchip.service启动之后启动本服务)
	[Service]
	Type=simple
	EnvironmentFile=-/etc/default/weston_env (非必要选项:服务程序需要的环境变量配置)
	ExecStartPre= /usr/bin/weston_run.sh (非必要选项:在启动本服务前,先执行指向的脚本)
	ExecStart=/root/bundle/rk_mili_raman -b ./ -w 960 -h 640 (本服务对于的主程序路径,后面是传入程序的参数)
	KillMode=process
	Restart=on-failure (本服务退出后,系统将会自动唤醒本)
	[Install]
	WantedBy=multi-user.target(可以设置为多用户模式)
	Alias=optek_raman.service (别名)
3.配置开机启动,重启后生效
	systemctl enable test_app.service
4.停止开机启动程序  
	systemctl disable test_app.service
5.更多使用介绍可以百度或google systemctl用法。

31、adc调试

分别对应原理图的8个通道:
	ls /sys/bus/iio/devices/iio\:device0/in_voltage*_raw
	in_voltage0_raw  
	in_voltage1_raw  
	in_voltage2_raw  
	in_voltage3_raw  
	in_voltage4_raw  
	in_voltage5_raw  
	in_voltage6_raw  
	in_voltage7_raw
	获取1通道:
    cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
    1023

32、解决开机卡“A start job is running for wait for network to be Configured”的解决方法

编辑:
vim /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service

修改:
- ExecStart=/usr/bin/nm-online -s -q --timeout=0
+ ExecStart=/usr/bin/nm-online -s -q --timeout=0

33、在ARM架构的系统上安装Screen

1、sudo apt-get update
2、sudo apt-get install screen
3、创建新的虚拟终端:screen -S my_session  
4、若要退出当前会话,可以按Ctrl + A,然后按D。
5、重新连接:screen -r my_session
6、删除创建新的虚拟终端:screen -X -S my_session quit
7、查看已经创建的虚拟终端:screen -list

34、5G测试

busybox microcom -t 6000 -s 115200 /dev/ttyUSB0

35、usb存储设备测试读写速度

1、挂载
mount /dev/sda2 usb3.0
2、测试
   写入: dd if=/dev/zero of=/usb3.0/1G.file  bs=1024 count=1000000
   读取: dd if=/usb3.0/1G.file  of=/dev/zero bs=1024 count=1000000	
3、查看
lsusb -t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那肯定是很多年以后!

你的鼓励就我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值