1.tf-a
两个文件,较为简单,可以直接使用正点原子官方教程,编译得出,可以直接使用官方tf-a。
2.uboot
stm32mp157核心板版本不同,导致有些驱动芯片改动
但是正点原子并未修改uboot,导致给出uboot出现问题,无法进行网络驱动,例如无法ping成功。
所以这一部分需要根据之前教程进行修改得到
3.linux内核 (Kernel)
因为网络驱动芯片修改,所以需要修改对应部分的st官方代码。
但是正点原子给出内核编译得到uImage和stm32设备树可以正常运行,给出的uImage和stm32设备树运行也没有问题。
4.linux根文件系统
正点原子给出busybox和buildroot根文件系统应该都可直接使用(笔者只测试过buildroot。但正点原子并未给出可以编译的busybox和buildroot,只能根据以往教程进行重新配置,再编译得到各自的根文件系统,当然有预设配置文件更好。
参考下列文章可进行build root的编译,但是该文章的buildroot编译busybox根文件系统部分,可以不替换busybox的Make file文件,否则会出现menuconfig无法打开情况,需要distclean之后再重新编译buildroot。
【STM32MP157&Linux系统】编译烧录根文件系统-优快云博客
剩余项便是对根文件系统的完善与优化,这部分可以参考上述文档和正点原子文档和视频教程。
5.网络驱动(VM虚拟机_stm32mp157_笔记本_网线)
这一部分笔者之前画过较多时间配置,后来发现只要uboot文件没有问题,网络驱动很容易配成功。(笔者之前使用的是网线连接笔记本电脑和stm32mp157开发板,网络基本靠手机热点)
网线共享网络方式比较简单,不需要买什么别的东西。
1)网线连接开发板和电脑,此时电脑网络共享
2)在WIFI中设置共享给开发板(图中以太网2)
3)手动设置开发板以太网2的IPV4属性
4)设置VM虚拟机
下图中Intel~~~是笔记本物理驱动,开发板经网线使用了物理驱动选择Intel~~~。
5)手动配置Ubuntu的IPV4连接。
6)开发板设置tftp网络环境
setenv ipaddr 192.168.137.20
setenv ethaddr b8:ae:1d:01:01:00
setenv gatewayip 192.168.137.1
setenv netmask 255.255.255.0
setenv serverip 192.168.137.18
saveenv
需要注意事项:需要将开发板IP和Ubuntu的IP在同一网段。
建议尽量使用官方教程,官方教程需要修改部分少,个人编译容易出现偶然性错误。