IMX6Q(TQIMX6Q/TQE9)移植笔记
文章平均质量分 86
记录IMX6Q学习过程u-boot、内核及安卓的移植过程,与大家分享。
girlkoo
这个作者很懒,什么都没留下…
展开
-
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之声卡驱动移植
经过前面的移植,tqimx6q已经可以正常驱动触摸屏了,本文我们来移植声卡驱动。DTS编写由于tqimx6q搭载的声卡是sgtl5000芯片,因此,参考dts目录下其它开发板的相应信息,我们可以在DTS中添加如下内容:/ { ... regulators { ... reg_3p3v: 3p3v { compatible = "regulator-fixed"原创 2015-05-19 23:58:21 · 15551 阅读 · 9 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之触摸屏驱动移植
之所以说是驱动移植是因为之前已经在TQ210、AM335x两个平台上移植过了,因此,仅需要少量修改就可以将驱动移植到imx6q。下面开始触摸驱动移植。DTS编写参考其它DTS的i2c设备写法,我们可以添加如下内容:&i2c1 { clock-frequency = ; pinctrl-names = "default"; pinctrl-0 = ; status = "okay原创 2015-05-18 00:31:55 · 10409 阅读 · 9 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之LCD移植
经过前面的移植,eMMC已经可以在tqimx6q上正常运行了,本文将来移植LCD驱动。DTS编写imx6的LCD控制器与之前的芯片略有不同,详细的信息可以阅读芯片手册。参考sabrelite开发板的DTS,我们可以添加如下内容:/ { ... aliases { mxcfb0 = &mxcfb1; }; ... regulators { ... reg_mi原创 2015-05-16 23:20:51 · 14540 阅读 · 4 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之eMMC移植
前一篇文章已经移植好CAN,本文来移植eMMC。eMMC的移植一般来讲比较简单,因为MMC驱动是由官方维护的,一般来讲,不会有什么问题,对我们来说,只需要正确的配置各个pin脚的复用关系,这种情况也是DTS最擅长的。下面我们开始eMMC移植。DTS编写参考sabresd的DTS,我们可以如下编写DTS:&usdhc4 { pinctrl-names = "default"; pi原创 2015-05-14 20:15:07 · 9610 阅读 · 1 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之CAN移植
经过前面的移植,tqimx6q已经完美支持网卡,现在,我们来移植CAN。其实这里所谓的移植,仅仅是配置DTS,使内核能够检测到CAN设备,CAN驱动本身是freescale维护的。下面开始CAN的移植。DTS编写参考imx6q其它的DTS编写方式,我们可以如下编写DTS文件:...&flexcan1 { pinctrl-names = "default"; pinctrl-0原创 2015-05-13 20:23:10 · 7408 阅读 · 4 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之网卡驱动移植
由于对网卡这块不是很熟悉,误以为网卡驱动也可以简单的配置下DTS就可以正常工作了,实际移植中遇到了些问题。闲话少说,下面开始tqimx6q的网卡驱动移植。DTS编写首先在我们的DTS中添加网卡配置,参考sabrelite的DTS,我们可以如下编写:&fec { pinctrl-names = "default"; pinctrl-0 = ; phy-mode =原创 2015-05-13 00:29:57 · 14992 阅读 · 9 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之USB HOST移植
USB HOST驱动一般都是由芯片厂商维护的,因此,我们仍然只需要配置下DTS即可完成USB HOST驱动的移植。DTS配置参考sabresd相关的DTS,在我们的DTS中添加如下内容:/ { ... regulators { compatible = "simple-bus"; reg_usb_otg_vbus: usb_otg_vbus { compatible原创 2015-05-11 23:34:38 · 9903 阅读 · 6 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之UART移植
我们在内核启动时候已经配置系统了UART,但是tqimx6q这块开发板上引出了imx6q的5路TTL接口,其中,uart1和uart2转成232接口,本文将配置这5路Uart接口。DTS配置由于内核中已经有imx6q的uart控制器驱动,因此,我们只需要配置各端口的pinctrl即可。根据tqimx6q的原理图,我们对我们的DTS作如下修改:...&uart1 { pinctrl原创 2015-05-10 23:24:21 · 7401 阅读 · 6 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之KEY、LED
经过前面的移植,内核已经可以在tqimx6q上正常挂载根文件系统了,接下来开始移植各类设备驱动,本文先来移植按键和LED。之所以从按键和LED开始是因为这两种设备的驱动是最简单的。按键驱动移植查看tqimx6q的原理图可知,这块开发板有5个按键,其中,除了reset键之外还有个电源键,这个电源键与其它键有些不同,因此,本文移植剩余的这三个键(电源键在移植电源管理模块时处理)。通过阅读原理图原创 2015-05-07 20:37:23 · 9453 阅读 · 7 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之根文件系统挂载
经过前面的移植,新版BSP的uboot和kernel已经能够在tqimx6q开发板上运行了,接下来我们来挂载文件系统。DTB整理前面的文章中提到,新版BSP的DTB管理感觉不是太好,在之前移植的BSP上我发现即便有根文件系统,内核也会挂掉,由于原来的DTS文件中配置内容太多,不好确定问题的源头,本文对DTS进行了整理,整理后只需要一个DTS文件,其内容如下:/* * Copyrigh原创 2015-05-04 00:03:27 · 11611 阅读 · 12 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之kernel移植
前篇文章已经在tqimx6q上成功跑起了新版BSP的uboot,本文来配置下新版BSP的kernel,使kernel能在tqimx6q上正常启动。准备工作每次移植kernel的时候都会做的工作就是找到与当前开发板接近的config,其实uboot移植的时候也是一样的。由于tqimx6q的芯片是imx6q的,所以,还是以mx6q_sabresd为例。另外,自己动手移植BSP时应该充分使用官方原创 2015-05-03 13:31:30 · 33513 阅读 · 18 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之u-boot移植
前段时间就开始学习I.MX6Q了,但是最近工作实在是忙,间断了一些时间了。为了提高移植效率,还是考虑移植Freescale维护的3.10版本的内核。源码获取Freescale维护的3.10的内核是使用git管理的,但是直接使用git下载代码会比较慢,下面是我下载好的uboot和kernel:I.MX6Q BSP源码(Freescale官方维护)代码下载好后,先将u-boot解压原创 2015-05-01 23:38:47 · 26085 阅读 · 43 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——内核启动与文件系统挂载
经过前面的移植,u-boot已经有能力启动内核了,本文主要来看下如何通过之前移植的u-boot来启动内核。如果按照前面的文章完成了LTIB的编译,那么,Linux的内核应该就会出现rpm/BUILD/目录下,接下来,我们就开始移植这个3.0.35版本的内核到TQIMX6Q。内核的编译为了简化内核编译的过程,可以在内核目录下创建如下脚本:原创 2015-03-25 21:08:04 · 22031 阅读 · 13 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——U-Boot移植
其实Freescale的BSP移植文档已经将u-boot的移植步骤讲述的非常详细了,但为了以后方便查阅,还是按照自己的理解记录在这里。获取源码根据前一篇文章搭建好LTIB环境后就可以非常方便的导出u-boot源码了。切换到ltib目录,并运行如下指令: ./ltib -m prep -p u-boot该指令执行需要一些时间,指令执行完成后Freescale维护的u-boot-200原创 2015-03-23 09:40:11 · 29269 阅读 · 10 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——LTIB安装配置
Freescale提供了I.MX6的BSP开发包,可以在Freescale的官网下载到。为了与天嵌提供的版本一致,本文使用的BSP版本是:L3.0.35_4.1.0_130816_source,这版本的内核是3.0.35版本的,u-boot是2009.8版本的。使用这个版本的BSP可以充分使用天嵌提供的源码包,参考天嵌的源码包进行移植,之后如果有时间的话再来移植下较新版本的u-boot和kerne原创 2015-03-23 09:36:25 · 14144 阅读 · 6 评论 -
I.MX6Q(TQIMX6Q/TQE9)学习笔记——开发板的选择
其实入手这块TQIMX6Q的时候手头上已经有一块E9开发板了,但还是选择了TQIMX6Q开发板,主要原因是个人感觉开发板更适合学习或研发,E9卡片电脑更适合应用,而且这两款单板使用的是相同的芯片(Freescale的IMX6Q),因此,学习过程中还可以在开发板上实验,然后在卡片上验证。本文主要是简单的介绍下TQIMX6Q,希望有更多的朋友一块研究。开发板简介TQIMX6Q是天嵌新推出的原创 2015-03-23 09:35:17 · 24709 阅读 · 13 评论