第二章 给IMX6ULL编译Liteos-a 请先下载以下文件,里面含有补丁文件: https://gitee.com/weidongshan/openharmony_for_imx6ull/repository 上图中的“apps”中含有几个实例应用程序,“patch”中含有为IMX6ULL制作的补丁文件,“tools”中是烧写工具。 imx6ull_clang.config .config // 配置 make clean // 先清除一下,否则会提示错误 make -j 8 // 编译内核,可以得到out/imx6ull /liteos.bin make rootfs // 编译根文件系统,可以得到rootfs.img cp out/imx6ull/rootfs.img out/imx6ull/rootfs.jffs2
1 环境 正点原子imx6ull开发板 kernel4.14.13 2 移植目标 开发板能够正常启动,并且网络功能正常,能使用nfs、tftp等方式,便于调试。 测试 启动可以看到相关网络信息的打印,并且已经进入到根文件系统nfsroot,至此,kernel4.14.13算是成功移植到imx6ull上了,最重要的网络功能已经能正常使用。
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 上机实验_基于IMX6ULL 参考资料,GIT仓库里: 芯片资料 IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD 设备树: arch/arm/boot/dts/imx6ull.dtsi arch/arm/boot/dts/100ask_imx6ull-14x14.dts 本节视频测试通过的代码 IMX6ULL
clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 编程_配置时钟_基于IMX6ULL 参考资料,GIT仓库里: 芯片资料 IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD 设备树: arch/arm/boot/dts/imx6ull.dtsi arch/arm/boot/dts/100ask_imx6ull-14x14.dts 本节视频编写好的代码 IMX6ULL
/e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 Pincontroller构造过程情景分析_基于IMX6ULL
第一章 在IMX6ULL上体验鸿蒙系统 请先下载以下文件,里面含有烧写软件: https://gitee.com/weidongshan/openharmony_for_imx6ull/repository 1.1.2 MINI EMMC版 百问网 IMX6ULL EMMC版支持USB、EMMC、SD/TF卡三种启动方式。使用后2种启动方式之前,需要先在EMMC或SD/TF卡上烧写系统。 1.2.3 安装IMX6ULL的USB驱动程序 通过USB下载或是烧写程序时,需要把开发板的OTG口用USB线连接到电脑。 IMX6ULL开发板会通过这一个OTG口,模拟出2个USB设备(先后模拟,不是同时):“Freescale SE Blank 6ULL”、“USB download gadget”。
问题4:IMX6ULL ETH是如何被初始化的? 相关文章 1.《【uboot】imx6ull uboot 2020.04源码下载和编译环境配置》 2. 前言 本篇文章主要是介绍,基于IMX6ULL平台uboot来移植LAN8720A网卡驱动,代码是基于《【uboot】imx6ull uboot 2020.04源码下载和编译环境配置》这篇文章下载后的修改 IMX6ULL Ethernet LAN8720A硬件连接 IMX6ULL 平台支持2个以太网口,在uboot中我们基本上使用一个uboot就足够,所以后面主要是介绍imx6ull Ethernet2如何支持 下面是IMX6ULL 连接LAN8720A的原理图: 3. 支持LAN8720A修改步骤 基于IMX6ULL平台uboot中,修改支持LAN8720A网卡。 4. IMX6ULL中内部分频给MAC模块,并且输出到ENET2_TX_CLK给外部的PHY LAN8720A 使用。 问题4:IMX6ULL ETH是如何被初始化的?
接下来的一段时间,会基于野火IMX6ULL开发板写一系列教程,主要侧重于驱动和内核的调试技巧。这方面的文章,我也是第一次写,过程中可能会踩不少坑,可能更新时间间隔会很。 本次使用的是野火的IMX6ULL的NAND版本,具有512MB的NAND-FLASH,主频为800MHZ。开发板的底板资源接口如下图所示。野火提供了丰富的资料,对照教程我们可以轻松的让开发板跑起来。
clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 编程_配置引脚_基于IMX6ULL 参考资料,GIT仓库里: 芯片资料 IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD 设备树: arch/arm/boot/dts/imx6ull.dtsi arch/arm/boot/dts/100ask_imx6ull-14x14.dts 本节视频编写好的代码 IMX6ULL
clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 使用GPIO操作I2C设备_IMX6ULL drivers\i2c\busses\i2c-gpio.c 扩展板原理图:imx6ull_extend_v10.pdf 本节对应的代码: doc_and_source_for_drivers\IMX6ULL 硬件连接 IMX6ULL:把I2C模块接到GPIO 2. 配置内核 在IMX6ULL内核源码目录下执行make menuconfig命令,如下配置内核: Device Drivers ---> I2C support ---> I2C
Load address: 0x80800000 Loading: # 0 Bytes/s done 通过网络启动内核 在imx6ull中直接执行run netboot: 可以看到并未成功
clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 编程_配置LCD控制器_基于IMX6ULL 参考资料,GIT仓库里: 芯片资料 IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD 设备树: arch/arm/boot/dts/imx6ull.dtsi arch/arm/boot/dts/100ask_imx6ull-14x14.dts 本节视频编写好的代码 IMX6ULL
hi3518ev300与imx6ull同属cortex A7架构,所以imx6ull可以使用这些库。以后完善imx6ull的代码后,就不需要这样取巧了。 /show_line /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin cp digital_photo_frame/digitpic /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin # 拷贝字体文件 cp freetype/simsun.ttc /home /book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/ # 拷贝数码相框的图标 cp digital_photo_frame/rootfs /home /libs/usr/libfreetype.so /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/usr/lib/ cp /home/
硬件_IMX6ULL的LCD控制器 参考资料,GIT仓库里: IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 1. LCD控制器模块介绍 1.1 硬件框图 IMX6ULL的LCD控制器名称为eLCDIF(Enhanced LCD Interface,增强型LCD接口),主要特性如下: 支持MPU模式:有些显示屏自带显存 上图是IMX6ULL的LCD控制器框图。 我们在内存中划出一块内存,称之为显存,软件把数据写入显存。 更详细的内容可以查看IMX6ull芯片手册《Chapter 34 Enhanced LCD Interface (eLCDIF)》。
https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 分析内核自带的LCD驱动程序_基于IMX6ULL 参考资料,GIT仓库里: IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf 《Chapter 34 Enhanced LCD Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD驱动程序 驱动源码 编写硬件相关的代码 我们只需要针对IMX6ULL的编写硬件相关的代码,涉及3部分: GPIO设置 LCD引脚 背光引脚 时钟设置 确定LCD控制器的时钟 根据LCD的DCLK计算相关时钟 在设备树中设置pinctrl 本课程专注于LCD,所以使用pinctrl简化程序 设备树arch/arm/boot/dts/100ask_imx6ull-14x14.dts中: 2.2 时钟设置 IMX6ULL
补丁文件openharmony_100ask_v1.2.patch既支持IMX6ULL,也支持STM32MP157,只需要打一次补丁。 它位于如下目录,这两个目录里的文件是一样的: doc_and_source_for_openharmony\IMX6ULL\source\01_文档配套的源码\patch\openharmony_100ask_v1.2 imx6ull_clang.config .config // 配置 make clean // 先清除一下,否则会提示错误 make -j 8 // 编译内核,可以得到out/imx6ull /liteos.bin make rootfs // 编译根文件系统,可以得到rootfs.img cp out/imx6ull/rootfs.img out/imx6ull/rootfs.jffs2
使用git clone命令下载后,输入ls -al能查看到有个.repo目录,这是隐藏文件,进入该目录下有个manifests文件夹,再进入,创建一个xxx.xml文件。
hi3518ev300与imx6ull同属cortex A7架构,所以imx6ull可以使用这些库。以后完善imx6ull的代码后,就不需要这样取巧了。 /show_line /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin cp digital_photo_frame/digitpic /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin # 拷贝字体文件 cp freetype/simsun.ttc /home /book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/ # 拷贝数码相框的图标 cp digital_photo_frame/rootfs /home /libs/usr/libfreetype.so /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/usr/lib/ cp /home/
今天,百问网发布鸿蒙IMX6ULL烧写工具以及鸿蒙体验手册,欢迎下载体验。 imx6ull pro 和imx6ull mini都支持,后面也会支持STM32MP157。 目前对于imx6ull,已经支持这些外设: 串口、MMU、中断、基于RAM的Flash模拟,I2C控制器、电容屏、LCD。 后面将会啃这2个难题:EMMC,网卡。 百问网IMX6ULL开发板,既支持鸿蒙OS liteos-a系统,也支持Linux。 imx6ull mini有JTAG接口,而imx6ull pro没有JTAG口。 学习鸿蒙时,如果想用JTAG调试,那么推荐使用imx6ull mini开发板。 imx6ull mini,仅售299,最小成本体验当前最火的鸿蒙OS。
不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要。若不了解清楚启动方式,后面的所有开发工作便无从谈起。 本文摘自100ask_imx6ull 开发板 配套学习手册-《嵌入式Linux应用开发完全手册_韦东山全系列视频文档全集V2.5》.pdf 1.1 IMX6ULL 启动方式 参考资料: 开发板资料网盘 这可以查看IMX6ULL芯片手册《Chapter 8: System Boot》里的《GPIO boot overrides》,我们把它摘出来放在1.1.3小节里。 IMX6ULL有两个SD卡、TF卡接口,使用哪一个接口?请看下表: a. 设置eFUSE的BOOT_CFG2[4:3]可以确定使用eSDHC1或eSDHC2, 或 b. 1.1.3 GPIO boot overrides IMX6ULL中既可以通过eFUSE也可以通过GPIO来选择、设置启动设备,在手册里大部分场合只列出了eFUSE,对应的GPIO需要查表:IMX6ULL