内核编译
d40(目前正在用的编译方法)
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- nuroum-d40-v1.img -j12(nuroum-d40-v1.img -j12代表要编译出来的内核文件)
cp "/home/zhanbb/D40/0908/ax5-kernel/zboot.img" "/home/zhanbb/D40/0908/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
d40 data:0908
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- nuroum-d40-v1.img -j12
cp "/home/zhanbb/D40/0908/ax5-kernel/zboot.img" "/home/zhanbb/D40/0908/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
d40 new gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- nuroum-d40-v1.img -j12
cp "/home/zhanbb/D40/6.27/ax5-kernel/zboot.img" "/home/zhanbb/D40/6.26/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
d40 new gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=arm-linux-gnueabihf- nuroum-d40-v1.img -j12
cp "/home/zhanbb/D40/6.27/ax5-kernel/zboot.img" "/home/zhanbb/D40/6.26/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
d40 new gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- nuroum-d40-v1.img -j12
cp "/home/zhanbb/D40/7.25kernel/ax5-kernel/zboot.img" "/home/zhanbb/D40/6.26/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
内核编译
a22 data:1218
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- nuroum-a20s-v1.img -j12
cp "/home/zhanbb/a22/rk3308-kernel/zboot.img" "/home/zhanbb/a22/a20s-rk3308/packshop-rk3308/Trunk/Backup/Images/kernel/kernel_A22"
a22 模块编译复制
cp drivers/usb/gadget/function/usb_f_uac1.ko "/home/zhanbb/a22/a20s-rk3308/packshop-rk3308/Trunk/Images/rootfs/vendor/lib/modules/usb_f_uac1.ko"
cp drivers/usb/gadget/legacy/g_multi.ko "/home/zhanbb/a22/a20s-rk3308/packshop-rk3308/Trunk/Images/rootfs/vendor/lib/modules/g_multi.ko"
cp drivers/usb/gadget/function/u_audio.ko "/home/zhanbb/a22/a20s-rk3308/packshop-rk3308/Trunk/Images/rootfs/vendor/lib/modules/u_audio.ko"
cp drivers/usb/gadget/function/usb_f_hid.ko "/home/zhanbb/a22/a20s-rk3308/packshop-rk3308/Trunk/Images/rootfs/vendor/lib/modules/usb_f_hid.ko"
dmesg | grep hidInit
A15
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- nuroum-a15-v1.img -j12
A45
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- nuroum-a35-v1.img -j12
cp "/home/zhanbb/A45/ax5-kernel/zboot.img" "/home/zhanbb/A45/a15-rk3308/packshop-a15/Trunk/Backup/Images/kernel/kernel_A45"
A35
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- nuroum-a35-v1.img -j12
cp "/home/zhanbb/A45/ax5-kernel/zboot.img" "/home/zhanbb/a35/a15-rk3308/packshop-a15/Trunk/Backup/Images/kernel/kernel_A45"
A22
"\\192.168.16.203\zhanbb\a22\a20s-rk3308\packshop-rk3308\A22Release\General_MC_[Hamedal_A22]_V1.0.0.0.R.230823\rootfs.xz"
"D:\Engineering documents\a22\A22_V1.0.0.0.R.230802\烧录工具\RK3308\a20Srk_img\rootfs.xz"
d40_adb
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- nuroum-d40-v1.img -j12
cp "/data/share/zhanbb/kernel_adb/zboot.img" "/home/zhanbb/D40/adb/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
"/home/zhanbb/D40/adb/d40/"
A22频偏校准
./build.sh -b
cd samples/bt_box/src/att/att_patterns
./build.sh -c
./build.sh
cd -
2853蓝牙编译虚拟机网络出问题
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
AW55GSAB8CA9000720
AW94LCAB91890M0290
AW55GSAB8CA9000765
AW55GSAB8CA9000874
AW55GSAB8CA9000894
AW54GSAB8AAB0M0217
AW54GSAB8AAB0M0218
AW54GSAB8AAB0M0219
AW54GSAB8AAB0M0220
AW54GSAB8AAB0M0221
AW54GSAB8AAB0M0222
AW94LCAB91890M0213
AW94LCAB91890M0231
MJ02GSAB8AAB0M0222
添加sn
echo AW55GSAB8AAB0M0217 > /mnt/mtd/sn.cfg
sync
reboot
echo MJ02A8AA8CAE900009 > /mnt/mtd/sn.cfg
sync
reboot
echo AW55GSAB8CA9000756 > /mnt/mtd/sn.cfg
sync
reboot
rm /mnt/mtd/sn.cfg
sync
reboot
aarch64-linux-gnu
灯光
ls /sys/class/leds/
cd /sys/class/leds/led1_ic2/
echo 0 > /sys/class/leds/led1_ic2/brightness
echo 0 > /sys/class/leds/led2_ic2/brightness
echo 100 > /sys/class/leds/led1_ic2/brightness
echo 0 > /sys/class/leds/led2_ic2/brightness
echo 0 > /sys/class/leds/led3_ic2/brightness
cat /sys/class/leds/led1_ic2/brightness
cat /sys/class/leds/led2_ic2/brightness
cat /sys/class/leds/led3_ic2/brightness
/usr/bin/test_alsa_recorder 8 16000 64000 hw:2,0
/usr/bin/test_audio2_recorder
/usr/bin/test_alsa_player alsa_record.pcm
/usr/bin/test_alsa_player audio2_recorder_s.pcm
/usr/bin/test_alsa_player audio2_recorder_m.pcm
/usr/bin/test_alsa_recorder 8 1000 8000 hw:2,0
cat /sys/class/pwm/pwmchip1/pwm0/period
cat /sys/class/pwm/pwmchip1/pwm0/duty_cycle
cat /sys/class/pwm/pwmchip1/pwm0/period
echo 2000000 > /sys/class/pwm/pwmchip1/pwm0/period
cat /sys/class/pwm/pwmchip1/pwm0/period
cat /sys/class/pwm/pwmchip1/pwm0/duty_cycle
echo 1900000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
cat /sys/class/pwm/pwmchip1/pwm0/duty_cycle
adb 终端操作
adb devices
adb shell
adb push .\test_audio2 /extern
adb pull /extern/audio2_recorder_m.pcm .
./adb.exe shell
adb 配置嵌入式环境
export LD_LIBRARY_PATH=.
chmod +x *
内核修改多麦配置
cp /home/zhanbb/D40/6.27/ax5-kernel/drivers/usb/gadget/function/usb_f_uac1.ko "/home/zhanbb/D40/6.26/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/usb_f_uac1_nch.ko"
cp /home/zhanbb/D40/6.27/ax5-kernel/drivers/usb/gadget/legacy/g_multi.ko "/home/zhanbb/D40/6.26/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/g_multi_nch.ko"
make ARCH=arm64 hamedal_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- nuroum-d40-v1.img -j12
cp "/home/zhanbb/D40/0908/ax5-kernel/zboot.img" "/home/zhanbb/D40/0908/d40/packshop/Trunk/Backup/Images/kernel/kernel_D40"
cp drivers/usb/gadget/legacy/g_multi.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/g_multi.ko"
dmesg | grep 2401111623
d40内核修改双麦配置
cp drivers/usb/gadget/function/usb_f_uac1.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/usb_f_uac1.ko"
cp drivers/usb/gadget/legacy/g_multi.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/g_multi.ko"
cp drivers/usb/gadget/function/u_audio.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/u_audio.ko"
cp drivers/usb/gadget/function/usb_f_hid.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/usb_f_hid.ko"
d40内核修改十麦配置
cp drivers/usb/gadget/function/usb_f_uac1.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/usb_f_uac1_nch.ko"
cp drivers/usb/gadget/legacy/g_multi.ko "/home/zhanbb/D40/0908/d40/packshop/Trunk/Images/rootfs/vendor/lib/modules/g_multi_nch.ko"
d40 编译脚本
cd packshop-rk3308/Trunk/Packet
./packshop.lua
cd -
a20s/a22 编译脚本
#!/bin/bash
cd media/Trunk/Build/
cmake ..
make clean
make
cp ../Bin/app_main ../../../packshop-rk3308/Trunk/Images/rootfs/vendor/bin/
cd ../../../packshop-rk3308/Trunk/Packet/
./packshop.lua all
内核编译出需要替换的.ko
内核位置
drivers/usb/gadget/function/u_audio.ko
drivers/usb/gadget/function/usb_f_uac1.ko
drivers/usb/gadget/legacy/g_multi.ko
应用程序位置
\\192.168.16.203\zhanbb\D40\0908\d40\packshop\Trunk\Images\rootfs\vendor\lib\modules
pack.bin结尾固件 FACTORY 0x30200000
packinfo.bin结尾固件 FACTORY_INFO 0x30040000
sn 0x30043000
0x30000000 0x200000 擦除
0x30043000 0x1000 擦除sn扇区
反汇编以及查看错误
cd ~/D40/0908/d40/packshop/Trunk/Proj/Bin
addr2line -e hunter.debug 0x40b220
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objdump -D hunter > hunter1_elf
core dump 操作:
hunter 1 0 2 /mnt/mtd/sn.cfg /mnt/mtd/result.cfg
rm -rf /extern/err/
mkdir /extern/err/
ulimit -c 51200
echo "/extern/err/core-%e-%s-%u-%g-%p-%t" > /proc/sys/kernel/core_pattern
sync
cat /proc/sys/kernel/core_pattern
vi /extern/err/
cat /extern/err/
gdb分析
原始:
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb "/home/zhanbb/D40/0908/d40/packshop/Trunk/Proj/Bin/hunter.debug" "/home/zhanbb/D40//core/core-audio2_speaker-6-0-0-398-6"
复制了的未重命名:
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb "/home/zhanbb/D40/hunter_debug/hunter.debug" "/home/zhanbb/D40/core/core-audio2_speaker-6-0-0-398-6" //记得修改core-hunter-11-0-0-443-16文件名
复制了的重命名:
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb "/home/zhanbb/D40/hunter_debug/hunter_20240304105858.debug" "/home/zhanbb/D40/core/core-audio2_speaker-11-0-0-398-89680" //记得修改core-hunter-11-0-0-443-16文件名
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objdump -D "/home/zhanbb/D40/hunter_debug/hunter_20240301201956.debug" > "/home/zhanbb/D40/hunter_debug/hunter_20240206163753_elf" //反汇编
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objdump -D hunter_debug
> hunter1_elf
adb操作
adb devices
adb pull /extern/err/core-hunter-11-0-0-440-18
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
CC=/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc CFLAGS=-O2 ./configure
复制hunter
cp "/home/zhanbb/D40/0908/d40/packshop/Trunk/Proj/Bin/hunter.debug" "/home/zhanbb/D40/hunter_debug/hunter_$(date +%Y%m%d%H%M%S).debug"
cp "/home/zhanbb/D40/0908/d40/packshop/Trunk/Proj/Bin/hunter" "/home/zhanbb/D40/hunter_debug/hunter_$(date +%Y%m%d%H%M%S)"
反汇编
/opt/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objdump -D "/home/zhanbb/D40/hunter_debug/hunter.debug" > hunter1_elf