目录
(4)从电脑下载(tftp 192.168.25.2 -g -r main )
(5)从开发板发出文件(tftp 192.168.25.2 -p -l main )
(5)打开/打开开发板/usr/local/etc/sshd_config, 在文件末行加上PermitRootLogin yes
(7)打开 /etc/passwd 文件,在最后添加下面这一行
一、用CRT连接开发板
1、安装CRT调试工具
2、连接开发板
串口线驱动正常则会显示端口号
3、开机后ctrl+c关闭登录程序可以进入命令行
二、开发板和电脑文件之间的传输(串口)
1、rx(从电脑下载文件到开发板)
rx FileName(串口)
2、sz(将文件从开发板发送到电脑)
三、U盘的使用
u盘的路径:/mnt/udisk
SD卡的路径:/mnt/sd
四、网络传输
(1)打开tftp服务器(windows电脑上的)
(2) 配置服务器信息
(3)下载(开发板操作)
(4)从电脑下载(tftp 192.168.25.2 -g -r main )
(5)从开发板发出文件(tftp 192.168.25.2 -p -l main )
五、运行文件
1、gcc只能在电脑上运行,交叉编译只能在开发板上运行
2、安装交叉编译工具链
(1)下载arm-linux-gnu5.4.0.rar
(2)把arm-linux-gnueabi-5.4.0.tar.xz 复制到虚拟机/WSL的共享路径下
(3)把 .xz 文件进行解压 (-J)
$sudo tar -Jxvf arm-linux-gnueabi-5.4.0.tar.xz -C /
把该压缩包解压到根目录即可
(4)添加环境变量
vim ~/.bashrc
在文件末尾添加
export PATH=/usr/local/arm/5.4.0/usr/bin:$PAT
(5)刷新一下配置文件
$source ~/.bashrc
(6)检查是否安装成功
arm-linux-gcc -v // 查看版本信息
(7)使用交叉编译器进行编译程序
gcc Hello.c -o Hello // 编译的程序只能在X86(电脑)运行
arm-linux-gcc Hell.c -o Hello // 编译的程序只能在ARM(开发板)运行
(8)把之前的makefile的cc会换成arm-linux-gcc
使用arm-linux-gcc 出现一下问题:
rm-linux-gcc src/Output.c -o src/Output.o -I./inc -c
/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1:
error while loading shared libraries: libmpfr.so.4:
cannot open shared object file: No such file or directory
原因是系统中使用的 so.6 的库,但是我们的编译用的是so.4
硬核解决方法
$sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.
把so.6做一个连接文件为 so.4 即可
3、交叉编译后修改属性并且运行程序
chmod 111 main(777可读写可执行,111可执行)
./main(若程序进行gcc编译,则不能直接运行,需要进行交叉编译)
六、解决出现中文错误的问题
七、开发板网络配置
(1)连接网线
[ 512.612000] PHY: stmmac-0:04 - Link is Up - 1000/Full
网线正常则会出现上面的语句表示网卡已经启动
(2)自动获取网络地址
udhcpc
(3)电脑连接开发板
在串口手动配置ip地址上:ifconfig eth0 192.168.25.4
在vs的终端:ping 192.168.25.4
开发板连接电脑 :ping 192.168.25.2
(4)将开发板ip地址写入到配置文件
//打开配置文件
#vi /etc/profile
//把配置网卡的命令写入该文件最后一行
ifconfig eth0 192.168.25.xxx
#./iot关闭登录界面
(5)设置网络ip地址、网关、域名
ifconfig lo 127.0.0.1 up #lo内部环网
ifconfig eth0 up # 启动eth0 网卡
ifconfig eth0 192.168.25.4 #配置eth0的IP
route add default gw 192.168.25.1 #配置eth0的网关
echo "nameserver 202.96.134.33" > /etc/resolv.conf # 把域名解析服务器设置为 202.96.134.33
echo "search lan" >> /etc/resolv.conf # 估计开启了某个服务
八、如何使用网络调试开发板(talent、ssh)
1、talent
(1)开启开发板的Telnet服务
telnetd
(2)使用 top 来检查telnet是否已经在运行
(3)通过telnet来连接开发板
(4)使用linux终端连接
telnet 192.168.25.4
2、ssh服务
(1)确保目标板上有以下目录,若没有,则新建
(2) 把opssh文件夹中的所有资料打包
(3)把打包好的文件。传到开发板的 /usr/local
(4) 解压打包好的文件到 /usr/local
(5)打开/打开开发板/usr/local/etc/sshd_config, 在文件末行加上PermitRootLogin yes
(6) 设置开发板的登录密码
(7)打开 /etc/passwd 文件,在最后添加下面这一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
(8)打开key权限
进入/usr/local/etc/
$ chmod 600 ssh_host_dsa_key
$ chmod 600 ssh_host_ecdsa_key
$ chmod 600 ssh_host_ed25519_key
$ chmod 600 ssh_host_rsa_key
(9)把open ssh服务开启的命令写入到 配置文件
vi /etc/profile
/usr/local/sbin/sshd
(10)先把ssh运行试试
#/usr/local/sbin/sshd
/usr/local/sbin/sshd: error while loading shared libraries:
libcrypto.so.1.0.0: cannot open shared object file:
No such file or directory
(11)把库文件方到 /usr/lib 或者 /lib
libcrypto.so.1.0.0
libz.so.1
(12)再次运行 ssh 服务
ssh root@192.168.25.4
(13)进行数据的交互 (开发板是服务器)
$scp Jacy root@192.168.25.4:~/Even // 把电脑的Jacy传输到开发板的~/Even
$scp -r root@192.168.25.4:~/Even ./ // 把 开发板的 ~/Even 目录下载到电脑的./
$scp root@192.168.25.4:~/main ./ // 把 开发板的 ~/main 文件下载到电脑的./