文章目录前言(一)开发环境(二)项目基本概述(三)程序框架(四)参考资料前言现在越来越多的智能设备融入到我们的生活,然而,丰富的设备之下也是有一套基本的运行框架,只是根据不同的需求增减相应的功能从而满足自身的需要。而电子产品量产工具项目,就是实现基础的功能,可以作为一个基础的模版,学成之后便可进行扩展,根据自身需求,通过基础功能的组合及增加其他传感器的功能,从而完成不同的项目。(一)开发环境开发环境:ubuntu18.04_x64(虚拟机中)开发板:IMX6ULL使用软件:MobaXterm(远程登陆服务器)、FileZillaClient(FTP客户端)、SourceInsight(编辑器)
文章目录1.LED模板驱动程序的改造:设备树1.1总结3种写驱动程序的方法1.2怎么使用设备树写驱动程序1.2.1设备树节点要与platform_driver能匹配1.2.2设备树节点指定资源,platform_driver获得资源1.3开始编程1.3.1修改设备树添加led设备节点1.3.1.1对百问网imx6ullPro板1.3.1.2对百问网imx6ullMINI1.3.1.3对于百问网使用QEMU模拟的IMX6ULL板子1.3.2修改platform_driver的源码12.4上机实验1.5调试技巧1.5.1设备树的信息1.5.2platform_device的信息1.5.3platf
RTL8211E网口芯片在Uboot下调试问题文章目录RTL8211E网口芯片在Uboot下调试问题RTL8211E的原理图uboot下的驱动调试问题排查RTL8211E的原理图原理图参考firefly的开发板,特别注意的是39号引脚RESET外接的2.49K的电阻,这个是用来进行外部的电阻参考的。这个很关键,开始时46号引脚CLK_125输出的频率不是125MHZ,而是62.5MHZ,刚好减少一半,后续在对外围电路进行检查时,发现主要是这个39号引脚焊成4.7k的电阻了,刚好是2.49k的近一半,因此导致这个频率减半。这个问题困扰了两天,刚开始以为是程序问题,后来排查另外一块板子的频率是对的
Linux驱动的GPIO中断编程主要有以下几个步骤:1、通过GPIO号获取软件中断号(中断编程不需要设置GPIO输入输出,当然申请GPIO,设置输入也没问题)intgpio_to_irq(unsignedintgpio)参数含义gpioGPIO引脚编号2、注册中断处理函数,设置中断触发方式(上升沿、下降沿等)intrequest_irq(unsignedintirq,irq_handler_thandler,unsignedlongflags,constchar*name,void*dev)参数含义irq软件中断号(通过gpio_to_irq获取)handler中断处理函数flags中断触发方
一、环境soc:rk3588sensor:imx415board:bpi-w3linux:5.10二、imx415简介品牌:SONY型号:IMX415接口:MIPICSI三、驱动移植瑞芯微支持的摄像头,有个supportlist,此次从该list中选择了IMX4153.1驱动源文件及对应脚本RK提供的默认sdk里面已经将支持的所有摄像头驱动都添加到了内核,所以不需要移植该驱动了。需确认下移植驱动对应的一些信息源程序3588_linux/3588_linux5.10_v1.0.5/kernel/drivers/media/i2c/imx415.c3588_linux/3588_linux5.10
一、环境soc:rk3588sensor:imx415board:bpi-w3linux:5.10二、imx415简介品牌:SONY型号:IMX415接口:MIPICSI三、驱动移植瑞芯微支持的摄像头,有个supportlist,此次从该list中选择了IMX4153.1驱动源文件及对应脚本RK提供的默认sdk里面已经将支持的所有摄像头驱动都添加到了内核,所以不需要移植该驱动了。需确认下移植驱动对应的一些信息源程序3588_linux/3588_linux5.10_v1.0.5/kernel/drivers/media/i2c/imx415.c3588_linux/3588_linux5.10
一、UBOOT启动流程开始之前,不得不说UBOOT启动的三个阶段,这个很重要!第一阶段(汇编语言阶段)1.设置异常向量表,当系统发生异常时总会接入到一个固定地址。2.硬件初始化。配置时钟相关参数,比如分频系数等等(内核时钟,总线时钟,IO接口时钟)3.关闭看门狗。
由于我买的是正点原子的IMX6ULL阿尔法开发板,但是我是看韦东山老师视频学习的驱动所以这里我烧录的方法是按照韦东山老师的课程来的这里给出烧写Linux系统用到的工具链接:https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ提取码:af6w下载解压后,可以看到烧写工具烧写Linux系统到SD卡中由于我这边使用韦东山老师的工具烧写到EMMC总是失败所以尝试烧写到SD卡中,成功!1、将IMX6ULL的启动方式通过拨码开关调到USB模式(按照板子上丝印的指示即可)2、将miniusb线插到USBOTG口上(正点原子IMX6ULL阿尔法左下角上面那个USB口)
目录一、环境变量1.1、环境变量的工作方式1.2、默认环境变量二、printenv命令三、驱动认识一、环境变量环境变量的作用可以不需要修改源码,修改运行时需要的一些数据和特性环境变量优先级uboot和环境变量中各有一个值,如果环境变量为空则适用代码的值,否则则使用环境变量的值1.1、环境变量的工作方式刚烧录的系统中环境变量分区是空白的,uboot第一次运行时加载的是uboot代码中自带的一份环境变量,叫默认环境变量saveenv时DDR中的环境变量会被更新到SD卡的环境变量中,下次开机就会在SD卡中加载环境变量到DDR中1.2、默认环境变量位置u-boot-2022.01/inc
1.硬件:使用正点原子的IMX6ULLLinux开发板开发板底板原理图版本:V2.1核心板原理图版本:V1.6LCD:MSP2402(ICILI9341)2.查找可用引脚开发板上引出的引脚是在JP6上,只看JP6会发现没有可用的SPI引脚,但是查看底板原理图中与核心板相连的位置会发现其实JP6上的UART2的TX/RX/CTS/RTS四个引脚正好可以复用为ECSPI3的MISO/MOSI/CLK/SS0四个引脚,SPILCD还需要三个IO口作为Reset/DC/背光的控制引脚,如下图所示(但是我是偷懒了,将背光引脚直接接的V3.3)3.添加支持SPILCD的设备树节点(不废话,直接上干货)