Linux学习笔记---移植官方uboot步骤(二)
在上一篇 Linux学习笔记---移植官方uboot步骤(一) 自己的uboot已经编译成功了,接下来继续移植LCD驱动和网络驱动。
修改LCD驱动
修改配置参数
打开my_uboot/board/freescale/mx6ull_myuboot_emmc/mx6ull_myuboot_emmc.c 文件,
找到如下内容
修改为:
修改头文件
打开my_uboot/include/configs/mx6ull_myuboot_emmc.h 头文件
找到 panel=TFT43AB将其改为:panel=TFT7016
下来重新编译一次,将u-boot.bin烧写到SD卡中。重启开发板
在串口终端中使用printf打印环境变量
修改环境变量
这里的环境变量不是TFT7016,所以要将环境变量修改为TFT7016.
重启开发板
查看环境变量
环境变量正常,说明LCD屏已经可以正常使用了。如果LCD不能正常显示,就检查是不是LCD的哪个参数设置错误了。
修改网络驱动
修改网络驱动主要需要改以下3点:
①、ENETx 复位引脚初始化。
②、LAN8720A 的器件 ID。
③、LAN8720 驱动
修改网卡地址
打开 my_uboot/include/configs/mx6ull_myuboot_emmc.h 头文件
找到如下代码
正点原子的 I.MX6U-ALPHA 开发板 ENET1 的 PHY 地址为0X0,ENET2 的 PHY 地址为0X1,所以需要将宏 CONFIG_FEC_MXC_PHYADDR改为 0x0。
修改网卡厂家宏定义
第338行定了一个宏 CONFIG_PHY_MICREL,此宏用于使能 uboot 中 Micrel 公司的 PHY驱动,KSZ8081 这颗 PHY 芯片就是 Micrel 公司生产的,不过 Micrel 已经被 Microchip 收购了。如果要使用 LAN8720A,那么就得将 CONFIG_PHY_MICREL 改为 CONFIG_PHY_SMSC,也就是使能 uboot 中的 SMSC 公司中的 PHY 驱动,因为 LAN8720A 就是 SMSC 公司生产的。
屏蔽无用的IO口代码
接下来打开my_uboot/board/freescale/mx6ull_myuboot_emmc/mx6ull_myuboot_emmc.c 文件,找到相关管脚的定义。
将这些管脚定义屏蔽掉,添加下面管脚定义
#define ENET1_RESET IMX_GPIO_NR(5, 7)
#define ENET2_RESET IMX_GPIO_NR(5, 8)
将下面紧挨着的这个端口初始化函数也屏蔽掉。
接下来继续找到iox74lv_init函数和 iox74lv_set函数,这两个函数是设置74LV595芯片的,这里用不到,全部屏蔽。
屏蔽154行到233行之间的代码
屏蔽无用的初始化代码
继续找到board_init 函数
屏蔽 掉初始化中的用 imx_iomux_v3_setup_multiple_pads 和 iox74lv_init 这两个函数。
添加复位引脚宏定义
然后找到 fec1_pads 和 fec2_pads 这两个数组
在这两个数组里面添加ENET1 和 ENET2 这两个网口的 IO 配置参数
添加初始化代码
修改紧跟着的函数
添加复位网络的代码
接下来打开my_uboot/drivers/net/phy/phy.c 文件,找到函数 genphy_update_link。
在函数开始位置添加如下代码:
#ifdef CONFIG_PHY_SMSCstatic int lan8720_flag = 0;int bmcr_reg = 0;if(lan8720_flag == 0){bmcr_reg = phy_read(phydev, MDIO_DEVAD_NONE,MII_BMCR);phy_write(phydev,MDIO_DEVAD_NONE,MII_BMCR,BMCR_RESET);while(phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR)&0x8000){udelay(100);}phy_write(phydev, MDIO_DEVAD_NONE,MII_BMCR,bmcr_reg);lan8720_flag = 1;}
#endif
到这里网络驱动就修改完了,重新编译uboot,并向SD卡烧写。
重启开发板
在串口终端上可以看到,网络已经正常了。
设置网络相关环境变量
接下来设置网络相关的环境变量。
192.168.1.50是开发板的IP地址,192.168.1.66是Ubuntu的IP地址。
重启开发板,然后打印环境变量
这里的服务器地址就是Ubuntu操作系统的IP地址,用网线将开发板和笔记本连接起来。
在开发板上使用ping命令测试开发板与Ubuntu系统的网络是否连通。
网络测试是通的,说明开发板的网络设置已经成功了。
在开发板启动时打印的板子名称还是NXP官方的,还需要将开发板名称改为自己的。
打开my_uboot/board/freescale/mx6ull_myuboot_emmc/mx6ull_myuboot_emmc.c文件
找到checkboard()函数
将里面的字符串修改为自己的内容
保存代码,重新编译下载。
可以看到板子的名称也改成自己的了。
上一篇:Linux学习笔记---移植官方uboot步骤(一)
Linux学习笔记---移植官方uboot步骤(二)相关推荐
- Linux学习笔记---移植官方uboot步骤(一)
目录 编写shell脚本 修改MakeFile文件 重命名shell脚本 添加默认配置文件 修改默认配置文件 准备需要的板级文件夹 重命名.C文件 修改Makefile 修改imximage.cfg配 ...
- Linux学习笔记---移植官方linux步骤(二)
目录 修改网络驱动 修改 LAN8720 的复位 以及网络时钟 引脚驱动 修改fec1和fec2节点pinctrl-0属性 修改LAN8720A的PHY地址 修改 fec_main.c 文件 配置 L ...
- Linux学习笔记---移植官方linux步骤(一)
使用的开发板是正点原子IMX6U-MINI EMMC512M的开发板,这个板子也是移植的NXP官方linux,所以这里就直接从NXP官方的linux移植. 这里所说的移植,其实不是自己编写驱动文件等 ...
- Linux学习笔记---初次编译Uboot系统
在初次编译Uboot系统时,是按照正点原子开发指南操作的,但是开发指南上讲得不是很详细,又看了一遍视频教程才搞清楚完整步骤,为了方便学习,就将详细步骤记录下来,以便以后参考. Uboot初次编译 1. ...
- Linux学习笔记---使用tftp命令下载文件
向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...
- Linux学习笔记(二)——文件与磁盘系统
Linux学习笔记(二)--文件与磁盘系统 文件操作 ls [选项][目录名]-l :列出长数据串,包含文件的属性与权限数据等-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)- ...
- Linux学习笔记(二)|常用命令
Linux学习笔记(二)常用命令 1.文件处理命令 1.1命令格式与目录处理 -ls 功能描述:显示目录文件 原意:list 所在路径:/bin/ls 语法: ls-a 显示所有文件,包括隐藏文件 l ...
- Linux学习笔记---使用BusyBox创建根文件系统(二)
目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...
- Linux学习笔记(二) -- Linux学习笔记(二) – 解决VMware主窗口中的虚拟机窗口太小的方法
1.问题描述 在虚拟机中安装完ubuntu操作系统后,我们会发现ubuntu界面在主窗口中占比很小,如下图所示: 这给操作带来了极大的不便. 2.解决步骤 1.在VMware中启动ubuntu系统: ...
最新文章
- opencv图像处理梯度边缘和角点
- LeetCode-剑指 Offer 14- I. 剪绳子
- [模版] 网络流最大流、费用流
- 协程在Socket上的应用
- HDU 4616 Game 树形DP
- Python数据结构和算法
- vivado安装_Vivado下载与安装指南
- java笔记_2020年java程序员、java工程师必备资料(内含java学习思维图、视频教程、源码笔记等)...
- 【HDU-5246】超级赛亚ACMer(贪心)
- linux虚拟磁带机管理,linux虚拟磁带机
- 学而思pythonlevel3_【学而思网校语言学习】学而思网校【2019-寒】AE英语直播班 Level 3上【报价 价格 评测 怎么样】 -什么值得买...
- Python-Pillow给图片加文字
- Java底层小开发的面试经历
- 外汇会计-概念-即期汇率
- windows任务栏透明_如何使Windows 10任务栏完全透明
- Linux制作python的AWS-KCL的基础镜像,Dockerfile文件
- 移动硬盘弹出时总是显示被占用,解决方案
- iOS 8人机界面指南(一):UI设计基础
- Kubernetes安装
- 索尼 Sensor 基本概念,及曝光相关的计算