“100ask imx6ull”的版本间的差异

来自百问网嵌入式Linux wiki
跳转至: 导航搜索
手动编译u-boot
(未显示同一用户的3个中间版本)
第128行: 第128行:
 
===更新emmc系统===
 
===更新emmc系统===
 
*使用mfgtools烧写emmc系统
 
*使用mfgtools烧写emmc系统
:1.设置开发板启动方式为usb启动
+
:1.设置开发板启动方式为usb启动
:2.使用包装盒配套的micro usb线一端连接到开发板usb otg口另一端连接至电脑usb接口处。
+
:2.使用包装盒配套的micro usb线一端连接到开发板usb otg口另一端连接至电脑usb接口处(接口位置请参考右上图<code> 5:USB OTG</code> 所示位置)
 
:3.解压缩资料光盘目录下 <code>02_Images\Emmc\100ask_imx6ull-mfgtools.zip</code> 到任意文件夹。
 
:3.解压缩资料光盘目录下 <code>02_Images\Emmc\100ask_imx6ull-mfgtools.zip</code> 到任意文件夹。
 
:4.进入解压缩后的<code>100ask_imx6ull-mfgtools </code>文件夹下,双击<code>buildroot-image-100ask_100ask-ddr512m-emmc4g.vbs</code>打开烧写程序,烧写过程中保持usb连接。
 
:4.进入解压缩后的<code>100ask_imx6ull-mfgtools </code>文件夹下,双击<code>buildroot-image-100ask_100ask-ddr512m-emmc4g.vbs</code>打开烧写程序,烧写过程中保持usb连接。
第166行: 第166行:
 
:初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定
 
:初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定
  
:*考虑到代码仓库过多,特使用repo工具管理代码<br>
+
:*考虑到代码仓库过多,特使用repo工具管理代码 <br>
 
::repo工具配置
 
::repo工具配置
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
第174行: 第174行:
 
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo sync -j4
 
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo sync -j4
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
::{{redtext|代码会不定时的进行更新同步,用户可以在100ask_imx6ull-sdk目录下使用<code>  ../repo/repo sync -c </code>命令来获取最新源码}}
 
:*上面使用的repo管理文件xml为国内coding仓库 https://dev.tencent.com/u/weidongshan/p/manifests/git/tree/linux-sdk
 
:*上面使用的repo管理文件xml为国内coding仓库 https://dev.tencent.com/u/weidongshan/p/manifests/git/tree/linux-sdk
 
:*如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md
 
:*如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md
  
*git常用命令参考
+
*git常用命令参考(可以在相应的源码目录使用如下git命令查看所有的提交记录,用于学习研究)
 
:*[[How to use the git log command]]
 
:*[[How to use the git log command]]
 
:*[[How to use the git branch command]]
 
:*[[How to use the git branch command]]
第220行: 第221行:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
*单独烧写uboot
 
*单独烧写uboot
:*请先将SD卡插入电脑,并挂载到ubuntu系统上,使用<code>dmesg</code>命令查看设备节点名称。
+
:*请先将SD卡插入电脑,并挂载到ubuntu系统上 ,如何挂载请参考页面[[How to use vmware usb connection device| 如何使用VMware连接usb设备]] ,使用<code>dmesg</code>命令查看设备节点名称。
 
::获取到设备名称后使用dd命令烧写img镜像文件到TF卡中,如下示例 假如插入ubuntu后设备节点为/dev/sdb。
 
::获取到设备名称后使用dd命令烧写img镜像文件到TF卡中,如下示例 假如插入ubuntu后设备节点为/dev/sdb。
 
  book@100ask:~/100ask_imx6ull-sdk/Uboot-2017.03$  dd if=u-boot-dtb.imx of=/dev/sdb bs=1k seek=1 conv=fsync
 
  book@100ask:~/100ask_imx6ull-sdk/Uboot-2017.03$  dd if=u-boot-dtb.imx of=/dev/sdb bs=1k seek=1 conv=fsync

2020年1月11日 (六) 15:14的版本

  • 资料光盘下载地址
  • 原理图开源资料
  • 配套模块
  • rtc时钟模块
  • 4G模块
  • usb摄像头模块
  • cmos摄像头模块
  • 7寸 RGBlcd显示模块
  • HDMI显示模块
  • imx6ull扩展版

开发板简介

1:4G LED灯
2:用户LED灯
3:电源指示灯
4:nano SIM卡插座
5:USB OTG
6: USB 转串口
7: 2路USB HOST
8: KEY 1
9: KEY2
10: RS485
11: CAN接口
12: 以太网接口1(RJ45) 10M/100M
13: 以太网接口2(RJ45) 10M/100M
14: 板载HDMI接口(可以接电视显示器)
15: RGB TFT LCD接口
16: BOOT选择拨码开关
17: AP3216 三合一整合型光感測器
18: micro SD接口
19: Camera & 扩展GPIO
20: 复位按键 KEY4
21: 开/关机 KEY3
22: DC 6~12V电源输入
23: Power Switch
24: 喇叭输出
25: 4线耳麦接口
26: 512MB DDR3L内存芯片
27: 4GB eMMC flash
28: 高性能音频编解码芯片WM8960
29: NXP IMX6ULL主控芯片(主频528MHz ,具体型号请以实物为准)
30: MIC1(咪头)
31: 六轴传感器(芯片型号IC268G)
32: LAN PHY芯片
33: 板载WIFI/BT芯片RTL8723
34: RTC后备电池接口
35: mini PCIE 4G模块接口



开始使用

打开包装 连接开发板

启动开发板

执行基本命令

示例功能体验

应用编程

更新系统

更新SD卡系统

  • 1.安装资料光盘下01_tools\SD Card Formatter 5.0.1 Setup.exe软件,安装完成后打开!
  • 2.使用SdCardFormatter格式化SD卡,格式化步骤如下如所示!
100ask am335x SD P 004.png 100ask am335x SD P 005.png 100ask am335x SD P 006.png
(1)选择要格式化的SD卡,选中Quick format,点击Format (2)在弹出的对话框中点击是(Y) (3)等待格式化完成,在弹出的对话框中点击确定
  • 3.安装资料光盘下01_tools/ win32diskimager-1.0.0-install.exe软件,安装完成后打开!
  • 4.使用wind32diskimage烧写存放在02_Images\Sdcard 目录下的 sdcard.img 系统镜像文件,烧写步骤如下所示!
100ask am335x SD p 001.png 100ask am335x SD p 002.png 100ask am335x SD p 003.png
(1)选中需要烧写的SD卡设备,点击文件图标选择系统镜像文件,最后点击写入按钮开始烧写 (2)此时弹出烧写对话框,点击Yes按钮,继续烧写, 等待任务进度执行到100%) 烧写成功后,弹出写入成功,此时点击OK

更新emmc系统

  • 使用mfgtools烧写emmc系统
1.设置开发板启动方式为usb启动。
2.使用包装盒配套的micro usb线一端连接到开发板usb otg口另一端连接至电脑usb接口处(接口位置请参考右上图 5:USB OTG 所示位置)。
3.解压缩资料光盘目录下 02_Images\Emmc\100ask_imx6ull-mfgtools.zip 到任意文件夹。
4.进入解压缩后的100ask_imx6ull-mfgtools 文件夹下,双击buildroot-image-100ask_100ask-ddr512m-emmc4g.vbs打开烧写程序,烧写过程中保持usb连接。
100ask imx6ul 006 new.png 100ask imx6ul 007.png 100ask imx6ul 008.png
(1)usb otg链接成功示意图,连接成功后点击start按钮开始烧写 (2)系统烧写中示意图 (3)烧写完成示意图(点击Stop,再点击Exit即可退出)
5.设置开发板启动方式为Emmc启动即可,(启动方式设置在开发板背面印有丝印说明)

进阶使用

配置开发环境

如果使用我们提供的vmware ubuntu 虚拟机镜像配置开发环境,只需在在ubuntu联网状态下在终端下执行如下命令即可完成一键配置开发环境 请参考页面 配置ubuntu开发环境
如何您使用的是自行安装的ubuntu 开发环境,我们的脚本会自动新建book用户及相关环境配置。
  • 一键配置开发环境脚本,在Ubuntu终端下直接执行,即可配置好Linux开发环境依赖(包含tftpp nfs samba 不包含交叉编译工具链 ARCH CROSS_COMPILE设置)。

GIthub地址

wget --no-check-certificate -O Configuring_ubuntu.sh https://raw.githubusercontent.com/100askTeam/DevelopmentEnvConf/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh

国内coding地址(推荐使用此地址)

wget --no-check-certificate -O Configuring_ubuntu.sh https://dev.tencent.com/u/weidongshan/p/DevelopmentEnvConf/git/raw/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh

一键获取所有源码

  • 以下操作在已经配置好开发环境得ubuntu系统终端下执行(注意:如下操作需要ubuntu可以上网)
  • git邮箱账号和用户名配置
book@100ask:~$ git config --global user.email "you@example.com"
book@100ask:~$ git config --global user.name "Your Name"
初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定
  • 考虑到代码仓库过多,特使用repo工具管理代码,
repo工具配置
book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
book@100ask:~$ mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo sync -j4
代码会不定时的进行更新同步,用户可以在100ask_imx6ull-sdk目录下使用 ../repo/repo sync -c 命令来获取最新源码
  • git常用命令参考(可以在相应的源码目录使用如下git命令查看所有的提交记录,用于学习研究)

使用busybox构建系统

设置工具链

交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置PATH ARCHCROSS_COMPILE三个环境变量,下面介绍具体设置方法。

  • 永久生效

如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下:

vim ~/.bashrc

在行尾添加或修改:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
  • 临时生效

执行完“export”命令后,该设置只对当前终端有效

book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-linux-gnueabihf-
  • 手动指定

Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链

book@100ask:~$ export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

手动编译u-boot

  • 编译100ask_imx6ull开发板uboot命令
book@100ask:~$ cd ~/100ask_imx6ull-sdk/Uboot-2017.03
book@100ask:~/100ask_imx6ull-sdk/Uboot-2017.03$ make mx6ull_14x14_evk_defconfig
book@100ask:~/100ask_imx6ull-sdk/Uboot-2017.03$ make
  • 单独烧写uboot
获取到设备名称后使用dd命令烧写img镜像文件到TF卡中,如下示例 假如插入ubuntu后设备节点为/dev/sdb。
book@100ask:~/100ask_imx6ull-sdk/Uboot-2017.03$   dd if=u-boot-dtb.imx of=/dev/sdb bs=1k seek=1 conv=fsync
烧写成功后,需要将SD卡插入开发板内,并设置为SD卡启动方式(启动方式请参考开发板背面)
  • nfs启动系统

手动编译Linux kernel

  • 编译100ask_imx6ull 开发板内核
book@100ask:~/100ask_imx6ull-sdk$ cd Linux-4.9.88
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make mrproper
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make 100ask_imx6ull_defconfig
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make zImage -jN //这里可以根据CPU个数,来加速编译系统。 
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make dtbs
  • 编译内核模块
 
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
  • 安装内核模块到nfs根文件系统
book@100ask:~/100ask_fire-imx6ull/linux-4.9.88$ sudo make ARCH=arm INSTALL_MOD_PATH=</media/rootfs>  modules_install

手动编译rootfs

制作系统镜像

使用buildroot构建系统

获取源码

  • 在线方式获取buildroot系统源码包:
  • 本地拷贝

编译系统

  • 配置文件说明
配置文件 含义
100ask_imx6ull_nfs_defconfig 专门用于nfs启动使用的文件系统
100ask_imx6ull_defconfig 默认文件系统版本(包含除qt以外所有工具)
100ask_imx6ull_QT_defconfig 包含Qt文件系统版本
  • 以编译100ask_imx6ull_defconfig系统镜像为例,如下为编译步骤
book@100ask:~/100ask_imx6ull-sdk$ cd Buildroot_2019.02
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make clean
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make 100ask_imx6ull_defconfig
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make all

注意:机器性能不同,编译时间不同。性能差的电脑,有可能需要等待1 ~ 2个小时。

  • 编译后生成文件介绍
 
Buildroot_2019.02	
	├── output
		├── images	
			├── idbloader.img				<--u-boot镜像
			├── nfs_rootfs					<--打包并压缩的根文件系统,适用于NFSROOT启动	
			│   └── rootfs.tar.gz	
			├── rk3288-firefly.dtb  			<--设备树文件
			├── rootfs.ext2
			├── rootfs.ext4 -> rootfs.ext2		<--ext2格式根文件系统
			├── rootfs.tar					<--打包后的根文件系统
			├── sdcard.img					<--完整的SD卡系统镜像
			├── trust.img					<--u-boot镜像
			├── u-boot.bin
			├── u-boot-dtb.img
			├── uboot.img					<--u-boot镜像
			└── zImage					<--内核镜像
  • buildroot下单独编译内核
book@100ask:~$  cd ~/100ask_imx6ull-sdk/Uboot2017.03
book@100ask: ~/100ask_imx6ull-sdk/Uboot2017.03 $ make distclean
book@100ask: ~/100ask_imx6ull-sdk/Uboot2017.03 $ make mx6ull_14x14_defconfig
book@100ask: ~/100ask_imx6ull-sdk/Uboot2017.03 $ make
buildroot linux-menuconfig
  • buildroot下单独编译u-boot
:*buildroot下单独编译某个软件包

如何烧写

  • 如何烧写SD卡系统
  • 如何使用mfgtools烧写buildroot生成的系统镜像

参考/扩展阅读

使用yocto构建系统

在线获取源码

book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
book@100ask:~$ mkdir -p Yocto-sdk && cd Yocto-sdk

编译完整系统镜像

book@100ask:~$ DISTRO=fsl-imx-fb  MACHINE=imx6ullevk  source fsl-setup-release.sh -b build-fb 
book@100ask:~$ bitbake fsl-image-qt5-validation-imx 
生成得系统镜像文件在

烧写生成系统镜像文件

  • 如何烧写到SD卡中
  • 如何使用mfgtools烧写到emmc中

yocto开发参考资料

  • bitbake使用介绍
  • 如何添加一个包到系统镜像中
  • 如何定义自己的image系统镜像
  • 如何定义自己的machine端
  • 如何定义自己的DISTRO发行版系统

使用发行版系统

  • 使用制作好的镜像烧录至开发板
  • 自己手动构建适合imx6ull发行版文件系统

高阶使用

调试u-boot

调试kernel驱动

系统监视

应用调试

内核调试

常见问题

参考