#000
保证开发板,windows主机,linux虚拟机 3者互联互通
linux虚拟机 ip 192.168.1.100
windows主机ip 192.168.1.102
linux开发板 ip 192.168.1.103(eth0)
#001 NFS调试
linux虚拟机
/etc/exports 文件增加一行 /your/board_rootfs/path/ROOTFS*(rw,sync,no_root_squash)
/etc/init.d/nfs restart 重启nfs服务
将编译好的板子程序 app_test,拷贝到/your/board_rootfs/path/ROOTFS/root/
linux开发板
设置启动参数,不同开发版有差异,重点在紫色和蓝色部分
setenv bootargs 'console=ttyS0,115200 root=/dev/nfs rwnfsroot=192.168.1.100:/your/board_rootfs/path/ROOTFSip=192.168.1.103::192.168.1.1:255.255.255.0::eth0:LX_MEM=0x2300000EMAC_MEM=0x100000 DRAM_LEN=0x10000000 LX_MEM2=0BB_ADDR=0xFFFFF00,0MS_GOP0_MIU=0 mtdparts=edb64M-nand:120m(UBI),-(NA)'
saveenv
重启开发板,等待开发板挂载linux虚拟机里的根文件系统,成功后,可以通过SecureCRT等软件登录到开发板
cd /root/
./app_test
就可以运行app_test程序,另外可以按需修改开发板的/etc/init.d/rcS文件
#002 程序崩溃产生core文件
linux开发板
运行app_test前,执行如下指令
ulimit -c unlimited
如果程序崩溃没有core文件,可以确认是内核问题。例如mstar的开发板,必须在/application下面执行才生成core文件。程序崩溃后,在app_test同级目录产生Coredump.gz 文件
linux虚拟机
gzip -d Coredump.gz (此命令解压Coredump.gz后产生Coredump文件,自动删除掉Coredump.gz)
/opt/mstar/mips-4.3/bin/mips-linux-gnu-gdb -c Coredump app_test
setsolib-search-path/your/board_rootfs/path/ROOTFS/lib
core-file
core-fileCoredump
bt
就会看到崩溃的堆栈信息