色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ElfBoard技術貼|如何在NXP源碼基礎上適配ELF 1開發(fā)板的六軸傳感器

ElfBoard ? 2024-10-30 20:25 ? 次閱讀
wKgZomciI1GAO3MfAApwvbTTKdU837.png

本次源碼適配項目是基于NXP i.MX6ULL EVK評估板的Linux內核源碼(特定版本Linux-imx_4.1.15)展開的。核心目標是調整功能接口及引腳配置,以確保其與ELF 1開發(fā)板兼容,接下來將以六軸傳感器的適配作為具體示例,深入解析整個適配的流程。

一、 準備工作

NXP源碼路徑:ELF1開發(fā)板資料包\07-NXP 原廠資料\07-1 NXP官方源碼\linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2

1、將NXP源碼拷貝到開發(fā)環(huán)境home/root/work目錄下解壓

elf@ubuntu:~/work$ tar jvxf linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2 elf@ubuntu:~/work$ cd linux-imx-imx_4.1.15_2.0.0_ga/ elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ls

2、添加默認配置文件

將arch/arm/configs路徑下的imx_v7_mfg_defconfig復制一份,命名為imx6ull_elf1_defconfig:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp arch/arm/configs/imx_v7_mfg_defconfig arch/arm/configs/imx6ull_elf1_defconfig

3、添加ELF 1設備樹

將arch/arm/boot/dts路徑下的imx6ull-14x14-evk.dts復制一份,命名為imx6ull-elf1-emmc.dts:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp arch/arm/boot/dts/imx6ull-14x14-evk.dts arch/arm/boot/dts/imx6ull-elf1-emmc.dts

打開arch/arm/boot/dts/Makefile,找到CONFIG_SOC_IMX6ULL,將imx6ull-elf1-emmc.dts添加到Makefile中:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vi arch/arm/boot/dts/Makefile

wKgZomciI4KAKyk8AAf8-2niuS0211.png

4、建立交叉編譯腳本

建立一個編譯腳本build.sh

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vim build.sh

添加以下內容,保存退出:

#!/bin/bash export CPUS=`grep -c processor /proc/cpuinfo` source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi make distclean make imx6ull_elf1_defconfig make -j${CPUS} rm -rf ./.tmp make modules_install INSTALL_MOD_PATH=./.tmp/rootfs/ cd .tmp/rootfs/ tar -jcvf modules.tar.bz2 *

給予腳本權限:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ chmod 777 build.sh

二、適配六軸傳感器

SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線。SPI的通信以主從方式工作,一般需要4根線,MISO(主設備數據輸入)、MOSI(主設備數據輸出)、SCLK(時鐘)、CS(片選)。i.MX6ULL有4路SPI接口,ELF 1開發(fā)板使用了SPI1連接到六軸傳感器icm20607上。

1、硬件原理

wKgaomciI72AewFRAAUcgFyedYA258.pngwKgaomciI9iAReeBAAm3Q18_C1Y193.png

從原理圖中可以看到,六軸傳感器相連的引腳分別為:時鐘SPI1_SCLK、片選SPI1_SS0、輸出SPI1_MOSI、輸入SPI1_MISO、中斷ICM-20607_INT,分別對應的PAD NAME為LCD_DATA20、LCD_DATA21、LCD_DATA22、LCD_DATA23(六軸傳感器的中斷引腳沒有用到,所以此處不進行配置)。由于ELF 1開發(fā)板的LCD采用的是RGB565,空出來的8位數據線可以用作其他功能。

wKgaomciI_iAd_mBAAEZ7saPxRE654.png

2、IOMUX配置

在arch/arm/boot/dts/imx6ul-pinfunc.h中找到相關宏:

MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK MX6UL_PAD_LCD_DATA21__GPIO3_IO26 MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI MX6UL_PAD_LCD_DATA23__ECSPI1_MISO

在設備樹文件arch/arm/boot/dts/imx6ull-elf1-emmc.dts的IOMUX節(jié)點下添加子節(jié)點(暫時先不添加中斷引腳,目前沒有用到中斷):

pinctrl_ecspi1: ecspi1grp { fsl,pins = < MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK 0x10b0 MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x10b0 MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI 0x10b0 MX6UL_PAD_LCD_DATA23__ECSPI1_MISO 0x10b0 >; };

效果如下:

wKgaoWciJCCASR5qAAILID-j77c770.png

在添加IOMUX之后,需要檢查設備樹是否有其它地方復用了LCD_DATA20,LCD_DATA21,LCD_DATA22,LCD_DATA23。

打開arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件,搜索引腳PAD NAME,在&iomux的子節(jié)點pinctrl_lcdif_dat節(jié)點下搜索到以下幾個引腳的復用,將其注釋掉:

/* MX6UL_PAD_LCD_DATA20__LCDIF_DATA20 0x79 MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x79 MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x79 MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x79 */

效果如下:

wKgaoWciJECAS3mZAARI9s5dX7o132.png

3、設備節(jié)點配置

在arch/arm/boot/dts/imx6ull.dtsi中已經存在了spi接口的相關節(jié)點ecspi1-ecspi4,只需要在arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件中引用相關節(jié)點,并在該節(jié)點下添加子節(jié)點spidev0:

&ecspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1>; fsl,spi-num-chipselects = <1>; cs-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; status = "okay"; spidevicm: icm20607@0{ compatible = "elf,icm20607"; spi-max-frequency = <8000000>; reg = <0>; }; };

效果如下:

wKgZoWciJHWAcw6sAAQ3gIEmVX8695.png

4、添加icm20607驅動

(1)將ELF1開發(fā)板資料包\02-Linux 源代碼\02-1 驅動源碼\01_icm20607\icm20607.c拷貝到內核源碼的drivers/misc/路徑下。

wKgZoWciJI-AAW2AAAJNgDqwjqs978.png

(2)將ELF1開發(fā)板資料包\02-Linux 源代碼\02-1 驅動源碼\01_icm20607\icm20607.h拷貝到內核源碼的include/linux路徑下。

wKgaoWciJJ2AYkITAAJYip6pnxA863.png

(3)修改Kconfig

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vi drivers/misc/Kconfig

添加以下內容:

config ICM20607 tristate "SPI device ICM20607" depends on SPI && SYSFS help If you say yes here,you get support for the icm20607

效果如下:

wKgaoWciJL6AEZWGAAL9RFNIdZk123.png

(4)修改Makefile

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vi drivers/misc/Makefile

添加以下內容:

obj-$(CONFIG_ICM20607) += icm20607.o

效果如下:

wKgaoWciJNCAauGRAAJ-L1E2Tk0723.png

(5)將icm20607驅動編譯進內核使用make menuconfig打開圖形化配置界面:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ make menuconfig

找到以下位置,選擇Y編譯進內核:

Device Drivers -> Misc devices

wKgZomciJOqAHLPwAAZBJjlggbo475.png

(6)替換配置文件通過make menuconfig修改的內容寫入到了.config文件,當使用make imx6ull_elf1_defconfig配置內核源碼時,.config文件會被覆蓋,因此,需要替換原有的imx6ull_elf1_defconfig。

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp .config arch/arm/configs/imx6ul\l_elf1_defconfig

wKgaomciJPmAS0X3AAIsj5I7Czw341.png

5、編譯

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ./build.sh

將編譯生成的zImage和imx6ull-elf-emmc.dtb拷貝到ELF 1開發(fā)板的/run/media/mmcblk1p1 路徑下:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/zImage root@172.16.0.175:/run/media/mmcblk1p1/ elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/dts/imx6ull-elf1-emmc.dtb root@172.16.0.175:/run/media/mmcblk1p1/

保存并重啟開發(fā)板:

root@ELF1~# sync root@ELF1~# reboot

三、六軸傳感器測試

1、查看/dev下是否生成了設備節(jié)點,若生成則表示驅動適配成功

wKgZomciJSWALkZgAACsU8HTcmw855.png

2、使用以下測試程序測試六軸傳感器是否可以正確讀到數據。

root@ELF1:~# elf1_cmd_icm20607

wKgaomciJTmAK4EEAANwWkpHtZw589.png

可以看到,六軸傳感器能夠成功讀取原始數據并將其轉換為有效的實際值。所有傳感器的讀數均在合理范圍內,表明設備功能正常。

至此,就完成了基于NXP源碼對ELF 1開發(fā)板六軸傳感器的適配工作。希望這份詳盡指南能夠為各位小伙伴提供實際的幫助,在探索嵌入式技術的旅程中,讓我們一同開啟無限可能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6037

    文章

    44566

    瀏覽量

    636025
  • 嵌入式
    +關注

    關注

    5086

    文章

    19140

    瀏覽量

    305846
  • NXP
    NXP
    +關注

    關注

    60

    文章

    1281

    瀏覽量

    184443
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5068

    瀏覽量

    97623
收藏 人收藏

    評論

    相關推薦

    ELF 1技術|在NXP源碼基礎上適配開發(fā)板的按鍵功能

    ELF1開發(fā)板。接下來,我們將詳細闡述適配過程中關于按鍵功能實現的完整步驟。值得一提的是,ELF1開發(fā)板
    的頭像 發(fā)表于 03-08 16:58 ?976次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b><b class='flag-5'>適配</b><b class='flag-5'>開發(fā)板</b>的按鍵功能

    何在NXP源碼基礎上適配ELF 1開發(fā)板的PWM功能

    本次源碼適配項目是在NXP i.MX6ULL EVK評估所搭載的Linux內核源碼(版本為Linux-imx_4.1.15)
    的頭像 發(fā)表于 09-10 10:00 ?949次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的PWM功能

    ElfBoard技術|如何在NXP源碼基礎上適配ELF 1開發(fā)板的UART功能

    UART即通用異步收發(fā),是一種支持全雙工串行通信協(xié)議的接口。在i.MX6ULL處理平臺上,該處理原生支持多達8路的UART接口,提供了豐富的串行通信能力。 針對ELF
    的頭像 發(fā)表于 09-25 13:56 ?2333次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的UART功能

    ElfBoard技術|ELF 1開發(fā)板適配攝像頭詳解

    ELF1ELF1S開發(fā)板適配的OV5640攝像頭,集成了CMOS圖像傳感器,作為一款500萬像素級別的攝像頭,不僅能夠支持最高達2592x
    的頭像 發(fā)表于 12-27 10:16 ?589次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>適配</b>攝像頭詳解

    嵌入式學習-ElfBoard ELF 1板卡-在nxp源碼基礎上適配ELF 1開發(fā)板的LED功能

    源碼適配即在NXP i.MX6ULL EVK評估對應的Linux內核源碼(linux-imx_4.1.15 版本)
    發(fā)表于 01-05 14:35

    飛凌嵌入式ElfBoard ELF 1板卡-在NXP源碼基礎上適配ELF 1開發(fā)板的按鍵功能

    的鍵值是103,KEY3上報的鍵值是108,與在設備樹中配置的鍵值一致。 至此,就完成了在NXP源碼基礎上適配ELF
    發(fā)表于 07-03 09:07

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-在NXP源碼基礎上適配ELF 1開發(fā)板的按鍵功能

    的鍵值是103,KEY3上報的鍵值是108,與在設備樹中配置的鍵值一致。 至此,就完成了在NXP源碼基礎上適配ELF
    發(fā)表于 07-04 09:11

    ELF 1開發(fā)板試用】+傳感器檢測

    ELF 1開發(fā)板通過幾種傳感器的測試,如溫濕度、傳感器
    發(fā)表于 11-29 11:59

    ELF 1開發(fā)板試用】板載資源測試2:體驗傳感器

    飛凌嵌入式ELF1開發(fā)板(以下簡稱為“開發(fā)板”)將傳感器
    發(fā)表于 12-15 00:02

    ELF 1開發(fā)板試用】板載資源測試4:體驗溫濕度傳感器

    命令行操作界面。 3、傳感器測試(1)溫濕度傳感器AHT20在
    發(fā)表于 12-18 11:09

    ELF 1技術|在NXP源碼基礎上適配ELF 1開發(fā)板的LED功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評估的Linux內核源碼(特定版本:Linux-imx_4.1.15)基礎上進行的。主要目
    的頭像 發(fā)表于 12-29 10:04 ?866次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的LED功能

    ELF技術|如何在開發(fā)板實現對Java的支持

    Java作為一種功能強大且廣泛應用的編程語言,具有廣泛的適應性和實用性。在ELF1開發(fā)板上集成Java支持,無疑將賦予嵌入式開發(fā)者更廣闊的選擇空間,今天就為各位小伙伴詳細解析如何在
    的頭像 發(fā)表于 03-13 16:47 ?521次閱讀
    <b class='flag-5'>ELF</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>實現對Java的支持

    ElfBoard技術|在NXP源碼基礎上適配ELF 1開發(fā)板的按鍵功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評估的Linux內核源碼(特定版本:Linux-imx_4.1.15)基礎上進行的。主要目
    的頭像 發(fā)表于 07-10 09:54 ?626次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的按鍵功能

    ElfBoard技術|如何在ELF 1開發(fā)板搭建流媒體服務

    流媒體服務是一種專門用于傳輸實時數據流的服務軟件,廣泛用于視頻直播、視頻會議、音頻播放等應用場景。在嵌入式開發(fā)領域,將流媒體服務部署到開發(fā)板
    的頭像 發(fā)表于 08-20 14:48 ?582次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>搭建流媒體服務<b class='flag-5'>器</b>

    NXP源碼基礎上如何適配ELF 1開發(fā)板的UART功能

    UART即通用異步收發(fā),是一種支持全雙工串行通信協(xié)議的接口。在i.MX6ULL處理平臺上,該處理原生支持多達8路的UART接口,提供了豐富的串行通信能力。 針對ELF
    的頭像 發(fā)表于 09-29 11:49 ?374次閱讀
    在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎上</b>如何<b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的UART功能
    主站蜘蛛池模板: 99亚洲精品自拍AV成人软件| 王晶三级作品| yellow日本高清在线| 亚洲成年人在线观看| 欧美性狂猛bbbbbbxxxx| 后入式啪gif动态图| 大桥未久与黑人中出视频| 中文字幕久久久| 亚洲精品另类有吗中文字幕| 色人阁影视| 女人被弄到高潮叫床免| 久久久96| 国模孕妇模特季玥之粉红| 成在线人免费| bl高h文合集| 2021自产拍在线观看视频| 一边喂奶一边做边爱| 亚洲成人黄色片| 网友自拍偷拍| 日本国产精品无码一区免费看| 美女被黑人巨大进入| 果冻传媒在线观看网站| 国产成+人欧美+综合在线观看| qvod伦理片| 99精彩免费观看| 18禁在线无遮挡羞羞漫画| 99婷婷久久精品国产一区二区| 亚洲精品视频区| 亚洲国产精品嫩草影院久久| 色戒2小时38分在线观看| 欧美深夜0000XXXX疯狂| 美女丝袜夹b| 久久婷五月综合色啪网| 九九热在线视频精品店| 黄色免费在线网址| 国产在线aaa片一区二区99| 国产精品亚洲精品久久品| 国产传媒在线播放| 国产成人拍精品免费视频爱情岛| 丰满人妻按磨HD| 国产成人国产在线观看入口 |