【LINUX】i.MX6学习笔记(1) 调试环境搭建(MfgTool) + 学习资料(正点原子 + 韦东山)

1. 引言

说起来,和linux打交道也挺久了,最近3年的主要工作都是在linux下做的应用层开发。
在做应用层之前,因为做控制算法的原因,很多东西又是在单片机或者DSP上跑的裸核。
二者一合并,中间就出现了一个巨大的断层,就是Linux,驱动,不知道是中间这部分是怎么跑的。
其实13年自己就入了第一块arm11的开发板tiny6410,当时资料十分分散,自己又没有认清现实(linux才是王道),就没有花大力气搞,一回首已是百年身,感觉错过了一个亿。
好在万事着手都不迟,错过一个亿,还有十个亿在等着。

2. 资源

2.1 开发板

开发板入的是正点原子的ALPHA v2.0 EMMC版本,之前做ST的时候一直在openEDV的论坛逛,觉得氛围挺好,正好看到原子出了linux的板子就入了。因为原子教程的PDF书比较详细,看书就够了。(左神很强,但视频真不咋地。。好在我也不爱看视频)。
板子是用核心板+底板的结构,比较喜欢,这样自己做项目,打个底板就比较简单,毕竟我只是个写代码的,画板子只是无奈。

  • IMX6UL
  • DDR 256M
  • EMMC 8G

2.2 书籍教程

书籍用的就是开发板子配套的 ,开源免费,持续更新,比较详细

  • 【正点原子】I.MX6U嵌入式Linux驱动开发指南

其他也会看韦东山的新书,就比较简略

  • 《嵌入式Linux应用开发完全手册第 2 版》 - 韦东山

2.3 视频教程

虽然我是不爱看视频的,但是韦东山的视频还是很有水平的。加上现在重录了快节奏版本的,而且目前还免费,所以还是跟着在看的。每集时间补偿,干货很多。

  • 韦东山 100ask – 韦东山升级版全系列视频_全部重新录制

3. 版本烧录

接串口,装驱动这些我就略过了,默认都是有基本的调试基础的。

3.1 裸机烧录

3.1.1 工具选择

烧录这部分最早是按原子的教程来的,Ubuntu下烧TF卡,然后从卡起。
无奈我的编译机Ubuntu是个服务器,不好插U盘,没办法,用回vmware,但是虚拟机又识别不到USB。无奈去找了下windows下的工具,还真找到不少,这部分百问网总结的比较全。
简单总结下如下:

  • Windows
    • 100ask_imx6ull_flashing_tool 百问网开发
    • MfgTool
    • uuu.exe (MfgTool3.0)
  • Ubuntu
    • Imxdownload 正点原子开发
    • uuu
    • MfgTool

相关的介绍资源有:

  • 《100ask_imx6ull开发板用户手册-入门篇 v2.1》 第10章
  • 《I.MX6U嵌入式Linux驱动开发指南 v1.2 》 第8章,第39章

从好用程度来说,100ask_imx6ull_flashing_tool 最简单,而且对自己开发板的支持最好。

3.1.2 使用步骤

3.1.2.1 如何制作.imx映像

编译出来的.elf或者bin是不能直接烧录的,要转成.imx格式才能下载。
工具

  • 正点原子 imxdwnload
  • 韦东山 mkimage

3.1.2.2 目标生成

这里只验证流程,暂时不码代码
考出原子的代码2_ledc,修改链接地址为0x80100000。
因为在韦东山的100ask_imx6ull_flashing_tool中,我没看到指定链接地址的地方,所以姑且认为是写固定了。 这里存疑问(是不是链接地址一定要改成韦东山的??)
修改makefile最后几句,利用mkimage来做imx文件

3.1.2.3 版本下载

开发板以USB启动,使用专业版进行下载即可。
【LINUX】i.MX6学习笔记(1) 调试环境搭建(MfgTool) + 学习资料(正点原子 + 韦东山)_第1张图片

3.2 系统烧录

3.2.1 MfgTool

系统烧录的话,100ask_imx6ull_flashing_tool 也很好用,但是这里我们还是用NXP的原生工具 MfgTool 来做,毕竟是官方的。

3.2.1.1 准备镜像

烧系统要4个镜像

  • uBoot
  • Linux kernel
  • DeviceTree
  • rootfs
    工具有2个文件夹要注意
  • …\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools-with-rootfs\mfgtools\Profiles\Linux\OS Firmware\files\
  • …\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools-with-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\

files里的文件是板子是下载到内存里,先把系统启动起来,然后会把firmware里的镜像烧到EMMC上。
所以说为了烧录版本,要把自己编译的版本放在firmware里。

因为我们是EMMC的版本,所以启动脚本用mfgtool2-yocto-mx-evk-emmc.vbs,
双击之前点击运行,
【LINUX】i.MX6学习笔记(1) 调试环境搭建(MfgTool) + 学习资料(正点原子 + 韦东山)_第2张图片

这时候从串口1就开始向外打印一些log。

等待完成后即可。

官方系统要烧比较久,要有耐心。

反正我是第二天早晨看的,成功。
【LINUX】i.MX6学习笔记(1) 调试环境搭建(MfgTool) + 学习资料(正点原子 + 韦东山)_第3张图片

你可能感兴趣的:(LINUX)