I.MX6U-系统移植-5-linux内核编译和移植

1.内核编译

1.1Linux内核编译流程:

1.distclean  清理工程

2.make XXXdefconfig  使用默认配置文件配置工程

3.make -j12  编译

4.make menconfig  配置图形化界面

uboot编译流程也是这样

编译成功后如下:

 zImage:存放在:arch/arm/boot/

设备树:存放在:arch/arm/boot/dts

1.2编译单个的dts文件

make arc/arm/boot/dts/imx6ull-14x14-emmc-7-1024x600-c.dtb

在linux内核文件夹中使用。

2.移植

2.1编译linux内核

制作脚本文件(NXP官方linux)

2.2通过tftp下载zImage和dtb文件

tftp 80800000 zImage
tftp 83000000 imx6ull-14x14-evk-emmc.dtb
bootz 80800000 - 83000000

2.3在linux中添加自己的开发板

修改内容包括:

1.imx_alientek_emmc_defconfig

2.imx6ull-14x14-evk.dts

1.复制一份官方的imx_v7_mfg_defconfig 为imx_alientek_emmc_defconfig

1.复制一份官方的imx6ull-14x14-evk.dts 为imx_alientek_emmc.dts

2.修改设备树的Makefile

 3.重新制作脚本文件

 2.4使能8线emmc

1.先设置bootcmd:把zImage和设备树通过网络下载以及bootz启动

2.设置bootargs,setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

但是emmc驱动有问题,因此进行修改如下:

2.1首先在imx6ull-alientek-emmc.dts中找到usdhc2,修改内容如下,然后进行编译设备树

make dtbs

2.5网络驱动修改

因为Linux驱动是网络调试,所以需要先把网络驱动调好。

1.引脚接口不对,所以删除

2.添加正点原子引脚信息

 3.修改正点原子引脚的时钟配置

 4。修改正点原子引脚的属性,LAN8720A的PHY地址

 5。修改fec_main中的函数

6。配置linux内核,使能LAN8720驱动

 7.对LAN8720A进行软复位

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: i.MX6U是一款NXP(原Freescale)公司推出的嵌入式处理器,Yocto Project是一种用于构建根文件系统的开源项目。 要构建i.MX6U上的Yocto根文件系统,需要进行以下步骤: 1. 准备环境:首先需要在开发主机上安装Yocto Project开发环境。可以通过官方网站获取最新的Yocto Project版本,然后按照指南进行安装。 2. 获取代码:通过Git工具获取Yocto Project的源代码。可以使用以下命令进行克隆: git clone http://git.yoctoproject.org/git/poky 这将克隆Yocto Project的主要代码库。 3. 配置环境:进入代码目录,并执行以下命令: source oe-init-build-env 这将配置构建环境并创建一个"build"目录。 4. 配置构建:在"build"目录下,可以使用文本编辑器打开"conf/local.conf"文件和"conf/bblayers.conf"文件,进行环境变量和层配置。 a. 在"conf/local.conf"文件中,可以设置交叉编译工具链、目标硬件平台、软件包等配置项。 b. 在"conf/bblayers.conf"文件中,可以添加额外的层(比如meta-fsl-arm)来支持i.MX6U平台。 5. 构建根文件系统:在"build"目录下,执行以下命令进行构建: bitbake core-image-minimal 这将使用Yocto Project工具链和配置来构建一个精简的根文件系统镜像。 6. 导出根文件系统:构建完成后,可以在"build/tmp/deploy/images"目录下找到生成的根文件系统镜像文件。将它们拷贝到目标设备上即可使用。 这些步骤只是基本的流程,根据具体需求,还可以进行其他的配置和扩展。通过以上步骤,我们能够成功构建适用于i.MX6U的Yocto根文件系统,以满足特定的嵌入式应用需求。 ### 回答2: i.MX6U是一款基于ARM架构的处理器,而Yocto是一款针对嵌入式系统的开源构建工具。构建根文件系统时,我们可以使用Yocto项目来生成适用于i.MX6U平台的定制化文件系统。 首先,我们需要安装Yocto构建工具,并设置好相应的环境变量。然后,我们需要克隆i.MX6U的Yocto层,该层包含了i.MX6U特定的配置和软件包。在给定的i.MX6U Yocto层中,我们可以找到一个位于conf目录下的local.conf文件,该文件中包含了构建根文件系统所需的各种配置选项,如目标硬件平台、内核版本、文件系统类型等。 接着,我们需要在local.conf中配置构建参数。例如,我们可以指定使用哪个内核版本、选择文件系统类型(如ext4、ubifs等)、设置根文件系统的大小、选择需要安装的软件包等等。我们还需要指定i.MX6U的目标硬件平台和编译选项。 接下来,运行bitbake命令进行构建。bitbake命令会根据我们在local.conf中的配置选项来下载源代码、编译软件包、生成根文件系统映像等。整个构建过程可能需要一些时间,具体时间取决于我们选择的软件包和系统组件。 最后,构建完成后,我们可以在output目录中找到生成的根文件系统映像。这个映像可以烧录到i.MX6U平台上并运行。我们还可以在根文件系统中添加或修改软件包、配置文件等,以满足我们的特定需求。 总之,通过使用Yocto项目来构建根文件系统,我们可以灵活定制适用于i.MX6U平台的嵌入式系统,并满足特定的功能需求。 ### 回答3: i.MX6U是一款NXP公司推出的嵌入式处理器,它在嵌入式系统中应用广泛。Yocto Project是一个开源的构建系统,用于创建嵌入式Linux发行版。我们可以使用Yocto Project来构建i.MX6U的根文件系统。 首先,我们需要准备一台运行Linux操作系统开发主机,并安装好Yocto Project的相关工具。接下来,我们需要下载i.MX6U的Yocto Project BSP(Board Support Package)提供的代码。 下载完成后,我们可以开始进行配置。根据Yocto Project的文档,我们需要使用bitbake工具进行配置。bitbake可以根据配置文件生成用于构建根文件系统的Makefile,并自动下载和编译所需的组件。 在配置过程中,我们需要指定构建目标(i.MX6U)以及需要的软件包。Yocto Project提供了一些预定义的配置模板,我们可以根据需要选择适合我们的配置模板,或者自定义配置。 配置完成后,我们可以运行bitbake进行构建。bitbake会根据配置文件,自动下载和编译所需的软件包,并生成根文件系统的镜像文件。 构建完成后,我们需要将生成的根文件系统的镜像文件烧录到i.MX6U的存储设备中,然后启动i.MX6U开发板。根文件系统启动后,我们可以登录到i.MX6ULinux系统,并开始进行应用程序和驱动程序的开发。 总结来说,构建i.MX6U的根文件系统需要使用Yocto Project的工具和BSP提供的代码,通过配置和编译生成根文件系统的镜像文件。然后将镜像文件烧录到i.MX6U的存储设备中,从而实现开发板的启动和应用程序的开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值