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

来自百问网嵌入式Linux wiki
 
(未显示5个用户的21个中间版本)
第1行: 第1行:
 +
{{Redtext| 此页面仅供参考 实际操作请以资料光盘配套的PDF手册为准}}
  
 
+
[[File:导学.mp4|800px|600px|center]]
[[File:IMX6ULL初学者快速指南.mp4|800px|600px|center]]
 
  
 
{| width="100%"  
 
{| width="100%"  
第19行: 第19行:
 
::*[[100ask_imx6ull_tool| 100ask_imx6ull烧写工具设计与使用说明]]
 
::*[[100ask_imx6ull_tool| 100ask_imx6ull烧写工具设计与使用说明]]
 
::*[https://github.com/100askTeam/gui_for_nxp_uuu 100ask_imx6ull_tool 开源Github仓库]
 
::*[https://github.com/100askTeam/gui_for_nxp_uuu 100ask_imx6ull_tool 开源Github仓库]
::*[https://weidongshan.coding.net/p/gui_for_nxp_uuu/git  100ask_imx6ull_tool 开源Coding仓库]
+
::*[https://weidongshan.coding.net/p/gui_for_nxp_uuu/git  100ask_imx6ull_tool 开源Coding仓库(推荐)]
:*[[How_to_use_fpc_adapter_board | LCD FPC转接板使用教程(支持正点原子、野火LCD屏幕)]]
+
:*[[How_to_use_fpc_adapter_board | LCD FPC转接板使用教程(支持正点原子、野火LCD Linux开发板RGB屏幕)]]
 
|}
 
|}
 
=开发板简介=
 
=开发板简介=
第69行: 第69行:
 
*'''1.资料说明'''
 
*'''1.资料说明'''
 
** 100ASK_IMX6ULL资料分为三部分:
 
** 100ASK_IMX6ULL资料分为三部分:
***① 开发板BSP包(开发板的所有资料,不包括视频教程):
+
***① 开发板BSP包(开发板的所有资料,不包括视频):
 
:::: 包括虚拟机Ubuntu、开发板原理图、手册等等。
 
:::: 包括虚拟机Ubuntu、开发板原理图、手册等等。
 
:::: 这部分资料容量大,改动小,放在百度网盘中。
 
:::: 这部分资料容量大,改动小,放在百度网盘中。
第77行: 第77行:
 
***② 视频教程:
 
***② 视频教程:
 
:::: a)基本上每周都更新,它会放在百度网盘中:
 
:::: a)基本上每周都更新,它会放在百度网盘中:
::::: 网盘链接:[https://eyun.baidu.com/s/3hsTaQ5A https://eyun.baidu.com/s/3hsTaQ5A] 密码:WND3
+
::::: 网盘链接:[https://eyun.baidu.com/s/3c2XmIVA https://eyun.baidu.com/s/3c2XmIVA] 密码:askNEWCourseA
 +
   
 
:::: b)也可以在线观看:
 
:::: b)也可以在线观看:
 
::::: 哔哩哔哩(B站):[http://www.bilibili.com/video/av65976587 http://www.bilibili.com/video/av65976587] (或在B站首页搜“韦东山”)
 
::::: 哔哩哔哩(B站):[http://www.bilibili.com/video/av65976587 http://www.bilibili.com/video/av65976587] (或在B站首页搜“韦东山”)
:::: c)官网在线观看:[http://www.100ask.net http://www.100ask.net] (请使用手机打开,电脑端正在升级)
+
:::: c)官网在线观看:[http://www.100ask.net http://www.100ask.net]  
  
***③ 视频教程配套的文档和源码:
+
***③ 视频配套的文档和源码:
 
:::: 这部分内容会经常更新,使用GIT来下载。
 
:::: 这部分内容会经常更新,使用GIT来下载。
 
::::: 仓库地址:[https://e.coding.net/weidongshan/01_all_series_quickstart.git https://e.coding.net/weidongshan/01_all_series_quickstart.git]
 
::::: 仓库地址:[https://e.coding.net/weidongshan/01_all_series_quickstart.git https://e.coding.net/weidongshan/01_all_series_quickstart.git]
 
:::: 观看视频,就可以知道里面的源码怎么使用。
 
:::: 观看视频,就可以知道里面的源码怎么使用。
 
:::: 每一节视频都有对应的文档,这些文档集合成一个PDF文件:
 
:::: 每一节视频都有对应的文档,这些文档集合成一个PDF文件:
::::: ''《嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集.pdf》''
+
::::: ''《嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxx.pdf》''
::::: 这个文件也有在线版本:[http://book.100ask.net http://book.100ask.net],但是最新版本在GIT中。
+
 
  
 
*'''2.怎么下载资料'''
 
*'''2.怎么下载资料'''
**① 根据第一步的资料说明①,下载开发板BSP包(开发板的所有资料,不包括视频教程):
+
**① 根据第一步的资料说明:下载开发板BSP包(开发板的所有资料,不包括视频教程):
 
::: 请先转存到自己的百度网盘,再使用百度网盘的PC客户端来下载。
 
::: 请先转存到自己的百度网盘,再使用百度网盘的PC客户端来下载。
 
::: 如果下载速度太慢,可以适当充值百度短期会员。
 
::: 如果下载速度太慢,可以适当充值百度短期会员。
 
::: 不要在浏览器上直接下载,这很容易失败、出错。
 
::: 不要在浏览器上直接下载,这很容易失败、出错。
  
**② 根据第一步的资料说明③,视频教程配套的文档和源码:
+
**② 根据第一步的资料说明:下载视频教程配套的文档和源码:
 
::: 下载安装Git Bash工具 :  [https://gitforwindows.org/ https://gitforwindows.org/]
 
::: 下载安装Git Bash工具 :  [https://gitforwindows.org/ https://gitforwindows.org/]
 
:::: 打开Git Bash,执行命令:  
 
:::: 打开Git Bash,执行命令:  
第105行: 第106行:
 
:::: http://wiki.100ask.net/BeginnerLearningRoute
 
:::: 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 文件了。
 
 
**② 照着视频及文档学习
 
::: 我们针对众多开发板重新录制了视频,这是一套全新的视频,易于入门。
 
::: 这套视频兼容多款板子,支持NXP、TI、瑞芯微、ST等多家主流芯片公司的主打芯片。
 
::: 当你搭好环境,知道开发板的常规操作后,就可以按视频顺序进行学习了。
 
  
 
*'''{{Redtext | 文档更新 }}'''
 
*'''{{Redtext | 文档更新 }}'''
第129行: 第111行:
 
::: 100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录)
 
::: 100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录)
 
** 文档验证后再统一上传至百度网盘
 
** 文档验证后再统一上传至百度网盘
 
* '''强烈建议'''
 
**按照 '''[http://book.100ask.org {{Redtext | 在线文档 }}]''' 学习
 
**它是全新全系列视频配套的文档
 
  
  
第150行: 第128行:
  
 
==示例功能体验==
 
==示例功能体验==
 +
*[[How_to_setup_wifi_connection | 如何设置wifi连接网络 ]]
 +
*[[How_to_use_a_Bluetooth_module_to_connect_a_Bluetooth_speaker | 如何设置蓝牙模块连接蓝牙音箱播放音乐]]
 
*[[play_audio | 如何使用aplayer播放音频文件 ]]
 
*[[play_audio | 如何使用aplayer播放音频文件 ]]
 
*[[How_to_record_with_arecord | 如何使用arecord录音]]
 
*[[How_to_record_with_arecord | 如何使用arecord录音]]
第163行: 第143行:
 
*[[Iw | 何使用iw工具扫描wifi设备]]
 
*[[Iw | 何使用iw工具扫描wifi设备]]
 
*[[How_to_setup_wifi_connection | 如何使用wpa_supplicant工具链接wifi网络]]
 
*[[How_to_setup_wifi_connection | 如何使用wpa_supplicant工具链接wifi网络]]
 
+
*[http://wiki.100ask.org/Category:How_to 更多功能体验示例]
==应用编程==
 
 
 
==更新系统==
 
===更新SD卡系统===
 
*1.安装资料光盘下<code>01_tools\SD Card Formatter 5.0.1 Setup.exe</code>软件,安装完成后打开!<br>
 
*2.使用'''SdCardFormatter'''格式化SD卡,格式化步骤如下如所示!
 
{| class="wikitable"  style="text-align: center;  background-color: rgba(255,255,255,0.2)"
 
|-
 
| [[image:100ask_am335x_SD_P_004.png | 300px ]]
 
| [[image:100ask_am335x_SD_P_005.png  | 300px]]
 
| [[image:100ask_am335x_SD_P_006.png | 300px ]]
 
|-
 
| (1)选择要格式化的SD卡,选中Quick format,点击Format || (2)在弹出的对话框中点击是(Y) || (3)等待格式化完成,在弹出的对话框中点击确定
 
|}
 
 
 
*3.安装资料光盘下<code>01_tools/ win32diskimager-1.0.0-install.exe</code>软件,安装完成后打开!<br>
 
*4.使用'''wind32diskimage'''烧写存放在<code>02_Images\Sdcard </code>目录下的<code> sdcard.img</code> 系统镜像文件,烧写步骤如下所示!<br>
 
 
 
{| class="wikitable" style="text-align: center;  background-color: rgba(255,255,255,0.2)"
 
|-
 
| [[image:100ask_am335x_SD_p_001.png | 400px  ]]
 
| [[image:100ask_am335x_SD_p_002.png | 400px ]]
 
| [[image:100ask_am335x_SD_p_003.png ]]
 
|-
 
| (1)选中需要烧写的SD卡设备,点击文件图标选择系统镜像文件,最后点击写入按钮开始烧写 || (2)此时弹出烧写对话框,点击Yes按钮,继续烧写, 等待任务进度执行到100%) || 烧写成功后,弹出写入成功,此时点击OK
 
|}
 
 
 
===更新emmc系统===
 
*使用mfgtools烧写emmc系统
 
:1.设置开发板启动方式为usb启动。
 
:2.使用包装盒配套的micro usb线一端连接到开发板usb otg口另一端连接至电脑usb接口处(接口位置请参考右上图<code> 5:USB OTG</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连接。
 
{| class="wikitable" style="text-align: center;  background-color: rgba(255,255,255,0.2)"
 
|-
 
| [[File:100ask_imx6ul_006_new.png|400px]]
 
| [[File:100ask_imx6ul_007.png|400px]]
 
|[[File:100ask_imx6ul_008.png|400px]]
 
|-
 
| (1)usb otg链接成功示意图,连接成功后点击start按钮开始烧写 || (2)系统烧写中示意图 ||  (3)烧写完成示意图(点击Stop,再点击Exit即可退出)
 
|}
 
:5.设置开发板启动方式为Emmc启动即可,(启动方式设置在开发板背面印有丝印说明)
 
 
 
=进阶使用=
 
 
 
==配置开发环境==
 
:wamware ubuntu系统镜像如何安装请参考 资料光盘 '''00_UserManual/嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf'''
 
:如果使用我们提供的vmware ubuntu 虚拟机镜像配置开发环境,只需在在ubuntu联网状态下在终端下执行如下命令即可完成一键配置开发环境 请参考页面[[Configuring_ubuntu | 配置ubuntu开发环境]]。
 
:如何您使用的是自行安装的ubuntu 开发环境,我们的脚本会自动新建book用户及相关环境配置。
 
*一键配置开发环境脚本,在Ubuntu终端下直接执行,即可配置好Linux开发环境依赖(包含tftpp nfs samba  不包含交叉编译工具链 ARCH CROSS_COMPILE设置)。
 
GIthub地址
 
<syntaxhighlight lang="Bash">
 
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
 
</syntaxhighlight>
 
国内coding地址({{Redtext |推荐使用此地址}})
 
<syntaxhighlight lang="Bash">
 
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
 
</syntaxhighlight>
 
 
 
==获取开发板sdk==
 
===本地拷贝上传===
 
:通过FileZilla等工具上传资料光盘中的''' 07_bsp_sdk(BSP包)/100ask_imx6ull-sdk '''整个压缩包文件到ubuntu系统'''/home/book'''目录下。
 
:执行<code>7z x 100ask_imx6ull-sdk.7z.001 </code>进行解压缩,等待解压缩完成。
 
:注意: {{redtext |资料光盘的sdk是定期更新,不是实时更新,解压缩后可以使用如下命令同步获取最新sdk}}(如下操作需要ubuntu可以联网)。
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
 
 
===在线获取===
 
*以下操作在已经配置好开发环境得ubuntu系统终端下执行(注意:如下操作需要ubuntu可以上网)
 
:*git邮箱账号和用户名配置
 
<syntaxhighlight lang="bash">
 
book@100ask:~$ git config --global user.email "you@example.com"
 
book@100ask:~$ git config --global user.name "Your Name"
 
</syntaxhighlight>
 
:初次使用,需要配置用户名和邮箱才可以进行代码同步,用户名和邮箱根据自己情况设定,也可以随意设定
 
 
 
:*考虑到代码仓库过多,特使用repo工具管理代码, <br>
 
::repo工具配置
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
::{{redtext|代码会不定时的进行更新同步,用户可以在100ask_imx6ull-sdk目录下使用<code>  ../repo/repo sync -c </code>命令来获取最新源码}}
 
:*上面使用的repo管理文件xml为国内coding仓库 https://e.coding.net/weidongshan/manifests.git
 
:*如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md
 
:*所有Git仓库地址链接获取页面:[[ Get_all_Git_repository_address_links |  获取所有Git仓库地址链接]]
 
*git常用命令参考(可以在相应的源码目录使用如下git命令查看所有的提交记录,用于学习研究)
 
:*[[How to use the git log command]]
 
:*[[How to use the git branch command]]
 
:*[[How to use the git reset command]]
 
:*[[How to install the git]]
 
:*[[How to config the git]]
 
:*[[How to submit a git pull request]]
 
 
 
==使用busybox构建系统==
 
 
 
===设置工具链===
 
交叉编译工具链主要是用于在ubuntu主机上编译并生成可以在其它平台上运行的系统。设置交叉编译工具主要是设置<code>PATH</code> <code>ARCH</code>和<code>CROSS_COMPILE</code>三个环境变量,下面介绍具体设置方法(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”命令后,该设置只对当前终端有效
 
<syntaxhighlight lang="bash">
 
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-
 
</syntaxhighlight>
 
* 手动指定
 
Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链
 
<syntaxhighlight lang="bash">
 
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-
 
</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>
 
 
 
===手动编译u-boot===
 
*编译100ask_imx6ull开发板uboot命令
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
*单独烧写uboot
 
:*请先将SD卡插入电脑,并挂载到ubuntu系统上,如何挂载请参考页面[[How to use vmware usb connection device| 如何使用VMware连接usb设备]],使用<code>dmesg</code>命令查看设备节点名称。
 
::获取到设备名称后使用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启动系统
 
 
 
*参考/扩展学习
 
 
 
:*[[UBoot|uboot用户手册]]
 
:*[[UBootCmdFDT | uboot下fdt设备树操作命令使用详解]]
 
:*[[UBootCmdGroupDownload | uboot下下载命令使用详解]]
 
:*[[UBootCmdGroupEnvironment | uboot下环境变量命令使用详解]]
 
:*[[UBootCmdGroupExec | uboot下执行控制命令使用详解]]
 
:*[[UBootCmdGroupFlash | uboot下Flash内存命令使用详解]]
 
:*[[UBootCmdGroupInfo | uboot下info命令使用详解]]
 
:*[[UBootCmdGroupMemory | uboot下内存命令使用详解]]
 
:*[[UBootCmdGroupMisc | uboot下混杂设备命令使用详解]]
 
:*[[UBootCmdGroupSpecial | uboot下特殊命令使用详解]]
 
:*[[UBootStorageDevices | uboot下存储设备操作命令使用详解]]
 
:*[[How_to_boot_the_kernel_via_TFTP_from_U-Boot | 如何从U-Boot通过TFTP引导内核]]
 
:*[[How_to_update_U-Boot_on_an_SD_card | 如何在SD卡上更新U-Boot]]
 
:*[[How_to_use_USB_mass_storage_in_U-Boot |如何在U-Boot中使用USB大容量存储]]
 
 
 
===手动编译Linux kernel===
 
*编译100ask_imx6ull 开发板内核
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
*拷贝内核镜像到开发板系统
 
*: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
 
 
 
*安装其它必须库
 
:如蓝牙固件 系统模块等。
 
 
 
 
 
 
 
 
 
===制作系统镜像===
 
*参考[[How_to_create_EXT4_images | 如何创建Ext4系统镜像 ]]
 
*参考[[How_to_create_ubi_images | 如何创建UBI系统镜像]]
 
 
 
===安装文件系统到目标开发板===
 
*安装到Sd卡系统内
 
*安装到emmc系统内
 
*nfs网络挂载启动
 
 
 
==使用buildroot构建系统==
 
===获取源码===
 
:参考页面[[100ask_imx6ull#.E8.8E.B7.E5.8F.96.E5.BC.80.E5.8F.91.E6.9D.BFsdk | 获取开发板sdk]]
 
===编译系统===
 
*配置文件说明
 
{| class="wikitable"
 
|-
 
! 配置文件 !! 含义
 
|-
 
| 100ask_imx6ull-nfs_defconfig  || 专门用于nfs启动使用的文件系统
 
|-
 
|100ask_imx6ull_defconfig  || 默认文件系统版本(包含除qt以外所有工具)
 
|-
 
|100ask_imx6ull-qt_defconfig ||包含Qt5.11文件系统版本
 
|}
 
*以编译100ask_imx6ull_defconfig系统镜像为例,如下为编译步骤
 
<syntaxhighlight lang="bash">
 
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
 
</syntaxhighlight>
 
'''注意:机器性能不同,编译时间不同。性能差的电脑,有可能需要等待1 ~ 2个小时。'''
 
:*编译后生成文件介绍
 
<syntaxhighlight lang="bash" >
 
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 <--内核镜像
 
</syntaxhighlight>
 
*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目录,让后参考如上页面[[100ask_imx6ull#.E6.9B.B4.E6.96.B0SD.E5.8D.A1.E7.B3.BB.E7.BB.9F | 更新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'''目录下,替换原有的文件,让后参考[[100ask_imx6ull#.E6.9B.B4.E6.96.B0emmc.E7.B3.BB.E7.BB.9F | 更新emmc系统]]来更新emmc系统。
 
 
 
===参考/扩展阅读===
 
*[[Buildroot | Buildroot简介]]
 
*[[How to add a new package to buildroot | 如何添加一个自己的包到buildroot]]
 
*[[Buildroot_TargetOptions | 如何配置TargetOptions(目标架构选择) ]]
 
*[[Buildroot_BuildOptions| 如何配置buildroot构建选项]]
 
*[[Buildroot_Toolchain | 如何为目标单板配置工具链]]
 
*[[Buildroot_SystemConfiguration | 如何为目标单板配置系统配置参数]]
 
*[[Buildroot_Kernel |如何为目标单板安装内核镜像]]
 
*[[Buildroot_TargetPackages | 如何安装相应的软件包到目标单板内]]
 
*[[Buildroot_Bootloaders | 如何为目标单板安装uboot]]
 
*[[Buildroot_FilesystemImages | 如何为目标单板生成指定的文件系统镜像]]
 
 
 
==使用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.gz'''ycoto编译所需的所有软件包文件解压到 <code>book@100ask:~/Yocto_imx-4.9.88/Yocto$</code>目录下,解压后即可执行如下编译命令。
 
===编译完整系统镜像===
 
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
 
 
 
:生成的系统镜像文件所在目录<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卡或emmc中
 
:请先解压镜像后缀为'''sdcard.bz2'''的系统镜像文件到任意目录,让后使用我们的 100ask_imx6ull_flashing_tool_v2.0.exe 烧写工具专业版,选择此镜像文件进行烧录即可,工具使用方法请参考<code> 嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集Vxxx.pdf</code>。
 
 
 
===yocto开发参考资料===
 
*bitbake使用介绍
 
*如何添加一个包到系统镜像中
 
*如何定义自己的image系统镜像
 
*如何定义自己的machine端
 
*如何定义自己的DISTRO发行版系统
 
 
 
==使用发行版系统==
 
*使用制作好的镜像烧录至开发板
 
 
 
*自己手动构建适合imx6ull发行版文件系统
 
:* [[Building_ubuntu_rootfs_for_arm | 如何构建基于armhf架构的ubuntu发行版系统]]
 
:* [[How_to_create_debian_rootfs_for_arm | 如何构建基于armhf架构的debian发行版系统]]
 
 
 
=高阶使用=
 
==调试u-boot==
 
==调试kernel驱动==
 
==系统监视==
 
==应用调试==
 
==内核调试==
 
==常见问题==
 
  
 
=参考=
 
=参考=
 
[[Category:LinuxDevelopmentBoard]]
 
[[Category:LinuxDevelopmentBoard]]
 
{{DISPLAYTITLE:百问网Imx6ull开发板}}
 
{{DISPLAYTITLE:百问网Imx6ull开发板}}

2021年4月7日 (三) 11:35的最新版本

此页面仅供参考 实际操作请以资料光盘配套的PDF手册为准

若初次接触我们产品,请先阅读 开始使用
如果使用的是imx6ull mini板,涉及板子的操作时,请参考 IMX6ULL MINI板

  • 原理图开源资料
  • 开发板烧录工具(百问网自制烧录工具)

开发板简介

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/3c2XmIVA 密码:askNEWCourseA
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版_韦东山全系列视频文档全集Vxx.pdf》


  • 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


  • 文档更新
    • 学习手册我们会不断更新,临时版本放在 QQ 群文件中
100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录)
    • 文档验证后再统一上传至百度网盘


打开包装 连接开发板

启动开发板

参考