嵌入式Linux开发--常用容易忘记记录操作Ubuntu等(容易忘记)

一、Ubuntu部分

1.1 弹出SD卡

sudo sync && eject /dev/sdX # X:一般是b(/dev/sdb)

常用记录:

sudo sync && eject /dev/sdb

1.2 找文件

由文件名找(find)

find <检索路径> <选项> <搜索内容>

参数(不整多了,整多了不想看):

  • -name:根据文件名查找(精确查找)
  • -iname:根据文件名查找,但是不区分大小写

本目录下查找:

find ./ -name "youwantfilename.hex"

在指定目录下找某个文件:

find /home/liefyuan -name "youwantfilename.hex"

找二进制文件(which)

liefyuan@ubuntu:~/Liefyuan/v3s-wifi/rootfs-temp/rootfs/etc$ which mkdir
/bin/mkdir

1.3 文件目录树

显示一层目录

tree -L 1

显示两层

tree -L 2

1.4 打包和解包

在本目录下将本目录下的所有文件都打包成一个文件

sudo tar -zcvf rootfs.tar.gz *

将压缩包文件解压到指定的目录下:

sudo tar -zxvf rootfs.tar.gz -C /media/liefyuan/rootfs/

1.5 改变权限

改变文件权限

sudo chmod 777 file

改变目录时长

就把目录下所有的文件都一起改变了

sudo chmod -R 777 directory

1.6 文件大小

本目录下的文件大小

du -sh

1.7 真常用不能忘记的软件:

  • GParted:用来给SD卡进行分区的软件
  • Disk Usage Analyzer:用来查看Ubuntu虚拟机存储空间的。

二、嵌入式Linux根文件下

2.1 进入文件系统不需要密码

编辑根文件系统下的:/etc/inittab文件
添加:::respawn:-/bin/sh
如下:

# Put a getty on the serial port
#console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
::respawn:-/bin/sh

2.2 测试屏幕

不确定屏幕驱动有没有搞好,就测试一下呗:

满屏雪花

cat /dev/urandom > /dev/fb0

清屏

cat /dev/zero > /dev/fb0

色条显示

echo 8 > /sys/class/disp/disp/attr/colorbar

2.3 电容屏没有反应,需要校准一下

进入tslib/bin目录下:

./ts_c

2.4 查看系统系统信息

uname -a

2.5 查看CPU信息

cat /proc/cpuinfo

三、SD卡部分操作

3.1 烧录Uboot的bin文件

  • 使用dd命令将bin文件烧录到SD卡的开始位置(分区时该区域需要预留出来不要格式化):dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

  • 安全的弹出SD卡:sync && eject /dev/sdb

  • /dev/sdx请替换为实际的TF卡设备文件名。

  • sync命令可以确保数据成功写到TF卡中,eject命令用于弹出TF卡。

注意:因为这个u-boot-sunxi-with-spl.bin文件比较大,所以在设置SD文件分区时需要在boot分区前预留至少3MiB的空间用来存放U-Boot文件。

已经做好的文件系统打个包

  • 进入SD卡文件系统分区的目录下(/media/liefyuan/rootfs)在目录下进行打包操作
  • 命令打包:sudo tar -zcvf rootfs.tar.gz *
  • 将这个压缩包解压到指定的目录(解压到SD卡的文件系统分区):sudo tar -zxvf rootfs.tar.gz -C /media/liefyuan/rootfs/

查看编译出来的文件

  • readelf工具是在GNU binutils工具集里面的
  • sudo apt-get install readelf
  • 查看文件头:readelf -h targetApp
  • 查看依赖库:readelf -d targetApp
$ readelf -h targetApp
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x10381
  Start of program headers:          52 (bytes into file)
  Start of section headers:          5732 (bytes into file)
  Flags:                             0x5000402, Version5 EABI, hard-float ABI, <unknown>
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         38
  Section header string table index: 35

编译相关

交叉编译器的位置:

/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

查看交叉编译的版本:

arm-linux-gnueabihf-gcc -v

交叉编译应用程序:

arm-linux-gnueabihf-gcc app.c -o app

查看交叉编译出来的文件格式

$ readelf -h gpio
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x103b1
  Start of program headers:          52 (bytes into file)
  Start of section headers:          5892 (bytes into file)
  Flags:                             0x5000402, Version5 EABI, hard-float ABI, <unknown>
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         38
  Section header string table index: 35
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值