目录
前言
一边学习一边记录,便于自己查看,同时也为大家分享经验。
感兴趣的朋友可以关注下我☺
平台
主机:Win7 64位
虚拟机:VMware® Workstation 12 Pro @Ubantu 18
工具
源码查看工具
SourceInsight
远程登录控制台
PuTTY
串口
需接串口
首先配置串口信息
选择串口后,Open 打开控制台
SSH
需接网线
输入目标IP地址后点Open
文件传输
FileZilla FTP
- Win7 安装FileZilla
- 虚拟机安装SSH服务
- 查看Windows IP 命令行命令ipconfig
- 查看Linux IP 命令 ifconfig
登录时需要目标主机IP,用户名,密码,端口号为21(ftp专用),可以直接文件拖拽
解决不能ping通问题
宿主机WIN7,在vmware中安装ubantu 16虚拟机,ubantu中网络与宿主机处于同一网段,虚拟机网络使用桥接模式,但配置好网络好始终不能ping通主机。
解决:
1、在宿主机的设备管理器中删除vmnet1和vmnet8两个vmware的虚拟网络设备驱动;
2、通过vmware软件修复虚拟网络。点击VMWARE菜单“编辑”,点菜单项“虚拟网络编辑器”,在打开的对话框中左下角点“恢复默认设置”,等待几十秒后,发现多了一个VMnet0(桥接模式)。
3、配置完后,重启虚拟机,即可ping通主机。
注意:
若不能PING通,则要看WIN7网络防火墙是否关闭或进行正确设置。
解决虚拟机不能连接问题 未安装SSH服务
每次输入端口号进行链接,结果出现如下信息,需检查虚拟机中的SSH 服务是否安装
错误:Network error:Connection refused
错误:无法连接到服务器
1、安装ssh server:sudo apt-get install openssh-server
2、查看进程:ps -e | grep sshd,出现如下结果,则ssh 服务启动
或:
查看ssh 服务状态:sudo /etc/init.d/ssh status,有如下结果,则服务启动
权限问题
用FileZilla 向softdir 目录传送文件,如果有下列错误:
错误: /home/softdir/apr-util-1.4.1.tar.gz: open for write:permission denied
错误: 文件传输失败
则需更改⽬录权限:sudo chmod 777 softdir/
Windows 与 Linux下程序开发比较
Windows | Linux | 嵌入式裸机 | 嵌入式Linux | |
---|---|---|---|---|
1 | 编辑 | 可以Win下编辑,传至Linux或直接linux下编辑 | Win下编辑,使用集成开发环境 | Win下编辑 |
2 | 编译 | 命令行 gcc -o hello hello.c | 集成开发环境编译 | 链接、编译(Makefile) |
3 | 执行 | 命令行 | 烧写后执行 | 烧写后执行 |
重点了解
- 链接地址
- 链接顺序
- .elf 是什么文件
- Makefile写法
Makefile 规则
- 将所有编译命令写入一个文件,然后执行
- 核心是规则 目标: 依赖1 依赖2 [Tab] 命令
- Makefile能被执行的条件
a. 目标不存在
b. 依赖文件有更新 - 编译–链接
编译结果是.o
gcc -o 编译链接 gcc -c 只编译不链接
嵌入式Linux系统组成
- 引导加载系统 BootLoader
- 内核
驱动可安装至内核 - 根文件系统
包括命令和应用程序
NandFlash 类似电脑硬盘 ,按页操作,容量较大
NorFlash 类似电脑内存,可按字节读取
构建交叉编译环境
gcc
arm-linux-gcc
编译内核需要root用户权限
- 修改配置文件可以直接使用root登录gui
构造交叉编译环境
可以直接拷贝交叉编译工具链,解压 tar
导入环境变量 echo $PATH (查看) vim 重启后生效
构造嵌入式Linux系统
UBoot
是一种BootLoader,支持多种嵌入式SoC,universal Boot Loader
两种模式
- 下载
- 引导
编译步骤 - make disclean 执行一次
- make [boardname]_config
- make