在上一节中我们将nxp官网的uboot移植到了我们的开发板中,但是发现我们的网络驱动和LCD屏驱动有问题,因为正点原子的开发板和nxp官网的有一些差别的,我们需要修改才能够运行起来。
1.首先我们这节我们需要安装MobaXterm软件,这个方便我们直接改写在ubuntu中的代码。
2.先进入uboot中的configs文件中 复制 mx6ull_14x14_evk_emmc_defconfig,并将其命名为你想要的板子的名字。使用以下命令复制一个新的文件
cp mx6ull_14x14_evk_emmc_defconfig mx6ull_lei_defconfig(可以自己取个名字)
3.然后进入修改的文件中修改内容,如下第一行和第四行
![](https://img-blog.csdnimg.cn/direct/81cae36b0b824996bde82c4de6401778.png)
4.进入目录的include/configs中找到
mx6ullevk.h使用以下命名复制一个新的头文件
cp include/configs/mx6ullevk.h include/configs/mx6ull_lei.h
5.进入刚才复制的文件
mx6ull_lei.h中修改以下内容
![](https://img-blog.csdnimg.cn/direct/7aaf34f5d8de47d89cc43066109003ce.png)
6.然后进入目录的board/freescale/中,找到mx6ullevk文件,复制一份新的文件,其命令如下
cp mx6ullevk/ -r mx6ull_lei
然后进入复制的文件中,将其中的mx6ullevk.c文件改为mx6ull_lei.c
之后修改mx6ull_lei文件中的Makeflie文件,修改如下
![](https://img-blog.csdnimg.cn/direct/85dfdd0fbc1a4cbd971f1f9e2f59c0a8.png)
然后还是在该目录下的
imximage.cfg
中,修改如下
![](https://img-blog.csdnimg.cn/direct/9494f69fc01a45159831be6c0e286043.png)
然后是目录下的Kconfig文件,修改如下
![](https://img-blog.csdnimg.cn/direct/aa22f04595ba4762b27bedc84a82373c.png)
然后是
MAINTAINERS
文件,修改如下
![](https://img-blog.csdnimg.cn/direct/0139502d40d44e7eb12ce5d2c9a033a2.png)
然后返回到uboot主目录下,进入
arch/arm/cpu/armv7/mx6下的Kconfog文件,添加内容如下
![](https://img-blog.csdnimg.cn/direct/7f137d482ead4d95b12e2ea64581d509.png)
截止目前板子已经添加到了uboot中,然后就是编译差编译了,但是我们的LCD驱动和网络驱动还没好,还要修改LCD驱动和网络驱动才行。
7.进入mx6ull_lei.c中,找到以下内容,这就是LCD驱动的参数,根据自己的LCD的参数修改,然后进入mx6ull_lei.h中根据自己LCD的参数修改panel参数。
![](https://img-blog.csdnimg.cn/direct/25f309ecd77c46d49b3ec00b194e1c13.png)
8.然后就是修改网络驱动的,进入mx6ull_lei.h中,修改以下内容,将0x2修改为0x0
![](https://img-blog.csdnimg.cn/direct/e29a0154f93045d892355039b62f23ae.png)
进入mx6ull_lei.c中修改以下内容,
![](https://img-blog.csdnimg.cn/direct/4730167d59444c4087d060241992b204.png)
继续在其中找到
static
iomux_v3_cfg_t
const
iox_pads
[],
static void
iox74lv_init
(
void
),
void
iox74lv_set
(
int
index
),将这三个函数的全部内容删除,找到
int
board_init
(
void
) 函数,将里面的
imx_iomux_v3_setup_multiple_pads
(
iox_pads
,
ARRAY_SIZE
(
iox_pads
));
iox74lv_init
();
删除
然后找到以下函数修改成如下内容
![](https://img-blog.csdnimg.cn/direct/a889011ec1ff4b3caea65eee1247129f.png)
然后就是在下方的函数修改为如下内容
![](https://img-blog.csdnimg.cn/direct/4ae4843bdb924a49868ea5d76af761f4.png)
8.然后返回uboot主目录,进入
drivers/net/phy/目录下,进入phy.c文件中,修改内容如下
![](https://img-blog.csdnimg.cn/direct/64a2bff8d39d452d821e74d5183f9e51.png)
至此已经将LCD驱动和网络驱动修改完成了,重新编译之后烧录到开发板上就能发现LCD驱动和网络驱动正常运行了。