(1)交叉编译链: 不同平台的对指令集的编码译码不同。
将交叉编译器增加到环境变量中: ① PATH=$PATH:目录 ② vi /etc/environmet 文件中添加
交叉编译的工具集:
readelf -h 读取文件的ELF头信息
size 读取文件ELF头的大小
nm 查看可执行程序的符号表
strip 剔除符号表
strings 查看可执行程序中的字符串
objdump -d 反编译
objcopy 剔除ELF头信息
addr2line 标出错误信息的行号
1)点击虚拟机设置,然后点击添加按钮,添加网络适配器,点击下一步完成,虚拟机会自动设置。
2)使用“ifconfig”命令,可看到双网卡已经设置好了。
print 查看uboot的环境变量
setenv 设置/修改/删除uboot变量
saveenv 保存设置的uboot变量
nand erase :擦拭 write:写 read:读
tftp 使用tftp传输
bootm 启动内核 需要bootargs环境参数
go 内核从一段地址运行起来 需要bootargs环境参数
md 显示一段内存信息
ipaddr 设置ipv4 地址
bootargs启动参数:
root = 启动的根文件系在那个设备(设备信息initrd,size)
init= 内核启动后,第一个可执行文件init进程从哪来
console= 内核启动时,使用哪个设备作为控制台
服务端安装tftp服务:
安装:
sudo apt-get install tftpd-hpa //32位
sudo apt-get install tftpd openbsc-xinetd //64位
配置:
sudo vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" //指定将来下位机的下载目录为上位机的/tftpboot,此目录随意指定即可
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
修改完毕,保存退出
sudo mkdir /tftpboot //创建tftpd-hpa网络服务的下载目录
修改下载目录的用户和组权限为当前用户(例如carspiriter用户)
sudo chown carspiriter /tftpboot -R
sudo chgrp carspiriter /tftpboot -R
修改下载目录的权限
sudo chmod 777 /tftpboot
查看是否成功开启tftp服务:
netstat -ua //可看到tftp服务
客户端使用tftp服务:
nand中5M空间表示:
5M : 5* 1M
5*2*20 --> 5*1000000000000000000000 -->5 * 0x10000 --> 0x500000
nand [动词] [内存地址] [nandflash地址]
例1:nand 中5M空间读到内存21000000,1K
nand read 2100000 0500000 1024
例2:内存21000000内容写到nand 中5M空间,1K
nand write 2100000 500000 1024
例3:擦拭nand 中5M空间,1K
nand erase 500000 1024
Ubuntu 系统 安装NFS server
1)执行命令:
sudo apt-get install nfs-kernel-server
2)在用户目录下,建立一个nfs服务的专有的文件夹
mkdir nfs
3)执行命令:sudo vim /etc/exports
配置nfs
4)在文件的最后一行添加:
/~/nfs *(rw,sync,no_root_squash,no_subtree_check)
5)解释
/~/nfs:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
6)修改完上述配置文件保存退出。
7)执行命令:sudo /etc/init.d/portmap restart
重启portmap服务。
8)执行命令:sudo /etc/init.d/nfs-kernel-server restart
重启nfs服务。
将nfs作为文件系统启动
在uboot命令行,设置bootargs启动参数:
bootargs root=/dev/nfs nfsroot=192.168.1.11:/home/jxm/nfs ip=192.168.1.22 init=/linuxrc console=ttyPS0