最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

stm32mp157 linux下擴展板驅動移植1:驅動移植準備

2021-11-08 14:55 作者:華清遠見研發(fā)中心  | 我要投稿

寫在前面:

本文章為《Linux系統(tǒng)移植之擴展板外設驅動移植篇》系列中的一篇,筆者使用的開發(fā)平臺為華清遠見FS-MP1A開發(fā)板(STM32MP157開發(fā)板)。資源擴展板是FS-MP1A開發(fā)板的擴展模塊,主要包含了10余種助主流傳感器、執(zhí)行器件、總線控制器件,非常方便項目擴展用??赏卣归_發(fā)智慧家庭、智能醫(yī)療、智能安防、工業(yè)控制、圖像識別、環(huán)境檢測等方向的10個左右綜合項目,華清遠見開發(fā)板也將配套提供所有項目的說明文檔、實驗源碼、應用程序等資料。

針對FS-MP1A開發(fā)板,除了擴展板外設驅動移植篇外,還包括其他多系列教程,包括Cortex-A7開發(fā)篇、Cortex-M4開發(fā)篇、FreeRTOS篇、Linux應用開發(fā)篇、Linux系統(tǒng)移植篇、Linux驅動開發(fā)篇、硬件設計篇、人工智能機器視覺篇、Qt應用編程篇、Qt綜合項目實戰(zhàn)篇等。歡迎關注,更多stm32mp157開發(fā)教程及視頻,可加技術交流Q群483143191,感謝關注。

FS-MP1A開發(fā)板詳情介紹:item.taobao.com/item.ht


1.資源擴展板介紹

1.1硬件介紹



1.2資源擴展板可開發(fā)項目



2.擴展板驅動移植準備

2.1實驗原理

Linux設備樹目錄下文件分三種分別是dtsi、dts和dtb,dtsi類似于C語言中的頭文件,定義一些通用的信息會被dts文件引用,dts是最終的文件,用來描述設備的硬件資源、編譯后生成dtb文件,這個文件將會傳遞給linux內(nèi)核,內(nèi)核啟動后通過解析這個文件獲取設備的硬件資源信息。

即使同一款芯片也會有不同的設備樹,對應不同的設備,這里我們要準備驅動我們的擴展板,這樣我們可以認為加了擴展板的fsmp1a是一個新的設備,所以我們要為這個新的設備創(chuàng)建一個新的設備樹文件,當然他繼承了fsmp1a的主板資源,所以我們設備設備樹會應用原有的設備樹文件。



擴展板資源標識圖

2.2實驗目的

了解Linux內(nèi)核設備樹的原理,設備樹的層次結構等,掌握如何在內(nèi)核中添加一個新設備的支持。

2.3實驗平臺

華清遠見開發(fā)環(huán)境,F(xiàn)S-MP1A平臺

2.4實驗步驟

  1. 導入交叉編譯工具鏈

linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi


  1. 新建設備樹文件

在內(nèi)核的arch/arm/boot/dts目錄下新建文件stm32mp157a-fsmp1a-extended.dts文件并添加如下內(nèi)容:

stm32mp157a-fsmp1a-extended.dts

123456789101112131415// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)/* * Copyright (C) Farsight 2018 - All Rights Reserved *//dts-v1/;#include "stm32mp157a-fsmp1a-mipi050.dts"//#include "stm32mp157a-fsmp1a-rgb070.dts"//#include "stm32mp157a-fsmp1a.dts"/ { model = "HQYJ STM32MP157 FSMP1A EXTENDED Discovery Board"; compatible = "st,stm32mp157a-dk1", "st,stm32mp157";};

說明:

主板使用的是5寸的MIPI屏需引用stm32mp157a-fsmp1a-mipi050.dts,

主板使用的是7寸的RGB屏需引用stm32mp157a-fsmp1a-rgb070.dts

如果沒有屏幕則可以引用stm32mp157a-fsmp1a.dts

  1. 修改arch/arm/boot/dts/Makefile

在原有stm32mp157a-fsmp1a-rgb070.dts下添加如下新dts文件的條目(標紅部分未新增條目)

dtb-$(CONFIG_ARCH_STM32) += \

stm32f429-disco.dtb \

stm32f469-disco.dtb \

stm32f746-disco.dtb \

stm32f769-disco.dtb \

stm32429i-eval.dtb \

stm32746g-eval.dtb \

stm32h743i-eval.dtb \

stm32h743i-disco.dtb \

stm32mp157a-dk1.dtb \

stm32mp157a-fsmp1a.dtb \

stm32mp157a-fsmp1a-mipi050.dtb \

stm32mp157a-fsmp1a-rgb070.dtb \

stm32mp157a-fsmp1a-extended.dtb \

  1. 編譯設備樹文件

編譯后會生成stm32mp157a-fsmp1a-extended.dtb文件

  1. 增加啟動項配置

u-boot可以通過eMMC、SD卡、TFTP三種方式加載內(nèi)核和設備樹文件,三種不同的方式分別需要修改不同的文件

eMMC啟動:修改根文件系統(tǒng)的/boot/mmc1_stm32mp157a-fsmp1a_extlinux/extlinux.conf

SD卡啟動:修改根文件系統(tǒng)的/boot/mmc1_stm32mp157a-fsmp1a_extlinux/extlinux.conf

TFTP啟動:修改根文件系統(tǒng)的/tftpboot/pxelinux.cfg/01-00-80-e1-42-60-17

注意:

01-00-80-e1-42-60-17為板子u-boot期間的MAC地址,如需改變可以在u-boot期間使用env set -f ethaddr xx:xx:xx:xx:xx:xx來修改mac地址。

紅色部分為增加內(nèi)容

# Generic Distro Configuration file generated by OpenEmbedded

menu title Select the boot mode

MENU BACKGROUND ../splash.bmp

TIMEOUT 20

DEFAULT stm32mp157a-fsmp1a-mipi-emmc

LABEL stm32mp157a-fsmp1a-emmc

KERNEL /uImage

FDT /stm32mp157a-fsmp1a-extended.dtb

APPEND root=/dev/mmcblk2p4 rootwait rw console=ttySTM0,115200

LABEL stm32mp157a-fsmp1a-extended

KERNEL /uImage

FDT /stm32mp157a-fsmp1a-extended.dtb

APPEND root=/dev/mmcblk2p4 rootwait rw console=ttySTM0,115200

說明:

“APPEND root=/dev/mmcblk2p4 rootwait rw console=ttySTM0,115200”表示根文件系統(tǒng)在eMMC上、如果需要使用nfs掛載根文件系統(tǒng)需將APP內(nèi)容改為:

APPEND root=/dev/nfs nfsroot=192.168.11.251:/source/rootfs ip=dhcp rootwait rw earlyprintk console=ttySTM0,115200


硬件平臺:華清遠見FS-MP1A開發(fā)板(STM32MP157)

部分開發(fā)教程下載:加QQ群483143191,群文件里有。

部分視頻課程收看:華清遠見研發(fā)中心的個人空間_嗶哩嗶哩_Bilibili

淘寶購買鏈接:item.taobao.com/item.ht

手機淘寶分享碼:復制本行文字打開手淘?T4FPXn3YYJ2?


stm32mp157 linux下擴展板驅動移植1:驅動移植準備的評論 (共 條)

分享到微博請遵守國家法律
元氏县| 梅河口市| 罗源县| 定州市| 通山县| 如东县| 调兵山市| 英德市| 镇坪县| 哈密市| 扶余县| 广宁县| 孙吴县| 潜江市| 华池县| 岳普湖县| 鹿邑县| 河间市| 郴州市| 新密市| 长宁区| 拉萨市| 开阳县| 肥城市| 五台县| 会东县| 都江堰市| 蒙阴县| 交口县| 清丰县| 红原县| 左云县| 南开区| 胶州市| 郁南县| 报价| 河南省| 勐海县| 云南省| 中方县| 洪泽县|