如何去掉STM32MP157C 上linux的LCD 和HDMI 显示,让出更多的控制引脚

46 篇文章 4 订阅

   STM32MP157 的最大特点是它的异构多处理器结构,它集成了两个Cortex-A7和一个Cortex_M4 处理器,其中cortex-M4 可以用来作为实时控制,或者通信处理器来使用。不过,当我使用米尔的STM32MP157 的开发板才发现,事情并不简单,开发板几乎使用和核心板的所有引脚,留给用户扩展的20pin 插座上引脚不多,肯定是不够用的。看了他们的底板电路图后,发现LCD 占了34个引脚。MIPI也占了14个引脚。这是一笔很大的资源。而且如果控制模块往往不需要LCD/HDMI 显示,而HMI 又不需要许多的控制引脚。去掉了LCD/HDMI/MIPI 以后,底板的PCB 设计就变的非常简单了。这对于熟悉STM32F 的工程师来讲是一件开心的事情。

  想法有了,从何开始呢?国内开发板供应商几乎是将ST 的开发板原封不动地搬过来的。文档有的也是ST 的。在线咨询,公众号提问几乎是石沉大海。没有任何消息。

  好在米尔科技的技术资料还比较齐全。自己看吧!

修改设备树文件(dts)

  在米尔科技的光盘资料中(网上下载的下载地址。百度网盘“说你来晚了”)有一篇《MYD-YA157C+wiki+20200303.pdf》文档中75页提到了修改Linux 内核设备树的方法。我决定按照他的方法:

修改设备树文件

 为了保险期间,我首先将目标板上boot 目录中的内容使用scp 备份到PC机上,以防万一冲掉好的文件。

然后在内核源代码的 arch/arm/boot/dts目录下,修改了下面几个设备树文件

stm32mp157c-ya157c-v2.dts
stm32mp157c-ya157c-lcd.dts
stm32mp157c-ya157c-lcd-v2.dts
stm32mp157c-ya157c-hdmi.dts
stm32mp157c-ya157c-hdmi-v2.dts

具体的做法是将有关lcd/hdmi的内容ltdc都注释掉.连带I2c2,sound 也干掉。比如在stm32mp157c-ya157-lcd.dts 中

/*HDMI*/
/*&i2c2 {
	hdmi-transmitter@39 {
		compatible = "sil,sii9022";
		reg = <0x39>;
		status = "disable";
	};
};*/

&i2s2 {
	status = "disable";

};

/*test LCD*/
/*&ltdc {
        status = "okay";

        port {
                #address-cells = <1>;
                #size-cells = <0>;

                ltdc_ep0_out: endpoint@0 {
                                reg = <0>;
                                remote-endpoint = <&panel_in>;
                                };
           };
};*/

 

编译dts 成为dtb

修改后的dts 要编译成为二进制的dtb文件 具体的方法可参照我的上一篇博文。

 unset LD_LIBRARY_PATH
source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
 export KBUILD_OUTPUT=~/workspace/myir/MYiR-stm32-kernel/build
cd ~/workspace/myir/MYiR-stm32-kernel/myir-ya157c-kernel/
make ARCH=arm  myc-ya157c_defconfig
cd ../build
make ARCH=arm  dtbs -j11


然后将build/arch/arm/boot/dts/中的文件拷贝到目标机的boot目录中,从新启动。

 scp arch/arm/boot/dts/stm32mp157c-ya157c*.dtb root@192.168.31.194:/boot/

ssh进入开发板,reboot结果连上HDMI 显示屏,依然出现了ST的桌面。没有改过来!

重新编译kernel

在目标板的boot 目录中发现有uImage,于是,想到是否要将修改后的内核编译一下,并且做替换呢?编译好后,下载

 scp arch/arm/boot/uImage root@192.168.31.194:/boot/

 

再次reboot ,OK了。又是周末,开心。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值