"100ask imx6ull" 修訂間的差異

出自 百问网嵌入式Linux wiki
前往: 導覽搜尋
(配置开发环境)
(手动编译u-boot)
 
(未顯示由 3 位使用者於中間所作的 54 次修訂)
行 1: 行 1:
{| width="50%"  
+
 
 +
 
 +
[[File:IMX6ULL初学者快速指南.mp4|800px|600px|center]]
 +
 
 +
{| width="100%"  
 
|- valign="top"
 
|- valign="top"
 
|
 
|
* 所有资料下载方法
+
'''{{Redtext | 若初次接触我们产品,请先阅读[[100ask_imx6ull#.E5.BC.80.E5.A7.8B.E4.BD.BF.E7.94.A8 | 开始使用]]}}'''
:*[[BeginnerLearningRoute | 视频、开发板资料、视频的配套源码文档 ]]
 
* 单项下载
 
:*视频
 
::*网盘链接:https://eyun.baidu.com/s/3hsTaQ5A 密码:WND3
 
::*在线观看:https://www.bilibili.com/video/av65976587
 
:*视频对应的源码和文档
 
::*git地址: https://e.coding.net/weidongshan/01_all_series_quickstart.git
 
:*开发板资料
 
::*网盘链接:https://eyun.baidu.com/s/3smDzFAH 密码:LDCn
 
 
:*原理图开源资料
 
:*原理图开源资料
 
::*[[:File:100ask_imx6ull_v1.1.pdf |        底板PDF格式的原理图 ->100ask_imx6ull_v1.1.pdf]]
 
::*[[:File:100ask_imx6ull_v1.1.pdf |        底板PDF格式的原理图 ->100ask_imx6ull_v1.1.pdf]]
行 19: 行 14:
 
::*[[:File:MYC-Y6ULX1211.pdf |               核心板原理图(米尔把电源部分去掉了) ->MYC-Y6ULX1211.pdf]]
 
::*[[:File:MYC-Y6ULX1211.pdf |               核心板原理图(米尔把电源部分去掉了) ->MYC-Y6ULX1211.pdf]]
 
::*[[:File:100ask_imx6ull_hardware_files_v11.zip | 打包下载以上文件 ->100ask_imx6ull_hardware_files_v11]]  
 
::*[[:File:100ask_imx6ull_hardware_files_v11.zip | 打包下载以上文件 ->100ask_imx6ull_hardware_files_v11]]  
||
+
::*[[:File:LCD底板及FPC转接板.zip |               LCD底板及FPC转接板 ->LCD底板及FPC转接板.zip]]
* 配套模块
+
:* 开发板烧录工具(百问网自制烧录工具)
:*rtc时钟模块
+
::*[[100ask_imx6ull_tool| 100ask_imx6ull烧写工具设计与使用说明]]
:*4G模块
+
::*[https://github.com/100askTeam/gui_for_nxp_uuu 100ask_imx6ull_tool 开源Github仓库]
:*usb摄像头模块
+
::*[https://weidongshan.coding.net/p/gui_for_nxp_uuu/git  100ask_imx6ull_tool 开源Coding仓库]
:*cmos摄像头模块
+
:*[[How_to_use_fpc_adapter_board | LCD FPC转接板使用教程(支持正点原子、野火LCD屏幕)]]
:*7寸 RGBlcd显示模块
 
:*HDMI显示模块
 
:*imx6ull扩展版
 
 
|}
 
|}
 
=开发板简介=
 
=开发板简介=
行 38: 行 30:
 
3:电源指示灯  <br>  
 
3:电源指示灯  <br>  
 
4:nano SIM卡插座<br>
 
4:nano SIM卡插座<br>
5:USB OTG<br>     
+
5:USB OTG(micro接口)<br>     
6: USB 转串口<br>     
+
6: USB 转串口(micro接口)<br>     
 
7: 2路USB HOST<br>     
 
7: 2路USB HOST<br>     
 
8: KEY 1<br>
 
8: KEY 1<br>
行 73: 行 65:
 
]]
 
]]
  
 +
=开始使用=
 +
*'''1.资料说明'''
 +
** 100ASK_IMX6ULL资料分为三部分:
 +
***① 开发板BSP包(开发板的所有资料,不包括视频教程):
 +
:::: 包括虚拟机Ubuntu、开发板原理图、手册等等。
 +
:::: 这部分资料容量大,改动小,放在百度网盘中。
 +
:::: 里面00_UserManual 有''《嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf》'',这是开发板学习手册,必读,很重要。
 +
:::: 网盘链接:[https://eyun.baidu.com/s/3smDzFAH https://eyun.baidu.com/s/3smDzFAH] 密码:LDCn
 +
 +
***② 视频教程:
 +
:::: a)基本上每周都更新,它会放在百度网盘中:
 +
::::: 网盘链接:[https://eyun.baidu.com/s/3hsTaQ5A https://eyun.baidu.com/s/3hsTaQ5A] 密码:WND3
 +
:::: b)也可以在线观看:
 +
::::: 哔哩哔哩(B站):[http://www.bilibili.com/video/av65976587 http://www.bilibili.com/video/av65976587] (或在B站首页搜“韦东山”)
 +
:::: c)官网在线观看:[http://www.100ask.net http://www.100ask.net] (请使用手机打开,电脑端正在升级)
 +
 +
***③ 视频教程配套的文档和源码:
 +
:::: 这部分内容会经常更新,使用GIT来下载。
 +
::::: 仓库地址:[https://e.coding.net/weidongshan/01_all_series_quickstart.git https://e.coding.net/weidongshan/01_all_series_quickstart.git]
 +
:::: 观看视频,就可以知道里面的源码怎么使用。
 +
:::: 每一节视频都有对应的文档,这些文档集合成一个PDF文件:
 +
::::: ''《嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集.pdf》''
 +
::::: 这个文件也有在线版本:[http://book.100ask.net http://book.100ask.net],但是最新版本在GIT中。
 +
 +
*'''2.怎么下载资料'''
 +
**① 根据第一步的资料说明①,下载开发板BSP包(开发板的所有资料,不包括视频教程):
 +
::: 请先转存到自己的百度网盘,再使用百度网盘的PC客户端来下载。
 +
::: 如果下载速度太慢,可以适当充值百度短期会员。
 +
::: 不要在浏览器上直接下载,这很容易失败、出错。
 +
 +
**② 根据第一步的资料说明③,视频教程配套的文档和源码:
 +
::: 下载安装Git Bash工具 :  [https://gitforwindows.org/ https://gitforwindows.org/]
 +
:::: 打开Git Bash,执行命令:
 +
:::: git  clone  https://e.coding.net/weidongshan/01_all_series_quickstart.git
 +
 +
::: 下载成功后,你会在 ''C:\Users ''目录下,你自己的用户目录里,看到一个''“01_all_series_quickstart”''目录。
 +
::: 更详细的 Git 使用教程见:
 +
:::: http://wiki.100ask.net/BeginnerLearningRoute
  
 +
*'''3.开始学习'''
 +
:: 拿到开发板后,请先根据上面的1、2步下载好资料后,再按下面顺序进行学习。
 +
**① 搭建开发环境,熟悉开发板的操作
 +
::: 根据BSP资料包中的手册''《嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf》'',搭好开发环境,熟悉接串口、烧系统等常规操作。
 +
::: 你只需要学习这几章,其他内容按需观看即可:
 +
:::: ''《第2章 搭建开发环境》''
 +
:::: ''《第6章 启动开发板》''
 +
:::: ''《9.1 获取源码》、《9.2 配置交叉编译工具链》''
 +
:::: ''《第10章 烧写整个系统或更新部分系统》''
 +
:::: ''《第11章 PC和开发板之间传输文件》''
  
 +
::: 这个手册的很多命令经常用到,我们把手册部分内容放到了 WIKI 上:[http://wiki.100ask.net/100ask_imx6ull http://wiki.100ask.net/100ask_imx6ull]
 +
::: 学习时,先按照“网盘的开发板用户手册”搭环境,熟悉开发板的常规操作。
 +
::: 熟悉之后,在开发过程中可以使用 WIKI直接阅读文档,这样就不用每次都打开 PDF 文件了。
  
=开始使用=
+
** 照着 视频 及文档学习
*下载资料
+
::: 我们针对众多 开发板 重新录制了 视频 ,这是一套全新 视频 易于 入门
**  参考[[BeginnerLearningRoute |  视频 开发板 资料、 视频的 配套源码文档 ]]
+
::: 套视频兼容多款板子 支持NXP、TI、瑞芯微、ST等多家主流芯片公司的主打芯片。
*体验开发板
+
::: 当你 环境 ,知道 开发板 的常规操作后,就可以按 视频 进行 学习 了。
** 参考:BSP包100ask_imx6ull_2020.02.10_v1.1中,{{Redtext | 00_UserManual/100ask_imx6ull开发板用户手册- 入门 篇_v2.0.pdf }}
+
 
** 个手册按需观看 初学者需要看:
+
*'''{{Redtext | 文档更新 }}'''
*** 《第2章 建开发 环境
+
** 学习手册我们会不断更新,临时版本放 在 QQ  群文件中
*** 《第6章 启动 开发板
+
::: 100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录)
*** 《9.1 获取源码》、《9.2 配置交叉编译工具链》
 
*** 《第10章 烧写整个系统或更新部分系统》
 
*** 《第11章 PC和开发板之间传输文件》
 
*开始学习
 
** 不建议再从裸机学习
 
**请参考[http://book.100ask.net {{Redtext | 在线文档 }}]及[http://bilibili.com/video/av65976587 {{Redtext | 在线 视频 }}]
 
*就是想从裸机开始学习
 
** 请参考GIT下载的目录: 01_all_series_quickstart\05_临时文件_裸机文档程 众包
 
*其他参考资料
 
** BSP包100ask_imx6ull_2020.02.10_v1.1中,{{Redtext | 00_UserManual/参考资料 }},里面有:
 
***Arm架构参考资料.zip
 
***Gcc 学习 参考资料.zip
 
***Git参考资料.zip
 
***LinuxC编程参考资料.zip
 
***linux基础知识学习参考资料.zip
 
***Makefile学习参考资料.zip
 
***ubuntu学习参考资料.zip
 
*{{Redtext | 文档更新 }}
 
** 学习手册我们会不断更新,临时版本放 在QQ 群文件中
 
**  100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录)
 
 
** 文档验证后再统一上传至百度网盘
 
** 文档验证后再统一上传至百度网盘
* 强烈建议
+
 
**按照[http://book.100ask.net {{Redtext | 在线文档 }}]学习
+
* ''' 强烈建议'''
 +
**按照 '''[http://book.100ask.org {{Redtext | 在线文档 }}]'''  学习
 
**它是全新全系列视频配套的文档
 
**它是全新全系列视频配套的文档
  
行 185: 行 209:
  
 
==配置开发环境==
 
==配置开发环境==
:wamware ubuntu系统镜像如何安装请参考 资料光盘 '''00_UserManual/100ask_imx6ull 开发 板用户 手册-入门篇_v2.0.pdf'''
+
:wamware ubuntu系统镜像如何安装请参考 资料光盘 '''00_UserManual/ 嵌入式Linux应用 开发 完全 手册 第2版_韦东山全系列视频文档全集Vxxx.pdf'''
 
:如果使用我们提供的vmware ubuntu 虚拟机镜像配置开发环境,只需在在ubuntu联网状态下在终端下执行如下命令即可完成一键配置开发环境 请参考页面[[Configuring_ubuntu | 配置ubuntu开发环境]]。
 
:如果使用我们提供的vmware ubuntu 虚拟机镜像配置开发环境,只需在在ubuntu联网状态下在终端下执行如下命令即可完成一键配置开发环境 请参考页面[[Configuring_ubuntu | 配置ubuntu开发环境]]。
 
:如何您使用的是自行安装的ubuntu 开发环境,我们的脚本会自动新建book用户及相关环境配置。
 
:如何您使用的是自行安装的ubuntu 开发环境,我们的脚本会自动新建book用户及相关环境配置。
行 200: 行 224:
 
==获取开发板sdk==
 
==获取开发板sdk==
 
===本地拷贝上传===
 
===本地拷贝上传===
:通过FileZilla等工具上传资料光盘中的''' 07_bsp_sdk/100ask_imx6ull-sdk '''整个压缩包文件到ubuntu系统'''/home/book'''目录下。
+
:通过FileZilla等工具上传资料光盘中的''' 07_bsp_sdk(BSP包)/100ask_imx6ull-sdk '''整个压缩包文件到ubuntu系统'''/home/book'''目录下。
 
:执行<code>7z x 100ask_imx6ull-sdk.7z.001 </code>进行解压缩,等待解压缩完成。
 
:执行<code>7z x 100ask_imx6ull-sdk.7z.001 </code>进行解压缩,等待解压缩完成。
 
:注意: {{redtext |资料光盘的sdk是定期更新,不是实时更新,解压缩后可以使用如下命令同步获取最新sdk}}(如下操作需要ubuntu可以联网)。
 
:注意: {{redtext |资料光盘的sdk是定期更新,不是实时更新,解压缩后可以使用如下命令同步获取最新sdk}}(如下操作需要ubuntu可以联网)。
行 241: 行 265:
  
 
===设置工具链===
 
===设置工具链===
 交叉编译工具链主要是用于在ubuntu主机上编译并生成可以在其它平台上运行的系统。设置交叉编译工具主要是设置<code>PATH</code> <code>ARCH</code>和<code>CROSS_COMPILE</code>三个环境变量,下面介绍具体设置方法。
+
 交叉编译工具链主要是用于在ubuntu主机上编译并生成可以在其它平台上运行的系统。设置交叉编译工具主要是设置<code>PATH</code> <code>ARCH</code>和<code>CROSS_COMPILE</code>三个环境变量,下面介绍具体设置方法(3种方法任选一种)
  
 
* 永久生效
 
* 永久生效
行 264: 行 288:
 
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 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-
 
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
 +
</syntaxhighlight>
 +
 +
* 验证
 +
<syntaxhighlight lang="bash">
 +
book@100ask:~$ arm-linux-gnueabihf-gcc -v
 +
Using built-in specs.
 +
COLLECT_GCC=arm-linux-gnueabihf-gcc
 +
COLLECT_LTO_WRAPPER=/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/6.2.1/lto-wrapper
 +
Target: arm-linux-gnueabihf
 +
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/snapshots/gcc-linaro-6.2-2016.11/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --enable-gnu-indirect-function --disable-multilib --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu
 +
Thread model: posix
 +
gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)
 +
book@100ask:~$
 
</syntaxhighlight>
 
</syntaxhighlight>
  
行 416: 行 453:
 
==使用yocto构建系统==
 
==使用yocto构建系统==
 
===在线获取源码===
 
===在线获取源码===
 +
:如下使用repo命令获取编译ycoto系统所用源码。
 
  book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
 
  book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
  book@100ask:~$ mkdir -p Yocto-sdk && cd Yocto-sdk
+
  book@100ask:~$ mkdir -p Yocto_imx-4.9.88  && cd Yocto_imx-4.9.88
 
+
book@100ask:~/Yocto_imx-4.9.88$  ~/repo/repo init -u https://e.coding.net/weidongshan/manifests.git -b yocto  -m  100ask_imx-4.9.88-2.0.0_ga.xml  --no-repo-verify
 +
book@100ask:~/Yocto_imx-4.9.88$  ~/repo/repo sync -j4
 +
:同步源码后,需要将资料光盘 '''07_Bsp_sdk/Yocto_downloads.tar.gz'''ycoto编译所需的所有软件包文件解压到 <code>book@100ask:~/Yocto_imx-4.9.88/Yocto$</code>目录下,解压后即可执行如下编译命令。
 
===编译完整系统镜像===
 
===编译完整系统镜像===
  book@100ask:~$ DISTRO=fsl-imx-fb  MACHINE=imx6ullevk source fsl-setup-release.sh -b build-fb  
+
  book@100ask:~/Yocto_imx-4.9.88/Yocto$ DISTRO=100ask-imx-fb  MACHINE=imx6ull_100ask source fsl-setup-release.sh -b build-linux-fb
 +
book@100ask:~/Yocto_imx-4.9.88/Yocto$ bitbake  100ask-image-qt5-validation-imx
  
book@100ask:~$ bitbake fsl-image-qt5-validation-imx
+
: 生成的系统镜像文件所在目录<code>~/Yocto_imx-4.9.88/Yocto/build-linux-fb/tmp/deploy/images/</code>
  
: 生成得系统镜像文件在
+
book@100ask:~/Yocto_imx-4.9.88/Yocto/build-linux-fb/tmp/deploy/images/imx6ull_100ask$ ls
 +
 +
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.ext4        100ask-image-qt5-validation-imx-imx6ull_100ask.tar.bz2        u-boot.imx-sd
 +
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.manifest    100ask-image-qt5-validation-imx-imx6ull_100ask.testdata.json  u-boot-sd-2017.03-r0.imx
 +
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.sdcard.bz2  100ask_imx6ull-14x14.dtb                                      zImage
 +
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.tar.bz2    modules--4.9.88-r0-imx6ull_100ask-20200303105647.tgz          zImage-100ask_imx6ull-14x14.dtb
 +
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.testdata.json      modules-imx6ull_100ask.tgz                                    zImage--4.9.88-r0-100ask_imx6ull-  14x14-20200303105647.dtb
 +
100ask-image-qt5-validation-imx-imx6ull_100ask.ext4                              u-boot.imx                                                    zImage--4.9.88-r0-imx6ull_100ask- 20200303105647.bin
 +
100ask-image-qt5-validation-imx-imx6ull_100ask.manifest                          u-boot-imx6ull_100ask.imx                                    zImage-imx6ull_100ask.bin
 +
100ask-image-qt5-validation-imx-imx6ull_100ask.sdcard.bz2                        u-boot-imx6ull_100ask.imx-sd
  
 
===烧写生成系统镜像文件===
 
===烧写生成系统镜像文件===
*如何烧写到SD卡中
+
*如何烧写 镜像 到SD卡 或emmc
*如何 使 用mfgtools 烧写 到emmc中
+
:请先解压镜像后缀为'''sdcard.bz2'''的系统镜像文件到任意目录,让后 使 用我们的 100ask_imx6ull_flashing_tool_v2.0.exe  烧写 工具专业版,选择此镜像文件进行烧录即可,工具使用方法请参考<code> 嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf</code>。
 +
 
 
===yocto开发参考资料===
 
===yocto开发参考资料===
 
*bitbake使用介绍
 
*bitbake使用介绍

於 2020年5月22日 (五) 19:01 的最新修訂


若初次接觸我們產品,請先閱讀 開始使用

  • 原理圖開源資料
  • 開發板燒錄工具(百問網自製燒錄工具)

開發板簡介

1:4G LED燈
2:用戶LED燈
3:電源指示燈
4:nano SIM卡插座
5:USB OTG(micro接口)
6: USB 轉串口(micro接口)
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模塊接口

開始使用

  • 1.資料說明
    • 100ASK_IMX6ULL資料分為三部分:
      • ① 開發板BSP包(開發板的所有資料,不包括視頻教程):
包括虛擬機Ubuntu、開發板原理圖、手冊等等。
這部分資料容量大,改動小,放在百度網盤中。
裡面00_UserManual 有《嵌入式Linux應用開發完全手冊第2版_韋東山全系列視頻文檔全集Vxxx.pdf》,這是開發板學習手冊,必讀,很重要。
網盤連結:https://eyun.baidu.com/s/3smDzFAH 密碼:LDCn
      • ② 視頻教程:
a)基本上每周都更新,它會放在百度網盤中:
網盤連結:https://eyun.baidu.com/s/3hsTaQ5A 密碼:WND3
b)也可以在線觀看:
嗶哩嗶哩(B站):http://www.bilibili.com/video/av65976587 (或在B站首頁搜「韋東山」)
c)官網在線觀看:http://www.100ask.net (請使用手機打開,電腦端正在升級)
      • ③ 視頻教程配套的文檔和源碼:
這部分內容會經常更新,使用GIT來下載。
倉庫地址:https://e.coding.net/weidongshan/01_all_series_quickstart.git
觀看視頻,就可以知道裡面的源碼怎麼使用。
每一節視頻都有對應的文檔,這些文檔集合成一個PDF文件:
《嵌入式Linux應用開發完全手冊第2版_韋東山全系列視頻文檔全集.pdf》
這個文件也有在線版本:http://book.100ask.net,但是最新版本在GIT中。
  • 2.怎麼下載資料
    • ① 根據第一步的資料說明①,下載開發板BSP包(開發板的所有資料,不包括視頻教程):
請先轉存到自己的百度網盤,再使用百度網盤的PC客戶端來下載。
如果下載速度太慢,可以適當充值百度短期會員。
不要在瀏覽器上直接下載,這很容易失敗、出錯。
    • ② 根據第一步的資料說明③,視頻教程配套的文檔和源碼:
下載安裝Git Bash工具 : https://gitforwindows.org/
打開Git Bash,執行命令:
git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
下載成功後,你會在 C:\Users 目錄下,你自己的用戶目錄里,看到一個「01_all_series_quickstart」目錄。
更詳細的 Git 使用教程見:
http://wiki.100ask.net/BeginnerLearningRoute
  • 3.開始學習
拿到開發板後,請先根據上面的1、2步下載好資料後,再按下面順序進行學習。
    • ① 搭建開發環境,熟悉開發板的操作
根據BSP資料包中的手冊《嵌入式Linux應用開發完全手冊第2版_韋東山全系列視頻文檔全集Vxxx.pdf》,搭好開發環境,熟悉接串口、燒系統等常規操作。
你只需要學習這幾章,其他內容按需觀看即可:
《第2章 搭建開發環境》
《第6章 啟動開發板》
《9.1 獲取源碼》、《9.2 配置交叉編譯工具鏈》
《第10章 燒寫整個系統或更新部分系統》
《第11章 PC和開發板之間傳輸文件》
這個手冊的很多命令經常用到,我們把手冊部分內容放到了 WIKI 上:http://wiki.100ask.net/100ask_imx6ull
學習時,先按照「網盤的開發板用戶手冊」搭環境,熟悉開發板的常規操作。
熟悉之後,在開發過程中可以使用 WIKI直接閱讀文檔,這樣就不用每次都打開 PDF 文件了。
    • ② 照著視頻及文檔學習
我們針對眾多開發板重新錄製了視頻,這是一套全新的視頻,易於入門。
這套視頻兼容多款板子,支持NXP、TI、瑞芯微、ST等多家主流晶片公司的主打晶片。
當你搭好環境,知道開發板的常規操作後,就可以按視頻順序進行學習了。
  • 文檔更新
    • 學習手冊我們會不斷更新,臨時版本放在 QQ 群文件中
100ask_imx6ull售後群1,QQ群號碼718867902(進群需提供購買記錄)
    • 文檔驗證後再統一上傳至百度網盤
  • 強烈建議


打開包裝 連接開發板

啟動開發板

執行基本命令

示例功能體驗

應用編程

更新系統

更新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啟動即可,(啟動方式設置在開發板背面印有絲印說明)

進階使用

配置開發環境

wamware ubuntu系統鏡像如何安裝請參考 資料光碟 00_UserManual/嵌入式Linux應用開發完全手冊第2版_韋東山全系列視頻文檔全集Vxxx.pdf
如果使用我們提供的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://weidongshan.coding.net/p/DevelopmentEnvConf/d/DevelopmentEnvConf/git/raw/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh

獲取開發板sdk

本地拷貝上傳

通過FileZilla等工具上傳資料光碟中的 07_bsp_sdk(BSP包)/100ask_imx6ull-sdk 整個壓縮包文件到ubuntu系統/home/book目錄下。
執行7z x 100ask_imx6ull-sdk.7z.001 進行解壓縮,等待解壓縮完成。
注意: 資料光碟的sdk是定期更新,不是實時更新,解壓縮後可以使用如下命令同步獲取最新sdk(如下操作需要ubuntu可以聯網)。
book@100ask:~$ git clone https://e.coding.net/codebug8/repo.git
book@100ask:~$ cd  100ask_imx6ull-sdk
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo sync -c

在線獲取

  • 以下操作在已經配置好開發環境得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://e.coding.net/codebug8/repo.git
book@100ask:~$ mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
book@100ask:~/100ask_imx6ull-sdk$  ../repo/repo init -u https://e.coding.net/weidongshan/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三個環境變量,下面介紹具體設置方法(3種方法任選一種)。

  • 永久生效

如需永久修改,請修改用戶配置文件, 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

執行完成後使用如下命令使其生效

book@100ask:~$ source ~/.bashrc
  • 臨時生效

執行完「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-
  • 驗證
book@100ask:~$ arm-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/6.2.1/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/snapshots/gcc-linaro-6.2-2016.11/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --enable-gnu-indirect-function --disable-multilib --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) 
book@100ask:~$

手動編譯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
  • 拷貝內核鏡像到開發板系統
    ssh登陸開發板拷貝鏡像
    nfs掛載文件系統拷貝內核鏡像
    tftp下載內核鏡像
    通過wmware掛載u盤拷貝文件
  • 編譯內核模塊
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
  • 安裝內核模塊到nfs根文件系統
book@100ask:~/100ask_imx6ull-sdk/linux-4.9.88$ sudo make ARCH=arm INSTALL_MOD_PATH=</media/rootfs>  modules_install

手動編譯rootfs

  • 配置busybox配置文件
book@100ask:~/100ask_imx6ull-sdk/Busybox_1.30.0$ cp ../DevelopmentEnvConf/100ask_imx6ull_busybox_config  .config 
  • 編譯busybox並安裝
book@100ask:~/100ask_imx6ull-sdk/Busybox_1.30.0$ make
book@100ask:~/100ask_imx6ull-sdk/Busybox_1.30.0$ make install 
  • 創建相應得目錄及文件並打包壓縮成tar.gz
book@100ask:~/100ask_imx6ull-sdk/DevelopmentEnvConf$ sudo ./busybox_build_config.sh
  • 安裝其它必須庫
如藍牙固件 系統模塊等。



製作系統鏡像

安裝文件系統到目標開發板

  • 安裝到Sd卡系統內
  • 安裝到emmc系統內
  • nfs網絡掛載啟動

使用buildroot構建系統

獲取源碼

參考頁面 獲取開發板sdk

編譯系統

  • 配置文件說明
配置文件 含義
100ask_imx6ull-nfs_defconfig 專門用於nfs啟動使用的文件系統
100ask_imx6ull_defconfig 默認文件系統版本(包含除qt以外所有工具)
100ask_imx6ull-qt_defconfig 包含Qt5.11文件系統版本
  • 以編譯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個小時。

  • 編譯後生成文件介紹
 
buildroot2019.02	
	├── output
		├── images	
			├── 100ask_imx6ull-14x14.dtb	<--设备树文件	
			├── rootfs.ext2					<--ext2格式根文件系统
			├── rootfs.ext4 -> rootfs.ext2		<--ext2格式根文件系统	
			├── rootfs.tar					<--打包并压缩的根文件系统,用于NFSROOT启动
			├── rootfs.tar.gz
			├── sdcard.img					<--完整的SD卡系统镜像
			├── u-boot-dtb.imx				<--u-boot镜像
			└── zImage					<--内核镜像
  • buildroot對於Linux內核的常用命令
  • buildroot下單獨編譯內核
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make  linux-rebuild
  • 運行內核make menuconfig配置選項界面
 book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make linux-menuconfig   
  • 保存內核最新的配置文件
 book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make linux-savedefconfig   
  • 更新內核配置文件到 100ask_imx6ull_defconfig
 book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make linux-update-defconfig   
  • buildroot下其它常用操作
  • buildroot下編譯時顯示詳細信息
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$make V=1 <pkg>
  • buildroot下單獨編譯u-boot
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make uboot-rebuild
  • buildroot下單獨編譯某個軟體包
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2019.02$ make <pkg>-rebuild

如何燒寫

  • 如何燒寫SD卡系統
請將編譯後的 output/images/sdcard.img文件使用FileZilla等工具拷貝到widows目錄,讓後參考如上頁面 更新SD卡系統來燒寫最新編譯的sd卡系統。
  • 如何使用mfgtools燒寫buildroot生成的系統鏡像
使用mfgtools 燒寫buildroot編譯好的系統請先將output/images/目錄下 u-boot-dtb.imx zImage 100ask_imx6ull-14x14.dtb rootfs.tar.bz2 這4個文件使用FileZilla等工具拷貝到資料光碟 02_Images\Emmc\100ask_imx6ull-mfgtools\Profiles\Linux\OS Firmware\files目錄下,替換原有的文件,讓後參考 更新emmc系統來更新emmc系統。

參考/擴展閱讀

使用yocto構建系統

在線獲取源碼

如下使用repo命令獲取編譯ycoto系統所用源碼。
book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git
book@100ask:~$ mkdir -p Yocto_imx-4.9.88  && cd Yocto_imx-4.9.88
book@100ask:~/Yocto_imx-4.9.88$  ~/repo/repo init -u https://e.coding.net/weidongshan/manifests.git -b yocto  -m  100ask_imx-4.9.88-2.0.0_ga.xml  --no-repo-verify
book@100ask:~/Yocto_imx-4.9.88$  ~/repo/repo sync -j4
同步源碼後,需要將資料光碟 07_Bsp_sdk/Yocto_downloads.tar.gzycoto編譯所需的所有軟體包文件解壓到 book@100ask:~/Yocto_imx-4.9.88/Yocto$目錄下,解壓後即可執行如下編譯命令。

編譯完整系統鏡像

book@100ask:~/Yocto_imx-4.9.88/Yocto$ DISTRO=100ask-imx-fb  MACHINE=imx6ull_100ask  source fsl-setup-release.sh -b build-linux-fb
book@100ask:~/Yocto_imx-4.9.88/Yocto$ bitbake  100ask-image-qt5-validation-imx 
生成的系統鏡像文件所在目錄~/Yocto_imx-4.9.88/Yocto/build-linux-fb/tmp/deploy/images/
book@100ask:~/Yocto_imx-4.9.88/Yocto/build-linux-fb/tmp/deploy/images/imx6ull_100ask$ ls

100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.ext4        100ask-image-qt5-validation-imx-imx6ull_100ask.tar.bz2        u-boot.imx-sd
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.manifest    100ask-image-qt5-validation-imx-imx6ull_100ask.testdata.json  u-boot-sd-2017.03-r0.imx
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.sdcard.bz2  100ask_imx6ull-14x14.dtb                                      zImage
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.rootfs.tar.bz2     modules--4.9.88-r0-imx6ull_100ask-20200303105647.tgz          zImage-100ask_imx6ull-14x14.dtb
100ask-image-qt5-validation-imx-imx6ull_100ask-20200303105647.testdata.json      modules-imx6ull_100ask.tgz                                    zImage--4.9.88-r0-100ask_imx6ull-  14x14-20200303105647.dtb
100ask-image-qt5-validation-imx-imx6ull_100ask.ext4                              u-boot.imx                                                    zImage--4.9.88-r0-imx6ull_100ask- 20200303105647.bin
100ask-image-qt5-validation-imx-imx6ull_100ask.manifest                          u-boot-imx6ull_100ask.imx                                     zImage-imx6ull_100ask.bin
100ask-image-qt5-validation-imx-imx6ull_100ask.sdcard.bz2                        u-boot-imx6ull_100ask.imx-sd

燒寫生成系統鏡像文件

  • 如何燒寫鏡像到SD卡或emmc中
請先解壓鏡像後綴為sdcard.bz2的系統鏡像文件到任意目錄,讓後使用我們的 100ask_imx6ull_flashing_tool_v2.0.exe 燒寫工具專業版,選擇此鏡像文件進行燒錄即可,工具使用方法請參考 嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf

yocto開發參考資料

  • bitbake使用介紹
  • 如何添加一個包到系統鏡像中
  • 如何定義自己的image系統鏡像
  • 如何定義自己的machine端
  • 如何定義自己的DISTRO發行版系統

使用發行版系統

  • 使用製作好的鏡像燒錄至開發板
  • 自己手動構建適合imx6ull發行版文件系統

高階使用

調試u-boot

調試kernel驅動

系統監視

應用調試

內核調試

常見問題

參考