首页 > 系统相关 >[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板

[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板

时间:2022-10-31 22:31:59浏览次数:43  
标签:mybsp emmc linux 开发板 MX6UL Linux imx imx6ull arm


添加开发板默认配置文件

将 arch/arm/configs 目 录 下 的 imx_v7_mfg_defconfig 重 新 复 制 一 份 , 命 名 为imx_mybsp_emmc_defconfig,命令如下:

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
cd arch/arm/configs
cp imx_v7_mfg_defconfig imx_mybsp_emmc_defconfig

make imx_mybsp_emmc_defconfig

添加开发板对应的设备树文件

添加适合正点原子 EMMC 版开发板的设备树文件,进入目录 arch/arm/boot/dts 中,复制一份 imx6ull-14x14-evk.dts,然后将其重命名为 imx6ull-mybsp-emmc.dts,命令如下:

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
cd arch/arm/boot/dts
cp imx6ull-14x14-evk.dts imx6ull-mybsp-emmc.dts

修 改 文 件arch/arm/boot/dts/Makefile。

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
gedit arch/arm/boot/dts/Makefile

关键字:dtb-$(CONFIG_SOC_IMX6ULL)
添加如下内容:

imx6ull-mybsp-emmc.dtb \

[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板_开发板

编译测试

创建shell脚本:gedit imx6ull_mybsp_emmc.sh
内容如下:

#!/bin/sh 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_mybsp_emmc_defconfig
#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

运行脚本:

chmod 777 imx6ull_mybsp_emmc.sh
//给予可执行权限
./imx6ull_mybsp_emmc.sh
//执行 shell 脚本编译内核

下载烧录:

编译完成以后就会在目录 arch/arm/boot 下生成 zImage 镜像文件。在 arch/arm/boot/dts 目录下生成 imx6ull-alientek-emmc.dtb 文件。

设置uboot环境变量

setenv bootargs ‘console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw’
saveenv

将zImage烧录到开发板中(参考 4、tftp 命令

cp arch/arm/boot/zImage …/…/tftpboot/ -f
cp arch/arm/boot/dts/imx6ull-mybsp-emmc.dtb …/…/tftpboot/ -f

将这两个文件拷贝到 tftp 目录下,然后重启开发板,在uboot 命令模式中使用 tftp 命令下载这两个文件并启动,命令如下:

tftp 80800000 zImage
tftp 83000000 imx6ull-mybsp-emmc.dtb
bootz 80800000 - 83000000

[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板_内核_02


标签:mybsp,emmc,linux,开发板,MX6UL,Linux,imx,imx6ull,arm
From: https://blog.51cto.com/xuejianqiang/5811335

相关文章

  • [I.MX6UL]官方 SDK 移植实验
    我们参考ST官方给STM32编写的stm32f10x.h来自行编写I.MX6U的寄存器定义文件。自己编写这些寄存器定义不仅费时费力,没有任何意义,而且很容易写错,幸好NXP官方为I.MX6U......
  • [I.MX6UL] U-Boot 命令使用(五) EMMC 和 SD 卡操作命令
    uboot支持EMMC和SD卡,因此也要提供EMMC和SD卡的操作命令。一般认为EMMC和SD卡是同一个东西,所以没有特殊说明,本教程统一使用MMC来代指EMMC和SD卡。uboot......
  • [I.MX6UL] U-Boot 命令使用(四) 网络操作命令
    uboot支持大量的网络相关命令,比如dhcp、ping、nfs和tftpboot。在使用uboot的网络功能之前先用网线将开发板的ENET2接口和电脑或者路由器连接起来,I.MX6U-ALPHA开发......
  • linux下使用nvm
    安装curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh|bash配置环境vim~/.bashrc在~/.bashrc的末尾,添加如下语句:exportNVM_DI......
  • Linux下使用nm命令排查和解决“undefined reference to ”
    一、案例    编译出一个动态库.libXXXEngine.so。然后直接在另一个工程中,把头文件include进来,并link到该库:-lXXXEngine.尝试编译,出错:.//libXXXEngine.so:undefin......
  • Linux下的C语言编写
    终端下输入:创建目录:mkdirC_Program进入目录:cdC_Program创建目录:mkdirhello_world进入目录:cdhello_world使用gedit:gedit输入以下代码并保存:#include<stdio.h>int......
  • Linux C语言 Makefile 的使用 函数
    创建三个.c文件终端输入:创建目录:mkdirMakefile进入目录:cdMakefile使用gedit:gedit第一个文件:main.c#include<stdio.h>#include"input.h"#include"calcu.h"intm......
  • [I.MX6UL] 用STM32的方式来写I.MX6UL程序
    /**************************************************************Copyright©zuozhongkaiCo.,Ltd.1998-2019.Allrightsreserved.文件名:mian.c作者:左......
  • Linux I/O模型
    I/O:指的是计算机的input和outputLinux的I/O磁盘I/O网络I/O:一切皆文件,本质为对socket文件的读写磁盘I/O进程向内核发起系统调用,请求磁盘上的某个资源......
  • [单片机框架][driver层][ioctl] MCU模拟Linux注册驱动
    概念ioctl是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设ioctl()命......