|
|
(未显示5个用户的24个中间版本) |
第1行: |
第1行: |
| + | {{Redtext| 此页面仅供参考 实际操作请以资料光盘配套的PDF手册为准}} |
| | | |
− | | + | [[File:导学.mp4|800px|600px|center]] |
− | [[File:IMX6ULL初学者快速指南.mp4|800px|600px|center]] | |
| | | |
| {| width="100%" | | {| width="100%" |
| |- valign="top" | | |- valign="top" |
| | | | | |
− | '''{{Redtext | 若初次接触我们产品,请先阅读[[100ask_imx6ull#.E5.BC.80.E5.A7.8B.E4.BD.BF.E7.94.A8 | 开始使用]]}}''' | + | '''{{Redtext | 若初次接触我们产品,请先阅读[[100ask_imx6ull#.E5.BC.80.E5.A7.8B.E4.BD.BF.E7.94.A8 | 开始使用]]}}'''<br> |
| + | '''{{Redtext | 如果使用的是imx6ull mini板,涉及板子的操作时,请参考[[100ask_myir_imx6ull_mini | IMX6ULL MINI板]]}}''' |
| :*原理图开源资料 | | :*原理图开源资料 |
| ::*[[:File:100ask_imx6ull_v1.1.pdf | 底板PDF格式的原理图 ->100ask_imx6ull_v1.1.pdf]] | | ::*[[:File:100ask_imx6ull_v1.1.pdf | 底板PDF格式的原理图 ->100ask_imx6ull_v1.1.pdf]] |
第18行: |
第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屏幕)]] |
| |} | | |} |
| =开发板简介= | | =开发板简介= |
第68行: |
第69行: |
| *'''1.资料说明''' | | *'''1.资料说明''' |
| ** 100ASK_IMX6ULL资料分为三部分: | | ** 100ASK_IMX6ULL资料分为三部分: |
− | ***① 开发板BSP包(开发板的所有资料,不包括视频教程): | + | ***① 开发板BSP包(开发板的所有资料,不包括视频): |
| :::: 包括虚拟机Ubuntu、开发板原理图、手册等等。 | | :::: 包括虚拟机Ubuntu、开发板原理图、手册等等。 |
| :::: 这部分资料容量大,改动小,放在百度网盘中。 | | :::: 这部分资料容量大,改动小,放在百度网盘中。 |
第76行: |
第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,执行命令: |
第104行: |
第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 | 文档更新 }}''' |
第128行: |
第111行: |
| ::: 100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录) | | ::: 100ask_imx6ull售后群1,QQ群号码718867902(进群需提供购买记录) |
| ** 文档验证后再统一上传至百度网盘 | | ** 文档验证后再统一上传至百度网盘 |
− |
| |
− | * '''强烈建议'''
| |
− | **按照 '''[http://book.100ask.org {{Redtext | 在线文档 }}]''' 学习
| |
− | **它是全新全系列视频配套的文档
| |
| | | |
| | | |
第149行: |
第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录音]] |
第162行: |
第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大容量存储]]
| |
− | :<categorytree mode=all background*color:white;">Uboot</categorytree>
| |
− | | |
− | ===手动编译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开发板}} |