1.内存操作
常用的命令是:查看内存命令md,修改内存命令mm,填充内存命令mw,复制命令cp,这些命令后面带上后缀".b",".w",".l"表示以字节,字,双字为单位操作。
md[.b,.w,.l] address [count] 显示从address地址开始的内存数据,显示数据个数为count
mm[.b,.w,.l] address 从address地址开始修改内存内容,输入数据后按回车,地址会自动增加,按“Ctrl+C”结束
mw[.b,.w,.l] address value [count] 往address地址开始处填充count个数据,数值为value。
cp[.b,.w,.l] source target count 从源地址source开始复制count个数据到目的地址target。
2.Nor Flash操作
flinfo --- 查看flash的信息
protect --- 加/解写保护
erase --- 擦除
由于nor跟内存接口一样,所以在norfash上使用mm,cp命令。
protect off all 关闭nor的写保护
erase 0 200000 从nor flash的0地址开始擦出,第二个参数是大小
cp.b 30000000 0 20000 从内存30000000 地址开始复制0x20000个字节到norflash中。
3. Nand Flash操作
nand info 查看nand flash的信息
nand erase [clean] [off size]擦除nand,如果加上“clean”表示在每一个块的第一个扇区的oob写入清除标记,off,size表示要擦除的开始偏移地址和长度,如果省略off和size,表示要擦除整个nand。
nand read[.jffs2] addr off size 从nand偏移地址off处读出size个字节的数据存放到开始地址为addr的内存中,是否加后缀".jffs2"的差别只是读操作时的ECC校验方法不同。,还有一个就是不要求页对齐。如果有分区表,可以直接 nand read.part 30000000 kernel
nand write[.jffs2] addr off size 把开始地址为addr的内存中的size个数据写到nand的偏移地址off处,是否加“.jffs2”只是读写操作时ECC校验方法不同。如果有分区表,可以直接nand write.part 30000000 kernel 将内存30000000处的数据写到kernel分区去。
nand read.yaffs addr off size 从nand偏移为off处读出size个数据(包含oob区域),存放到开始地址为addr的地址去。
nand write.yaffs addr off size 把开始地址为addr的内存中的size个字节数据(其中有要写入的OOB区域的数据)写到nand的偏移地址为off处。
nand dump off 将nand偏移地址off处的一个扇区的数据打印出来,包括oob区域。
4.通过网络下载镜像文件
如果电脑上开了tftp server,则在开发板上直接执行tftp 30000000 uImage就可以从电脑上tftp server指定的目录去下载uImage了
也可以执行 nfs 0x30000000 192.168.1.122:/work/nfs_root/uImage去下载uImage。
5.编译
arm-linux-objdump -D u-boot > u-boot.dis 将uboot的所以段的信息反汇编到u-boot.dis文件中。
arm-linux-objdump -D -b binary -m arm bin_file > dis_file 将二进制文件反汇编到dis_file文件中。
6.压缩
c - 创建
x - 提取
z - 使用gzip格式处理,与“c”结合表示压缩,与“x”结合表示解压缩
j - 使用bzip2格式处理,与“c”结合表示压缩,与“x”结合表示解压缩
f - 表示文件,后面跟一个文件名
tar czf dirA.tar.gz dirA 将目录dirA压缩为文件包dirA.tar.ga,以gzip格式压缩
tar cjf dirA.tar.bz2 dirA 将目录dirA压缩为文件包dirA.tar.ga,以bzip2格式压缩
tar xzf dirA.tar.gz 在当前目录下解开dirA.tar.gz,先用gzip方式解压缩,然后解包。
tar xjf dirA.tar.bz2 在当前目录下解开dirA.tar.bz2,先用bzip2方式解压缩,然后解包。
加-C可以指定解压到那个目录
7.patch
diff -urNwB linux-4.15.1 linux-4.15.1_ok > linux-4.15.1.diff
cd linux-4.15.1
patch -p1 < ../linux-4.15.1.diff
"-pn"表示忽略patch文件中路径中第n个斜线之前的目录。