嵌入式系统开发-麦子学院(13)-linux底层系统开发(1)

1. 嵌入式系统移植:

(1)交叉编译链: 不同平台的对指令集的编码译码不同。

将交叉编译器增加到环境变量中: ① PATH=$PATH:目录 ② vi /etc/environmet 文件中添加

交叉编译的工具集

readelf	-h 读取文件的ELF头信息
size	读取文件ELF头的大小
nm	查看可执行程序的符号表
strip	剔除符号表
strings	查看可执行程序中的字符串
objdump	-d 反编译
objcopy	剔除ELF头信息
addr2line	标出错误信息的行号

2.虚拟机配置双网卡

1)点击虚拟机设置,然后点击添加按钮,添加网络适配器,点击下一步完成,虚拟机会自动设置。
在这里插入图片描述
2)使用“ifconfig”命令,可看到双网卡已经设置好了。

在这里插入图片描述

3. u-boot常用的命令:

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=	内核启动时,使用哪个设备作为控制台

4. 安装tftp服务

服务端安装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服务:

  • 设置好网络ip
  • tftp [内存地址] 文件

5. nand 命令

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

6.NFS服务

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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式Linux系统开发技术是指在嵌入式设备上使用Linux操作系统进行开发的技术。这种技术可以应用于各种嵌入式设备,如智能手机、电视机顶盒、路由器、工业控制系统等。在嵌入式Linux系统开发中,ARM架构是一种常用的处理器架构,它具有低功耗、高性能等特点,因此在嵌入式系统中得到广泛应用。 嵌入式Linux系统开发技术详解-基于arm.pdf下载提供了关于在ARM架构上进行嵌入式Linux系统开发的详细信息。这本书从ARM架构的基础知识开始讲解,介绍了嵌入式Linux系统的构建和配置,以及在ARM平台上进行驱动程序开发、应用程序开发等方面的技术内容。此外,书中还讲解了嵌入式Linux系统的调试和优化技术,帮助开发人员提高系统的性能和稳定性。 在嵌入式Linux系统开发中,掌握ARM架构的相关知识是非常重要的,因为ARM架构是嵌入式设备中最常用的处理器架构之一。通过深入学习嵌入式Linux系统开发技术,开发人员可以更好地理解嵌入式系统的工作原理,掌握系统开发中的关键技术,并且能够更好地应用于实际项目中,提高工作效率和项目质量。 总之,嵌入式Linux系统开发技术详解-基于arm.pdf下载是一本值得阅读的书籍,可以帮助开发人员更好地掌握在ARM架构上进行嵌入式Linux系统开发的技术,为他们在嵌入式系统开发领域取得更好的成就提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值