1. 适配LCD屏
1.1 修改mx6ull_fire_emmc.c
路径: uboot根目录/board/freescale/mx6ull_fire_emmc/mx6ull_fire_emmc.c
修改前
修改后:(我这里是根据5寸屏幕来改的)
修改uboot里面的变量panel为上面的name “TFT4384”
1.2 修改mx6ull_alientek_emmc.h
路径: uboot根目录/include/configs/mx6ull_fire_emmc.c
将panel=TFT43AB改为panel=TFT4384, 这个名字并没有什么特殊意义,你可以任意设置,但必须保证这三个步骤的名字必须一致。
1.3 测试
重新编译后拷贝到SD卡,重启开发板:
2. 适配网络部分
因为野火开发板所使用的PHY芯片是和官网开发板一样的,且引脚连接相同,所以我们不需要修改驱动,直接使用官网的就好了。
给uboot设置网络相关的环境变量,要保证开发板和虚拟机在同一网段。
上面配置好后重启开发板,使用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卡启动,就没有该问题了