• 正点原子mp157移植Linux源码过程记录


    仅仅作为笔记,记录

    如何使用Linux源码在stm157上运行
     
    步骤一
    步骤二
    步骤三
    步骤四
    ①:链接出适合stm32的内核源码
    首先解压,然后在加压目录下面会有这个文件linux-5.4.31.tar.xz目录,他就是Linux系统官方源码
     
    进入解压目录内,然后
     
    cd linux-5.4.31/
     
    //进入 Linux 源码目录
    for p in `ls -1 ../*.patch`; do patch -p1 < $p; done //打补丁
    cd linux-5.4.31/
     
    然后进行默认配置,这一步,少不了。他是将刚编译出的配置文件写入config里里面
    //进入到 linux 内核
    make ARCH=arm multi_v7_defconfig "fragment*.config" //生成默认配置文件
    ①:  for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done
     
    ②:   yes '' | make ARCH=arm oldconfig
    ②:编写脚本,进行编译
    #!/bin/sh
    make distclean
    make stm32mp1_atk_defconfig
    make menuconfig
    make uImage dtbs LOADADDR=0XC2000040 -j16
    生成的uImage 路径     arch/arm/boot
     
    生成的stm32mp157d-ed1.dtb路径 /linux-5.4.31/arch/arm/boot/dts
    (记得修改名字为 stm32mp157d-atk.dtb   主要是tftp 加载命令我没有更改  偷懒了)
     
     
    ③:修改网络驱动
    将 motorcomm.c 和 motorcomm_phy.h 分别拷贝到 Linux 源码下的 drivers/net/phy
    include/linux 目录下
    拷贝完成以后修改 drivers/net/phy/Makefile 文件,加上下面这句:
    obj-$(CONFIG_MOTORCOMM_PHY) += motorcomm.o
    外还需要修改 drivers/net/phy/Kconfig 文件,加入如下内容:
     
    494 config MOTORCOMM_PHY
    495         tristate "Motorcomm PHYs"
    496         ---help---
    497                 Supports the YT8010, YT8510, YT8511, YT8512 PHYs.
     
    ④:make menuconfig进行配置
    linux-5.4.31$ make menuconfig
     
    -> Device Drivers
    -> Network device support (NETDEVICES [=y])
    -> PHY Device support and infrastructure (PHYLIB [=y])
    -> <*> Motorcomm PHYs //将 YT8511 驱动编译进内核
     
     
     
    ⑤:编译内核
    ./stm32mp157d_atk.sh
     
     
     
  • 相关阅读:
    git创建一个空的版本库
    程序后台服务启动,MongoDB未启动(启动较慢)/(关机重启情况下)。
    启动客户端后台服务
    客户端后台服务(已注册机器)RabbitMQ未消费的情况
    MongoDB数据重复解决方案
    github中新建一个branch(分支)
    MES-后台服务卸载
    linux 第八章 高级键盘
    socketserver
    jmeter发送邮件的模板
  • 原文地址:https://www.cnblogs.com/Jlord/p/16365847.html
Copyright © 2020-2023  润新知