1. SSH连接虚拟机ubuntu系统和嵌入式Linux系统
首先,通过NAT模式连接外网,下载安装ssh
安装 ssh
sudo apt-get install openssh-server
查看ssh
ps -e |grep ssh
启动ssh
/etc/init.d/ssh start
其次,关掉电脑和ubuntu的防火墙
进入安全中心,关闭windows防火墙
在ubuntu中输入下列命令,关闭ubuntu防火墙sudo ufw status
sudo ufw disable
然后,虚拟机网络适配器选择桥接模式,并且在‘编辑’->‘虚拟网络编辑器’中将已桥接至选择我们连接网线的接口,并且在网络和internet/高级网络设置/查看其他属性中,手动分配ipv4地址为和嵌入式ip同一网段
最后,通过下列命令可以ssh操作嵌入式linux系统
ssh root@192.168.0.232
但是,如果报错,可以试试下面方法
no matching host key found问题参考解决方法
sudo vi ~/.ssh/config 加入如下内容
Host *
PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms +ssh-rsa
2. 安装交叉编译工具
使用u盘将编译工具安装脚本复制到虚拟机的桌面上,打开终端并运行
在设置里添加usb控制器
右击虚拟机右下角的图标,并点击连接,可以连接u盘
安装交叉编译工具
cd ~/Desktop
sudo bash ./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh
vi ~/.bashrc
在文件的最后一行添加
source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
在终端输入source ~/.bashrc
可以arm-poky-linux-gnueabi-gcc -v
查看编译器版本
可以直接通过$CC c文件
预处理、编译、汇编
编写一个简单的C程序(hello.c)
#include <stdio.h>
int main(void){
printf("hello ELF linux borad");
return 0;
}
编译$CC hello.c -o hello_elf
将hello_elf 发送到嵌入式linux中:
scp hello_elf root@192.168.0.232:/home/root
在嵌入式linux中运行./hello_elf