迅为iTOP-STM32MP157开发板编译Linux内核
发布时间:2022-3-10 10:27
发布者:就是塔塔
1 内核源码的编译 kernel 的源码路径为“iTOP-STM32MP157 开发板光盘资料\04_TF-A、uboot 和内核源码\kernel”,如下图所示(日期可能会有变化,使用最新日期即可): ![]() kernel 源码的编译器和编译 uboot 与 TF-A 的编译器相同,都为 gcc-arm-10.3-2021.07-x86_64-arm-nonelinux-gnueabihf。 将“ ”源码拷贝源码到“/home/topeet”目录下,使用如下命令 tar -vxf linux-5.4.31_20210817.tar.gz 解压源码压缩包,得到“linux-5.4.31”文件夹,使用如下命令 cd linux-5.4.31/ 进入该文件夹,如下图所示。 ![]() 使用命令”./create.sh”来进行编译,编译过程如下图示所示: ![]() 编译完成如下图所示: ![]() 如下图所示,在“output”目录下,编译生成了“uImage”kernel 镜像。 ![]() 如下图所示,在“output/dts/”目录下生成设备树文件“****.dtb”。 ![]() 如上图所示,这七个设备树文件是我们所需要的,分别对应七个不同的屏幕。编译完成以后,我们需要制作对应的镜像,这样才能使用 STM32CubeProgrammer 工具烧写进开发板。 而我们通过烧写软件烧写的镜像为 bootfs.ext4,存放路径为“output”目录下,如下图所示 ![]() bootfs.ext4 镜像之中存放的就是我们 uImage 和 dtb 设备树文件,大家可以自行挂载来进行查看。 至此我们的内核设备树镜就制作完成了,然后只需要将我们制作的 bootfs.ext4 替代 image 烧写目录下的 bootfs.ext4 文件然后进行烧写即可。 2 驱动模块的使用 由于一些驱动的依赖特性,一些驱动并不能直接编译进内核,或者编译进内核之后并不能挂载成功。所以就需要我们进行手动挂载,以下为不能是在内核中不能成功挂载的模块: ![]() 我们都存放在了“output/ko”路径下,每个模块的原始路径如下图所示: ![]() 迅为iTOP-STM32MP157开发板: ![]() 核心板参数 尺寸: 46mm*58mm CPU: STM32MP157A 主频: 650M 内存:: 1G 存储 8G 工作电压: 直流5V供电 系统支持: 流畅运行最小Linux系统、Buildroot、QT5.12.10、ubuntu_base_20.04、Debian系统 引角扩展: 引出脚多达240个,满足用户各类扩展需求 底板参数 尺寸: 190mm*125mm POWER: 电直流电源输入接口,12V/3A+电源输入 SWITCH: 电源开关 DIP: SWITCH 4位拨码开关 ADC电位器: 1路 SDIO接口: 1个 JTAG: 1个 CAMERA接口: 1个 CAN接口: 1路CAN User Key: 5个功能按键 MIC: 支持MIC输入 PHONE: 支持耳机输出 串口: 3路 USB Host: 2路 USB Host,支持USB2.0协议 TF Card: 1个标准TF卡接口 网口: 1路千兆以太网口 LED: 3个(1个电源指示灯,2个可控LED) HDMI接口: 1路 LCD接口: 1路LVDS9(HDMI口输出LVDS信号),1路RGB USB OTG: 2路 USB OTG2.0 RTC: 1个 RS485接口: 1路 WIFI/蓝牙芯片: 1路 4G模组选配: 1个 六轴传感器: 1个 蜂鸣器: 1个 红外传感器: 1个 光环境传感器: 1个 温湿度传感器: 1个 SPDIF接口: SPDIF输入、SPDIF输出 |
网友评论