分类: LINUX
2013-09-07 21:30:08
嵌入式系统调试技术:一是硬件级调试技术,而是源代码级调试技术。硬件级调试工具适合嵌入式系统的硬件设计与调试阶段,以及嵌入式系统的软件环境(包括bootloader、内核、文件系统、库、驱动等)创建阶段,而源代码级软件调试工具一般适用于应用软件的调试
硬件级调试一般采用特殊的专用硬件调试接口(如JTAG等),而源代码级调试时目标机上的操作系统环境以及建立,所以主机和目标机之间采用串口或网络接口,并且要在目标机上运行驻留程序(如通过nfs实现共享,还FTP调试方式)
可执行文件在nfs挂载主机的共享分区,让应用程序之间运行在嵌入式系统中,FTP方式是将可执行文件通过FTP下载到嵌入式目标系统中,当应用程序修改后需重新下载
JTAG仿真器的主要作用就是实现串口或并口与JTAG接口的TAP控制器信号之间的转换
经调试好的应用程序就可以下载到目标系统的Flash文件系统或者之间编译到内核并下载到flash从而形成一个独立的嵌入式应用系统
建立NFS开发环境:第一步:关闭防火墙,运行命令#/etc/init.d/iptables stop(或#lokit )第二步:设置共享目录,运行命令#gedit /etc/exports 然后编辑配置文件:/opt/EmbedSky/root_nfs *(rw
,sync,no_root_squash)
其中:/opt/EmbedSky/root_nfs表示nfs共享目录,它可以作为开发板的根文件系统通过nfs挂载
*表示所有客户机都可以挂载此目录
rw表示所有挂载此目录的客户机都有读写权限,(当然也可设置为ro,但一般设置为rw)
sync表示数据同步写入内存和磁盘
no_root_squash表示允许挂载此目录的客户机享有该主机的root身份(如果使用默认的root_squash,target board自己的根文件系统可能有很多无法写入,所有运行会受很大的限制,可以通过设定/etc/hosts.deny和/etc/hosts.allow文件来限制网络服务的存取权限)
第三步:建立共享目录,使用命令#mkdir /opt/EmbedSky/root_nfs ,然后复制前面建立好的文件系统复制一份到/opt/EmbedSky/目录下并改名为root_nfs 使用命令#cp –f /etc/exports /opt/EmbedSky/root_nfs,另外注意,复制为root_nfs后,/opt/EmbedSky/root_nfs/dev目录下的console和null就不存在了,需重新建立,使用的命令:
#cd /opt/EmbedSky/root_nfs/dev/
#mknod console
c 5 1
#mknod null
c 1 3
第四步:修改“/etc/init.d/rcS”文件,屏蔽“net_set&”这行,屏蔽方式为“#net_set&”
第五步:启动和停止nfs,使用的命令是:#/etc/init.d/nfs start
#/etc/init.d/nfs stop
第六步:测试nfs服务是否开启,使用的命令是:
#mount –t nfs
192.168.1.8:/opt/EmbedSky/root_nfs /opt/EmbedSky/root
第七步:打开系统配置窗口,使用的命令:#serviceconf
,在窗口中配置nfs
第八步:在开发板的控制台(超级终端)使用如下命令挂载nfs到Yaffs文件系统的/mnt/目录下,使用的命令:
#mount –t nfs
192.168.1.8:/opt/EmbedSky/root_nfs/mnt –o nolock
如果挂载不成功则需要在u-boot中进行相关设置