Linux从系统移植到系统测试的一些命令

news/2024/11/29 22:39:36/

《一》 编译uboot、内核、设备树的一些命令///
//设置环境
export ARCH=arm64
export CROSS_COMPILE=/home/rw/I.MX8M/kenel/sourecodes/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-
export LINUXDIR=/home/rw/I.MX8M/kenel/sourecodes/linux-4.14.98-default
export KERNELDIR=/home/rw/I.MX8M/kenel/sourecodes/linux-4.14.98-default
//配置内核
make menuconfig
//编译内核
make uImage LOADADDR=0X40008000 -j4
//编译设备树
make  ARCH=arm  dtbs        //编译设备树
//烧写uboot到sd卡
dd if=uboot.imx of=/dev/sdb bs=512 seek=2 && sync          //bs乘以seek为跳过的空间大小例如imx8mmini bs=1M,seek=1
//imx8mmini的uboot烧写命令
sudo dd if=imx-boot-imx8mmevk-sd.bin of=/dev/sdb bs=512 seek=66 &&sync

《二、1》 uboot下设置环境参数的命令/
//设置内核和设备树加载位置,从sd卡启动
setenv bootcmd "fatload mmc 0 40008000 uImage; fatload mmc 0 48000000 imx6q-b850v3.dtb; bootm 40008000 - 48000000"
//设置ip地址与文件系统启动位置
//1、从nfs挂载内核、设备树和文件系统
//设置ip地址等参数
    setenv ethaddr 00:40:97:2C:00:00
    setenv gateway 192.168.4.1
    setenv ipaddr 192.168.4.4
    setenv ipaddress 192.168.4.4
    setenv serverip 192.168.4.3
    setenv netmask 255.255.255.0
    setenv loadaddr 0x41000000
    setenv fdt_addr 0x42000000
    setenv image /home/rw/nfs/kernel/uImage
    setenv fdt_file /home/rw/nfs/kernel/imx6q-b850v3.dtb
//从nfs挂载内核和文件系统
以下调试通过
    setenv  bootcmd "nfs ${loadaddr} 192.168.4.3:${image}; nfs ${fdt_addr} 192.168.4.3:${fdt_file}; bootm ${loadaddr} - ${fdt_addr}"
    setenv bootargs rw console=ttymxc2,115200 root=/dev/nfs nfsroot=192.168.4.3:/home/rw/nfs ip=192.168.4.4:192.168.4.3:192.168.4.1:255.255.255.0:proteus:eth0:off
以下供参考,可能存在问题
    setenv netargs setenv bootargs rw console=ttymxc2,115200 root=/dev/nfs rootwait fstab yes nfsroot=${serverip}:/home/rw/nfs,nolock,v2,tcp ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}::eth0:off
    setenv netargs setenv bootargs rw console=ttymxc2,115200 root=/dev/nfs nfsroot=${serverip}:/home/rw/nfs ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}:proteus:eth0:off

//2、从emmc挂载
setenv bootargs rw console =ttymxc2,115200 root=/dev/mmcblk0p1 rw
//3、从U盘挂载
setenv bootargs rw console =ttymxc2,115200 root=/dev/sda1 rw


//设置显示图像logo
//从sd卡显示
fatload mmc 0 0x18000000 w.bmp;
//从nfs显示
nfs 0x18000000 192.168.4.3:/home/rw/nfs/kernel/w.bmp;
bmp display 0x18000000;
//用nfs运行程序
nfs 0x13000000 192.168.4.3:/home/rw/nfs/kernel/fts75097.bin;
go 13000000;

《二、2》uboot下 用sf命令擦除flash里的信息///
sf probe; sf erase 0 0x90000; env default -a;

《二、3》uboot下 用tftp烧写uboot到flash/
if tftp 0x12000000 192.168.4.3:/u-boot.imx; then sf probe; sf write 0x12000000 0x400 ${filesize}; fi
//用nfs烧写
if nfs 0x12000000 192.168.4.3:/home/rw/nfs/kernel/u-boot.imx; then sf probe; sf write 0x12000000 0x400 ${filesize}; fi

《二、4》uboot下 用tftp烧写内核、设备树到flash//
if tftp 0x41000000  192.168.4.3:/uImage; then mmc probe; mmc write 0x41000000  0x0 0x2af8; fi
if tftp 0x42000000 192.168.4.3:/imx6q-b850v3.dtb; then mmc probe; mmc write 0x42000000 0x2af9 0x5a; fi
setenv bootcmd "mmc read  41000000 0 0x2af8; mmc read 42000000 0x2af9 0x5a;bootm 41000000 - 42000000"

if tftp 0x43000000 192.168.4.3:/geroots.img; then mmc probe; mmc write 0x43000000 0x2ee0 0x2a5a; fi
setenv bootcmd "mmc read  41000000 0 0x2af8; mmc read 42000000 0x2af9 0x5a;mmc read 43000000 0x2ee0 0x2a5a;bootm 41000000  42000000 43000000"

//读写内存md和mw命令
mw.w 0x87000000 0x0000 1
md.w 0x87000000 

《二、5》uboot下mac地址测试//

fuse override 4 2 deaddead

fuse override 4 3 beefbeef   //Overriding bank 4 word 0x00000003 with 0xbeefbeef

fuse prog 4 2 deaddead

fuse prog 4 3 beefbeef   //Programming bank 4 word 0x00000003 to 0xbeefbeef

fuse read 4 2   //读mac值

ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE       /*临时修改eth0网卡的MAC地址,进入内核后用ifconfig命令*/

《二、6》uboot下usb测试//

usb start
usb dev
fatls usb 0
fatload usb 0 0x12000000 dolphin.wav


《三、1》用户空间下 gpio 控制///
cat /sys/kernel/debug/gpio     //显示目前驱动已经申请到的gpio状态
echo 39 > /sys/class/gpio/export  //重新申请一个新IO
echo "out" > /sys/class/gpio/gpio39/direction  //改变IO为输出
echo 1 > /sys/class/gpio/gpio39/value           //输出为高
echo 39 > /sys/class/gpio/unexport   //释放IO

《三、2》用户空间下I2C 命令///
i2cdetect -l                   //指令可以查看TX0上的I2C总线
i2cdetect -y 2                   //扫描I2C总线2上的所有设备
i2cdump -y 2 0x50               //导出I2C总线2上0x50设备中的所有寄存器内容
i2cset -y 2 0x50 0x00 0x13      //向I2C设备中写入某字节
//-y代表跳过用户交互过程,直接执行指令
//2代表I2C总线编号
//0x50代表I2C设备地址
//0x00代表寄存器地址
//0x13代表寄存器地址中的具体内容
i2cget -y 2 0x50 0x00             //从I2C从设备中读出某字节
//    -y        代表跳过用户交互过程,直接执行指令
//    2         代表I2C总线编号
//    0x50    代表I2C设备地址
//    0x00    代表寄存器地址

//例子:
i2cset -f -y 0 0x70 0x00 4
i2cset -f -y 0 0x76 0x00 0x67  
#set the ovp bits in reg0 of the mc34844 device to 6h

i2cset -f -y 0 0x76 0x01 0x01
#set the ‘SETI2C’ bit of register 01  

i2cset -f -y 0 0x76 0x09 0x80 
# //Set POWER ON bit high (MSB of Register 09)

i2cset -f -y 0 0x76 0x09 0x9f  
i2cset -f -y 0 0x76 0x08 0x1f 
# //Set high all Channels that should be power on by writing “1” on CHENx bits (Registers 08 & 09)

i2cset -f -y 0 0x76 0x09 0x1f 
# // Clear POWER ON bit

//设置显示出口
export DISPLAY=:0.0
gplay 
//设置音量
amixer sset Headphone 120
//安装百度包
pip install baidu-aip  --trusted-host files.pythonhosted.org
//录音
arecord -Dhw:3,0 -d 10 -f S16_LE -r 16000 -c 1 -t wav test.wav
//播放
aplay -Dhw:0,1 -r8000 -f cd /a/1.wmv
//设置网卡速率
ethtool -s eth0 autoneg off speed 1000 duplex full
//连接wifi
wpa_supplicant -iwlan0 -c wpa.conf -B
//更新时间
ntpdate cn.pool.ntp.org
//文件查找
find /lib/modules/ -name *8962*
//can命令
ip link set can0 up type can bitrate 1000000
candump can0 &
cansend can0 003#0108010000112233

//设置网卡命令

cat /sys/class/net/eth0/speed

ethtool -s eth0 autoneg off speed 100 duplex full


http://www.ppmy.cn/news/521433.html

相关文章

跟一下wpa_supplicant(1) 初始化

环境: android 2.3.4 wpa_supplicant 0.8 一切从 main.c 开始: (>表示第1级, 那么>表示下一级,类推) os_program_init > 参数解析& 获取 > wpa_supplicant_init(&params) > eap_register_methods /* 注册EAP method ,比如EAP-PSK, EAP-TLS */ > glo…

networkIssue

SFR: 1、Software #5892 【客户反馈】[SFR][ONEIDA][Bearer 4G] Info Trans Flag is set to 1 in PDN Connectivity Request Description ESM info trans flag should be set to 0. Steps to reproduce : Switch on the UE. UE performs a cell search procedure.Check the UE…

Wpa_supplicant工作流程分析之scan(从应用层到内核)(上)

Wpa_supplicant工作流程分析 wpa_supplicant官网:https://w1.fi/wpa_supplicant/ wpa_supplicant源码下载官网地址:https://w1.fi/releases/ 本文分析基于版本:V2.6 1. 初始化 wpa_supplicant/main.c 在main()中,完成了四件…

自制Linux功能板

Cloud 一、前言二、电源管理2.1 锂电池2.2 充放电路2.3 稳压电路(5V->3.3V) 三 、启动方式boot3.1 概述3.2 电路图 四、USB_HUB电路4.1 概述4.2 硬件电路 五、mpu6050设计及应用5.1 概述5.2 硬件电路5.3 软件编写 六、ipslcd设计及应用6.1 概述6.2 硬…

在Talon AD7200路由器移植LEDE环境

这个项目是本人对Talon Tools: Practical IEEE 802.11ad Research | talon-tools (seemoo-lab.github.io)上的一个项目:Talon Tools: Practical IEEE 802.11ad Research的实现,同时由于该项目中存在不少误区和省略掉的点,本人对其进行了进一步…

wiFI基础知识----wpa_supplicant

1 wpa_supplicant 源码下载地址: wpa_supplicant-2.10 下载地址:wpa_supplicant-2.10 2 wpa_supplicant 学习总结 wpa_supplicant 学习参考网址:wpa_supplicant 2.1 wpa_supplicant 基本概念: ** wpa_supplicant 是什么&…

Matlab实现电网仿真(附上完整仿真源码)

电网仿真是电力系统研究和设计中非常重要的一部分。Matlab作为一种高效的数值计算工具,已经成为电网仿真中不可或缺的工具之一。本文将介绍如何使用Matlab实现电网仿真。 文章目录 1. 电网模型建立2. 电网仿真参数设置3. 电网仿真结果分析4. 完整仿真源码下载 1. 电…

iCON艾肯五代声卡Dyna版本驱动(全系列)

iCON艾肯声卡第五代声卡驱动直发方官方还没有发布,这需要找经销商要才有。支持声卡型号:Icon Cube2Nano Dyna,Icon_Duo22 Dyna,Icon MicU Dyna,Icon MobileR Dyna,Icon MobileUmini Dyna,Icon U…