导航:首页 > IDC知识 > 开发板主机

开发板主机

发布时间:2020-09-20 14:25:45

1、开发板ping通主机

如果你是在UBOOT的状态下,你开发板PING主机的时候,会打开网络端口,而PING完之后它就会关闭。所以如果你开发板PING过去主机的同时,主机也PING开发板,那么两者都会互相通。

2、如何使开发板和主机共享文件

当用gdb在开发板上调试时,有时需要看源代码,但源代码太大,开发板容量有限时就没法每次通过scp传入开发板,或者不想每次用scp传文件,这时就需要二者能共同访问文件了。可以使用nfs, 方法如下:
1、在主机Ubuntu上需要有nfs服务: sudo apt-get install nfs-kernel-server
2、进入/etc/exports进修改,需要root权限(注意如果第一步没有做,可能会找不到该文件)。里面添加:
/home/xx *(rw,sync,no_root_squash,no_subtree_check)
上面的/home/xx是你要共享的文件目录,剩下的参数主要是对权限的设置。
3、重启nfs服务: sudo /etc/init.d/nfs-kernel-server restart
4、最后就可以进行mount了,在开发板上运行: mount -t nfs 主机IP:/home/xx /mnt -o nolock其中主机IP:/home/xx是你主机要共享的目录, /mnt是开发板上要mount到的地方。
5、如果出现mount:
wrong fs type, bad option, bad superblock on xx, missing codepage or
helper
program,就是开发板上/sbin/下没有mount.nfs文件,在开发板上安装nfs-common即可。方法同Ubuntu:sudo
apt-get install nfs-common,如果找不到server,先在开发板上运行sudo apt-get
update再进行安装,之后进入/mnt目录就能看到共享的文件了。

3、进uboot,主机和虚拟机可以相互ping通,开发板也可以ping通主机和虚拟机,但是主机和虚拟机ping不通开发板

主机和虚拟机能相互ping通是因为主机与虚拟机都开启了对应的进程(或线程,不清楚)等待ping命令的到来,而在uboot命令输入状态下,当使用ping命令时,实际上是uboot先根据你输入的IP地址发送一个ICMP回送请求和回答报文到对应主机,然后再等待一段时间,如果在这段时间后主机没有响应,则显示ping不通,主机如果在这段时间内发送了回答报文则能ping通。可以通过追踪程序的调用来查看该过程。
你使用主机或虚拟机ping开发板时,开发板正处于main_loop循环中(等待用户输入命令),根本没有对应的程序或中断(uboot中一般不使用中断)来检测主机的ping命令,当然ping不通。
只要开发板能ping通主机就可以使用网线下载linux内核映像或文件系统了。

4、开发板怎么挂载到主机呢??

你尝试一下重启开发板等上一段时间再挂载nfs文件系统,前提是你的nfs server 已开启,我这个就有这个毛病。还有就是你用虚拟机的话ip地址确定是你的虚拟机的ip?

5、arm开发板ping不通主机,但是主机能ping通开发板是什么原因?

检查主机是否允许ping,随便找另一台机子一试便知

6、为什么主机不能ping开发板,但是开发板能够ping通主机,这是为什

如果你是在UBOOT的状态下,你开发板PING主机的时候,会打开网络端口,而PING完之后它就会关闭。所以如果你开发板PING过去主机的同时,主机也PING开发板,那么两者都会互相通。 查看更多答案>>

希望采纳

7、为什么使用虚拟机后ARM开发板不能和主机连接?

这种情况要做起来很麻烦。因为你的虚拟机还是要使用你的PC的物理上的串口啊。这样做起来是很困难的。
其实,根据我个人的经验,初学者最好是用VMware+WXP下的超级终端的开发方式。
xp下的超级终端和minicom的功能差不多,但用起来更方便。

还有,我不熟悉AT91ARM9200,不知道你们的网口是否已经调好。最好是能用的,这样超级终端或minicom就只是其控制作用,你的kernel和文件系统的烧写,还有数据的交换更新都通过网口来,这样的效率更高。

8、交叉编译的主机和开发板系统可以不一样吗

(1)交叉编译器

在主机上用来编译其它类型机器上可执行代码的编译器就叫交叉编译器,我们进行嵌入式linux的开发主机大部分都是X86,而我们的嵌入式系统的处理器有可能是ARM/MIPS等非X86处理器,这时候就必须使用ARM/MIPS的交叉编译器才能编译出在这些处理器上能够执行的代码。这里我们使用的是ARM最新的EABI编译器。

交叉编译器在编译的时候,对于浮点运行会预设硬浮点运算FPA(float point architecture),而没有FPA的CPU,比如三星的2440等,会使用FPE(float point emulation即软浮点),这样在速度上就会受到极大限制。使用EABI(embeded application binary interface)则可以对此改善处理。

(2)不修改MAKEFILE来建立编译环境

将arm-2008q3.tar.bz2拷贝到ubuntu系统的某个目录,解压后。使用VI编辑/etc/bash.bashrc,在文件最后加入环境变量设置(注:加bin的含义是交叉编译器工具目录):

保存后,用source运行一次该文件,就可以了。

(3)gcc: error trying to exec 'cc1': execvp: No such file or directory 的解决

今天在编译开发板环境时,明明设置好编译器的环境变量了,编译时就是会出现:gcc: error trying to exec 'cc1': execvp: No such file or directory 错误提示。后来发现一个方法可以解决,输入:whereis gcc,就可以了发现好几个gcc,包括/usr/bin/gcc,所以我就把PATH路径设过去,就OK了。

(4)Clock skew detected. Your build may be incomplete

如果你装了Windows Linux双系统,系统时间很可能出问题,从而造成文件修改时间比系统时间晚,两种办法:
1,应该是你的PC的系统时钟错误,在BIOS中修改正确。
2,使用touch命令将所有文件的时间戳修改为你系统的当前时间。解决方法:find ./-name "*" -exec touch {} \;

与开发板主机相关的知识