学习笔记——韦东山Imx6ul pro环境搭建

1 准备阶段

1.1 开发板接线

  • ① 连接电源线。

  • ② 连接串口线:typec接开发板的j3 typec口,USB端接电脑USB口。

  • ③ 连接网线:网线一端直接接开发板,另一端接网卡转USB接电脑的USB口。

  • ④ 启动配置:拨到EMMC。

1.2 安装Ubuntu

  • ① 将韦东山老师的100ask-vmware_ubuntu18.04解压到一个剩余300G以上的磁盘。

  • ② 用VM Ware打开虚拟机mxs文件,点获取所有权,我已复制该虚拟机。

  • ③ 登录账号book,密码123456,可以字节用sudo passwd book 来修改。

1.3 配置网络与远程连接

# 测试通信
ping  www.baidu.com 
#安装网络工具
sudo apt-get install net-tools 
# 查看IP地址
ifconfig  #查看IP地址
# 安装openssh.server
sudo apt-get install openssh.server
# 打开xshell软件,新建连接,设置对应IP,端口22,连接

1.4 更新apt源

# 安装vim
sudo apt-get install vim
# 将source.backup备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# 百度搜索阿里云ubuntu镜像配置
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 清除sources.list的内容
echo > /etc/apt/sources.list
# 打开/etc/sources.list将配置文件复制进去
sudo vim /etc/apt/sources.list
# 按i插入,右键粘贴,esc退回一般模式,:wq 强制保存
# 更新源
sudo apt-get update
# sudo apt-get upgrade 更新所有软件
# sudo apt-get install xxx 安装软件

1.5 安装git

sudo apt get-install git
# 遇到如下问题
# Could not get lock /var/lib/dpkg/lock-frontend
sudo killall apt apt-get
# 如果提示
# apt: no process found ,apt-get: no process found
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update
# 或者直接关机

1.6 git的使用

# 使用之前需要设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"
# 克隆
git clone 地址
# 更新
git pull 地址
# 记录
git log
# 本地状态
git status
# 打标签
git tab # 查看标签
git tab 标签名 # 打标签
# 提取某个版本
git checkout

1.7 配置linux环境

# 推荐直接使用韦东山老师的脚本
git clone https://e.coding.net/weidongshan/DevelopmentEnvConf.git  #克隆
cd DevelopmentEnvConf # 切换目录
sudo ./Configuring_ubuntu.sh  # 执行脚本
# 选择2,为linux配置环境

# 也可以自己用sudo apt-get install 命令安装

1.8 MobaXterm的使用

  • ① 连接ubuntu:

​ 进入MobaXterm->点击session->ssh->输入IP->勾选use spcecify username->输入用户名->端口22->OK。

  • ② 连接串口:

​ 设备管理器找到串口->进入MobaXterm->点击session->serial->选择对应串口->波特率115200->Advance Serial Settings 不要流控->连接->开发板上电->等到倒数结束后进入系统,中途回车进入uboot。

  • ③ 板子的用户名为root,无密码。

1.9 配置网卡

1.9.1 思路
  • ① NAT网卡:虚拟IP,外界找不到,ubuntu通过windows联网。

  • ② 桥接网卡:分配了实际的IP,可以与外界双向通信,用来与开发板连接。

1.9.1 NAT网卡
  • 关闭虚拟机->设置中添加网络适配器->选择NAT网卡->打开虚拟机->ping www.baidu.com
1.9.2 桥接网卡
  • 关闭虚拟机->设置中添加网络适配器->选择桥接网卡并勾选复制物理地址
1.9.3 配置网线
  • ① 设备管理器->网络适配器->确定网线的名称。

  • ② 控制面板→网络和 Internet→网络和共享中心→更改适配器设置。

  • ③ 选择对应的网线->属性->修改Internet 协议4。

  • ④ 设置IP:192.168.5.10,子网掩码:255.255.255.0,默认网关:192.168.5.1。

1.9.4 设置VM虚拟网络配置
  • ① 右键打开虚拟网络编辑器。

  • ② 点桥接模式,将虚拟机网络桥接到网线。

  • ③ 打开ubuntu设置root用户密码。

sudo passwd
  • ④ 打开Setting->Network ->ens36->IPV4->manual设置好IP后apply。

  • ⑤ 设置IP:192.168.5.11,子网掩码:255.255.255.0,默认网关:192.168.5.1。

  • ⑥ 打开板子开关,ifconfig可以看到桥接模式的ip变成了192.168.5.11。

1.9.5 设置开发板地址
  • ① 单次生效设模式
# 登录板子的linux输入
ifconfig eth0 192.168.5.9
# 重启板子需要重新输入
  • ② 配置文件永久生效模式
# 修改interfaces配置文件
vim /etc/network/interfaces
# 修改为如下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.5.9  #IP
netmask 255.255.255.0 # 掩码
gateway 192.168.5.1 # 网关
1.9.6 三者互ping
  • 开发板的IP为192.168.5.9
ping 192.168.5.10  # ping windows
ping 192.168.5.11  # ping ubuntu
  • ubuntu的桥接IP为192.168.5.11
ping 192.168.5.10  # ping windows
ping 192.168.5.9    # ping 开发板
  • windows的网线IP为192.168.5.10
# cmd黑窗口下
ping 192.168.5.11  # ping ubuntu
ping 192.168.5.9    # ping 开发板
  • ping命令测试三者通信,通信中可以用ctrl + c退出。
1.9.7 开发板上网
  • 开发板有两个网口,其中eh0用来连接网线,与上述设备通信。

  • eh1与路由器连接后,执行以下命令,就能使得开发板联网。

udhcpc -i eth1 

1.10 FileZilla 软件的使用

FileZilla在windows和ubuntu之间传数据
  • ① FileZilla的传输效率比MobaXterm 高。

  • ② FileZila与Ubuntu的NAT网卡传输文件。

  • ③ 打开软件->输入IP->book->密码->22->快速连接。

  • ④ 第一次提示是否将秘钥保存,点击确定。

  • ⑤ 直接拖动文件传输数据。

FileZilla在windows和开发板之间传数据
  • ① 打开软件->输入IP->root->密码为空->22->快速连接。

  • ② 第一次提示是否将秘钥保存,点击确定。

  • ③ 直接拖动文件传输数据。

1.11 下载板级支持包和配置工具链

# 克隆仓库
git clone https://e.coding.net/codebug8/repo.git
# 创建文件夹并进入文件夹
mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
# 下载代码到本地
 ../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
# 同步代码
../repo/repo sync -j4
# 以后用来更新代码
../repo/repo sync -c
# 下载完后立马压缩源码,否则编译后文件很大
tar cjf Linux-4.9.88.tar.bz2 Linux-4.9.88
1.12 配置交叉编译工具链
  • ① 永久生效
# 主要配置三个环境变量: PATH, ARCH 和 CROSS_COMPILE 
# 修改配置文件
vim ~/.bashrc
# 行尾添加
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
#启用配置文件
source ~/.bashrc
#检测是否成功
arm-buildroot-linux-gnueabihf-gcc -v
# 测试环境变量
 echo $ARCH #arm
 echo $CROSS_COMPILE # arm-buildroot-linux-gnueabihf-
  • ② 临时生效

​ 手动输入刚才添加到尾部的命令,只对当前终端有效 。

1.13 Source Insight 的使用

  • ① 将Linux-4.9.88.tar.bz2通过FileZilla 传回windows。

  • ② 解压源码,由于windows不区分大小写,故解压会报错,选择全部覆盖。

  • ③ 打开 Source Insight->new project->选择目标文件夹->add all->弹出的add to project选项全勾选->确定。

  • ④ Project->Synchronize Files ->Force all Files automatically->start开始同步代码。

  • ⑤ 点击"P"图标打开文件列表,双击文件打开文件 。

  • ⑥ Project Files里输出文件名*可以查找文件,Folder可以查看目录。 如果Project Files等缺失,点击View->Pnels中找需要的显示。

  • ⑦ ctrl+点击代码中的函数名或者变量名可以跳转到定义处。

  • ⑧ 双击函数,右键点击弹出对话框选择“ Lookup Reference”或使用快捷键"ctrl+/"来查找引用 。

​ 弹出的框里,选中Case Sensitive(大小写敏感)、skip inaction code(忽略未使用代码)、skip Commen(忽略注 释)、Smart Reference Matching(智能匹配),再点search。

​ 在查找结果里点击箭头会打开文件。

  • ⑨ 其他快捷键
快捷键说明
Alt + ,后退
Alt + .前进
F8高亮选中的字符
Ctrl+F查找
F3 或 Shift+F3往前查找
F4 或 Shift+F4往后查找

1.13 启动方式

  • 最原始的为EMMC,破坏uboot,才能使用SD卡,SD卡不插才能USB(主要用在板子变砖)。
BOOTSW1(LCD_DATA5)SW2(LCD_DATA11)SW3(BOOT_MODE0)SW4(BOOT_MODE1)
EMMCOFFOFFONOFF
SDONONONOFF
USBXXOFFON

1.14 开发板挂载 Ubuntu 的 NFS 目录

  • NFS: Client-Server 架构,客户端和服务端通过 RPC 协议进行通信, RPC协议可以简单的理解为一个基于 TCP 的应用层协议。

  • NFS 最大的特点是将服务端的文件系统目录树映射到客户端,而在客户端访问该目录树与访问本地文件系统没有任何差别,客户端并不知道这个文件系统目录树是本地的还是远在另外一台服务器。

  • 一般将Ubuntu的某个目录挂载到开发板某个目录下,这样开发板就直接可以用Ubuntu的目录进行调试。

  • ① 确认开发板和ubuntu可以通信

# 开发板
ping 192.168.5.11
# ubuntu
ping 192.168.5.9
  • ② 将ubuntu的/home/book/nfs_rootfs 挂载到开发板的/mnt目录下
# 开发板中输入
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

1.14 TFTP传输数据

1.15 开发板第一个app实验

  • Node Pad++写代码,传到ubuntu的/home/book/nfs_rootfs文件夹中
#include <stdio.h>
#include <stdlib.h>
/*
	main函数传参
	argc为参数个数,argv第一个元素为./main,第二个为传入的字符串
*/
int main(int argc, char **argv){
    if(argc < 2){
        puts("hello, world!");
    }else{
        fprintf(stdout,"hello, %s!\n", argv[1]);
    }
}
  • 交叉编译开发板能运行的程序
arm-buildroot-linux-gnueabihf-gcc hello.c -o hello
  • 开发板运行
# 更改权限
chmod 777 hello
# 运行
./hello joker
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值