【北京迅为】《STM32MP157开发板使用手册》- 第十二章 编译Linux内核

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等


第十章 编译Linux内核

12.1 内核源码的编译

kernel 的源码路径为“iTOP-STM32MP157开发板光盘资料\04_TF-A、uboot和内核源码\kernel”,如下图所示(日期可能会有变化,使用最新日期即可):

kernel 源码的编译器和编译uboot与TF-A的编译器相同,都为gcc-arm-10.3-2021.07-x86_64-arm-none-linux-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文件然后进行烧写即可。

12.2 驱动模块的使用

由于一些驱动的依赖特性,一些驱动并不能直接编译进内核,或者编译进内核之后并不能挂载成功。所以就需要我们进行手动挂载,以下为不能是在内核中不能成功挂载的模块:

我们都存放在了“output/ko”路径下,每个模块的原始路径如下图所示:

模块

模块编译成功之后存放的位置

RTL8723BU(蓝牙WIFI)

linux-5.4.31/drivers/net/wireless/rtl8723bu/8723bu.ko

4.3寸屏幕触摸

linux-5.4.31/drivers/input/touchscreen/tsc2007.ko

10.1寸屏幕触摸

linux-5.4.31/drivers/input/touchscreen/ gt911.ko

Ov5640摄像头模块

linux-5.4.31/drivers//media/i2c/ov5640.ko

如果要使用这些外设,需要将对内核源码的output/ko路径下的模块拷贝到文件系统使用insmod命令进行手动加载,我们以RTL8723BU为例,在3.16 蓝牙WIFI测试章节进行了演示,其他模块的操作步骤相同。在我们提供好的镜像中,已经配置完成,不需要在进行上述配置。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值