一. 搭建网络(芯片本身带网络支持可忽略这一步)
1.使用毕亚兹(biaze)USB网口转换器ZH27-PC,内部使用AX88772-A芯片。
2.编译内核添加ASIXAX88xxx 系列驱动CONFIG_USB_NET_AX8817X。
3. 开发板命令行运行以下命令使能网络。
insmod /lib/modules/3.4.0/kernel/drivers/net/usb/usbnet.ko
insmod /lib/modules/3.4.0/kernel/drivers/net/usb/asix.ko
sleep3
ifconfig eth0 192.168.5.55 netmask 255.255.255.0
二. 挂载NFS文件系统
1.ubuntu上安装nfs环境
sudo apt-get install vsftpd openssh-server nfs-kernel-serverportmap
2.修改/etc/exports,增加以下内容,以后开发板可以通过网络文件系统访问指定的目录(现在以/work为例):
/work *(rw,sync,no_root_squash,no_subtree_check)
3.配置内核
Networkingsupport
Networking options
TCP/IP networking
IP: kernel levelautoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
File systems--->
Network File Systems --->
<*> NFS client support
[*] NFS client support for NFSversion 3 [*] NFS client support for the NFSv3 ACL protocol extension
[*] NFS client support for NFSversion 4 (EXPERIMENTAL)
[*] NFS client support for NFSv4.1(DEVELOPER ONLY)
[*] Root file system on NFS
4开发板命令行运行下面命令挂载nfs文件系统
mount -t nfs -o nolock 192.168.xxx.xxx:/work /mnt/
三. 搭建开发板openssh环境
1.编译openssh-7.3p1,其依赖zlib-1.2.8和openssl-1.0.1t,具体编译方法参考目录内网页文件。
2.在openssh-7.3p1目录下运行copy.sh脚本拷贝所需文件。
3.将步骤2生成的目录拷贝到开发板,并运行untar_pkg.sh脚本将文件拷贝到开发板对应位置。
4.在主机端运行
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
并将生成的pub和key文件都拷贝到开发板/usr/local/etc目录下。
5.打开开发板/usr/local/etc/sshd_config文件,将PermitRootLoginyes前注释"#"号去除,文件末尾位置
Subsystem sftp /usr/libexec/sftp-server
改为开发板的sftp-server目录/usr/local/libexec/sftp-serve,否则会影响sftp连接。
6.打开开发板/etc/passwd文件,在最后添加下面语句
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
7.开发板运行passwdroot设置root账号密码。
8.开发板运行/usr/local/sbin/sshd启动ssh。
四.GDB编译
1.QT Creator使用的GDB要求支持python,因而需要自己重新编译gdb,下载gdb-7.12.1.tar,主机端运行
sudoapt-get install python2.7 python2.7-dev
安装python2.7。
2.进入gdb-7.12.1目录进行配置
./configure--target=arm-none-linux-gnueabi --with-python --program-prefix=arm-linux-
然后make编译生成主机端arm-linux-gdb应用,另外注意编译完成后要make install进行安装,否则调试时会提示错误找不到python。(可能会提示missing:makeinfo: not found,通过sudo apt-get install texinfo来安装。)
3.进入gdb-7.12.1/gdb/gdbserver/目录进行配置
./configure--host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
然后make编译生成开发板gdbserver应用,拷贝到开发板PATH指定的目录内。
五. QT Creator设置远程调试
1、添加一台远程设备
添加之前,要确保开发板已经移植的sshd,可以通过ssh登录到开发板。
Tools->Options->Devices 点击add,选择GenericLinux Device,输入开发板ip、用户名密码,确定后qtcreator会自动测试连接当出现Devicetest finished successfully.字样意味着测试连接成功。点击OK。
2、如果之前环境都搭建正确的话,此时在工程下直接按F5就可以开始单步调试。