imx
  • 2024-05-15学习imx6dl遇到的困难总结 持续更新 很痛也很傻
    最近进了新公司开始鼓捣imx6,虽然说之前弄过imx8的应用层,但是底层移植完全不一样简直太无助了。首先介绍下故事背景,拿到一个imx6dl的板子,是基于飞凌的板子改的。网上资料又少,一无所知的我开始了踩坑之路。拿到板子和一套飞凌板子送的源码,本以为是简单的uboot移植,还是厂家给的代码
  • 2024-05-09Linux I2C子系统驱动
    1LinuxI2C驱动框架由上到下分为3层结构:i2c设备驱动层:作为client使用者使用i2c子系统。提供操作接口给应用层,与应用层交互数据。I2C核心层:提供transfersendrecv函数。把client设备挂载到I2C总线上;维护i2cdriver和i2cclient链表,实现i2c_client和i2c_driver匹配。
  • 2024-04-2504_Linux下把驱动编译进内核
    Linux下把驱动编译进内核需求:把前面课程学习的helloworld驱动编译到内核。例子:source"drivers/redled/Kconfig"configLED_4412 tristate"LedSupportforGPIOLed" dependsonLEDSCLASS help Thisoptionenablesupportforled说明:1.source“drivers/redled
  • 2023-09-12u-boot制作(一)
    用户文档下载在NXP官网的文档搜索界面,搜索imx6ul关键字就能查询到相关的文档官网文档搜索地址:https://www.nxp.com.cn/design/documentation:DOCUMENTATION#/U-BOOT下载#获取u-bootgitclonehttps://github.com/nxp-imx/uboot-imx#如果报错error:RPCfailed;curl16E
  • 2023-08-1338 pinctrl(四)pinctrl driver
    前言一些使用技巧查看设备支持的pinctrlls/sys/kernel/debug/pinctrl/查看pinctrl中支持的引脚、组、functioncat/sys/kernel/debug/pinctrl/20e0000.iomuxc/pinscat/sys/kernel/debug/pinctrl/20e0000.iomuxc/pingroupscat/sys/kernel/debug/pinctrl/20e0000.io
  • 2023-07-2334 IIC(十二)IIC Adapter 源码分析
    1.devicetree100ask_imx6ull-14x14.dtsiicadapter注册pinctrl_i2c1:i2c1grp{fsl,pins=<MX6UL_PAD_UART4_TX_DATA__I2C1_SCL0x4001b8b0MX6UL_PAD_UART4_RX_DATA__I2C1_SDA0x4001b8b0>;
  • 2023-06-26linux 核间通讯rpmsg架构分析【转】
    转自:https://blog.csdn.net/wind0419/article/details/123277545以imx8为例在最底层硬件上,A核和M核通讯是靠硬件来进行的,称为MU,如图  LinuxRPMsg是在virtioframework上实现的一个消息传递机制VirtIO是一个用来实现“虚拟IO”的通用框架,典型虚拟的pci,网卡,磁盘等虚拟设
  • 2023-06-25【野火Linux移植篇】5-重温编译Linux内核命令 make xxx_defconfig 文件位置
    重温编译内核步骤:命令如下:makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distcleanmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-imx_v7_defconfigmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-all-j16第一行命令用于清除工程中之前编译的残留文件,最好这
  • 2023-04-05IC2总线及驱动
    I2C总线I2C总线和platform总线非常类似,platform总线初始化位置如下:kernel_init();kernel_init_freeable();do_basic_setup();driver_init();platform_bus_init(); I2C总线是作为一个模块进行初始化postcore_initcall(i2c
  • 2023-03-03正点原子IMX6ULL开发板-busybox rootfs移植-Cannot open root device "nfs" or unknown-block(2,0): error
    环境VMware17.0.0Ubuntu16NXP提供的U-boot与Linux版本:u-boot:uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2linux:linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2开发板:
  • 2023-02-20IMX平台I2C总线驱动模型
    i2cadapter——I2C适配器在i2c总线结构中,i2cadapter对应着真实的物理设备i2c适配器。i2c-imx.c是I2C适配器的平台总线驱动,文件中包含了对I2C适配器注册和操作的函数,第
  • 2023-02-18【IMX6ULL学习笔记】二十一、SPI驱动和设备
    一、Linux下SPI驱动框架简介1、SPI主机驱动SPI主机驱动就是SOC的SPI控制器驱动,类似I2C驱动里面的适配器驱动。Linux内核使用spi_master表示SPI主机驱动,s
  • 2023-02-18【IMX6ULL学习笔记】二十、IIC驱动和设备
    一、IIC驱动和IIC设备驱动和设备是成对的,一个驱动对应一个设备,而驱动又分为主机驱动(IIC控制器驱动)和设备驱动,相对应的就是主机设备(IIC控制器)和普通设备(外围设备)。1、主机
  • 2023-02-18【IMX6ULL学习笔记】十九、Pinctrl、GPIO驱动驱动框架
    一、I.MX6ULL的pinctrl(IOMUXC)子系统1、设备树中PIN配置信息详解打开imx6ull.dtsi文件,找到一个叫做iomuxc的节点,如下所示:iomuxc:iomuxc@020e0000{compati
  • 2022-10-31[I.MX6UL] Linux 内核移植(一)
    NXP官方原版Linux4.1.15_2.1.0源码:https://cloud.189.cn/t/JZriMvVNJJBf一定要先安装:sudoapt-getinstalllzop终端输入:mkdirIMX6ULL将上面的Linux4.1.15_2.1.0源码
  • 2022-10-31[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板
    添加开发板默认配置文件将arch/arm/configs目录下的imx_v7_mfg_defconfig重新复制一份,命名为imx_mybsp_emmc_defconfig,命令如下:当前路径:~/linux/IMX6ULL/li
  • 2022-08-31q0830
    1、dts源文件编译成dtb2、每个板子都有一个对应的DTS文件,那么如何确定编译哪一个DTS文件呢?打开arch/arm/boot/dts/Makefile,3、kernelmakefilea、首先要makexxx_def