nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)

目录

  • 1. 适配LCD屏
    • 1.1 修改mx6ull_fire_emmc.c
    • 1.2 修改mx6ull_alientek_emmc.h
    • 1.3 测试
  • 2. 适配网络部分


1. 适配LCD屏

1.1 修改mx6ull_fire_emmc.c

路径: uboot根目录/board/freescale/mx6ull_fire_emmc/mx6ull_fire_emmc.c
修改前
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第1张图片
修改后:(我这里是根据5寸屏幕来改的)
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第2张图片
修改uboot里面的变量panel为上面的name “TFT4384”
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第3张图片

1.2 修改mx6ull_alientek_emmc.h

路径: uboot根目录/include/configs/mx6ull_fire_emmc.c
将panel=TFT43AB改为panel=TFT4384, 这个名字并没有什么特殊意义,你可以任意设置,但必须保证这三个步骤的名字必须一致。
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第4张图片

nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第5张图片

1.3 测试

重新编译后拷贝到SD卡,重启开发板:
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第6张图片
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第7张图片

2. 适配网络部分

因为野火开发板所使用的PHY芯片是和官网开发板一样的,且引脚连接相同,所以我们不需要修改驱动,直接使用官网的就好了。
给uboot设置网络相关的环境变量,要保证开发板和虚拟机在同一网段。
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)_第8张图片
上面配置好后重启开发板,使用ping命令发现会出现宕机重启的现象,解决方案如下:
1. 使用低版本编译器arm-linux-gnueabihf-gcc 4.9.4编译器。(没尝试过)
2. 关闭内存地址对齐错误的检查功能(仅armv7以上内核支持)。修改start.S文件 ,在arch/arm/cpu/armv7/start.S文件中找到以下代码:

/*
 * disable MMU stuff and caches
 */
mrc	p15, 0, r0, c1, c0, 0
bic	r0, r0, #0x00002000	@ clear bits 13 (--V-)
bic	r0, r0, #0x00000007	@ clear bits 2:0 (-CAM)
orr	r0, r0, #0x00000002	@ set bit 1 (--A-) Align
orr	r0, r0, #0x00000800	@ set bit 11 (Z---) BTB

修改为:

/*
 * disable MMU stuff and caches
 */
mrc	p15, 0, r0, c1, c0, 0
bic	r0, r0, #0x00002000	@ clear bits 13 (--V-)
bic	r0, r0, #0x00000007	@ clear bits 2:0 (-CAM)
orr	r0, r0, #0x00000000	@ set bit 1 (--A-) Align
orr	r0, r0, #0x00000800	@ set bit 11 (Z---) BTB

修改好后重新编译,烧录SD卡启动,就没有该问题了
在这里插入图片描述

你可能感兴趣的:(嵌入式Linux学习记录,linux,嵌入式linux)