Uboot移植--修改lcd和网络驱动

lcd移植https://www.bilibili.com/video/BV12E411h71h?spm_id_from=333.788.videopod.episodes&vd_source=7782ba9eb4236579cf9bb586af83fd28&p=25修改网络驱动https://www.bilibili.com/video/BV12E411h71h?spm_id_from=333.788.videopod.episodes&vd_source=7782ba9eb4236579cf9bb586af83fd28&p=26

LCD修改:

这里看上一个文章里,我们创建了自己的板子文件,也就是board下的文件夹。外设的一些设置都在这里配置了。我们打开复制修改的board下的文件夹下的c文件,我这里命名为mx6ull_cyx_emmc.c

1.找到这个lcd_pads开始修改。上边是io部分,也就是引脚。我使用的正点原子7寸屏幕。他的引脚与nxp官方的evk开发板的屏幕的引脚是一样的。所以不需要修改。下边这个LCD_RST可以注释,因为正点原子的屏幕没有复位脚。

2.第二步是这里,主要是这个。这里的mode就是lcd参数的信息。我们根据自己的lcd来设置。我是七寸屏幕1024*600。所以,按照如下参数,这里的name是匹配用的,也是显示lcd的名字。可以改为自己喜欢的,比如我这里是cyx_lcd

3.如果你改了上边的name,那么为了让uboot找到这个参数的结构体,我们在头文件里,也就是include/configs/mx6ull_cyx_emmc.h,也就是上一章的拷贝的头文件。进入搜索panel,找到对应的修改。把这个填成和上边的一样的。

接下来就是使用sh脚本重新编译后烧录了。

网络驱动修改:

1.修改include下的板子的头文件里,这个网络的地址,这个是使用的正点原子板子,那么这里需要按照他pcb接线,这里地址分别为0和1,#define CONFIG_FEC_ENET_DEV 这个的值就是选择uboot启用哪一个网口,1就是使用网口二,0就是使用网口一。

2.注释掉一下函数:

进入board/freescale/自己的板子文件夹的c文件

注释掉这几个定义,添加下边的两个宏。这里注释上边是因为正点原子使用的lan网口芯片,所以不使用官方的这个初始化。下边则是为了给后续的引脚开关使用。因为网口需要复位一下,开关一下引脚。

注释下边的这个函数,这个函数的位置就在宏的下边。

注释static void iox74lv_init(void)

void iox74lv_set(int index)

紧接着就是修改board_init函数,注释这两行代码,因为这是官方的网口芯片初始化代码。

接着,搜索fec1_pads函数,在下边新增MX6_PAD_SNVS_TAMPER7__GPIO5_IO07 | MUX_PAD_CTRL(NO_PAD_CTRL),

在fec2_pads下边增加MX6_PAD_SNVS_TAMPER8__GPIO5_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL),

修改static void setup_iomux_fec(int fec_id)

cpp 复制代码
static void setup_iomux_fec(int fec_id)
{
	if (fec_id == 0)
	{
		imx_iomux_v3_setup_multiple_pads(fec1_pads,
			ARRAY_SIZE(fec1_pads));
		gpio_direction_output(ENET1_RESET,1);
		gpio_set_value(ENET1_RESET,0);
		mdelay(20);
		gpio_set_value(ENET1_RESET,1);
	}
	else
	{
		imx_iomux_v3_setup_multiple_pads(fec2_pads,
			ARRAY_SIZE(fec2_pads));
		gpio_direction_output(ENET2_RESET,1);
		gpio_set_value(ENET2_RESET,0);
		mdelay(20);
		gpio_set_value(ENET2_RESET,1);
	}
	mdelay(150);
}

接下来烧录测试:

查看自己的电脑ip地址

测试完成。

相关推荐
chenzhiyuan20187 小时前
钡铼技术ARMxy系列BL440究竟多适合作为具身机器人核心控制器?
linux
天上的光7 小时前
车道线检测
学习
咚咚王者7 小时前
人工智能之核心基础 机器学习 第十三章 自监督学习
人工智能·学习·机器学习
2501_944934738 小时前
高职学历转行电商运营的数据分析学习路径
学习·数据挖掘·数据分析
承渊政道8 小时前
C++学习之旅【C++String类介绍】
c语言·c++·vscode·学习
斯文by累8 小时前
Ubuntu系统上安装Kafka 8.0
linux·ubuntu·kafka
week_泽8 小时前
第10课:从零构建生产级AI Agent服务技术方案 - 学习笔记_10
人工智能·笔记·学习·ai agent
非凡ghost8 小时前
GiliSoft Audio Recorder(音频录制工具)
学习·音视频·软件需求
济6178 小时前
linux(第十五期)--蜂鸣器实验-- Ubuntu20.04
linux·运维·服务器
IT=>小脑虎8 小时前
AI时代下后端的出路在哪?
人工智能·后端·学习