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

《一》 编译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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值