擦嘞!!!一下子就3个月过去了,要说进度为什么这么慢,真不是我偷懒,是这3个月真是太多事了。工作日天天加班,周末又要研究装修的事,一周也就能有个半天,一天时间才能搞搞/(ㄒoㄒ)/~~不过不要紧,好在还算完成了一些内容:完成按键框架开发支持按键消抖支持长按保持、长按连续触发、单击、双击等按键识别支持按键按下触发、释放触发选择支持组合按键功能支持按键缓存为了处理按键扫描与按键消抖,按键处理程序由硬件定时器以5ms为周期调用,一旦扫描到按键,则会将判断出来的按键功能缓存起来,主循环中会读取缓存的按键功能,进行对应的处理。完成消息总线开发发布、订阅模式用于不同界面下按键功能的消息发布系统启动时...
在公司一直在做自动驾驶相机相关的业务,前段时间受邀给同事进行分享,于是梳理了一下我对成像系统的理解(已隐去业务相关信息)。
MIPI CSI-2总结: 基于DPHY2.1CSI(Camera Serial Interface)定义了摄像头外设与主机控制器之间的接口,旨在确定摄像头与主机控制器在移动应用中的标准。关键词描述缩写解释CCICamera Control Interface(物理层组件,通常使用I2C或I3C进行通信)CILControl and Interface LogicDTData Type(数据格式,YUV422、RGB888等)SoTStart of Transmission(传输启动信号)EoTEnd of Transmission(传输停止信号)FSFrame Start(一帧画面开始...
前言前段时间完成了基于Xavier平台+Max9286串行解串器的多路视频输入项目,现在终于有点时间对整个项目中学到的东西进行一番总结,涵盖的内容会包含Xavier的Camera子系统、DPHY与MIPI标准协议、linux下的驱动开发(V4L2+IIC)等。现在开始我们的第一部分吧------Xavier的Camera子系统。总览Xavier的Camera子系统主要由NVIDIA Camera Serial Interface (NVCSI)与Video Input(VI)两个部分组成,其中NVCSI为VI的输入源,NVCSI采集到的数据经由VI处理后转发至DDR内存中。整体框图如下:...
前言在之前的文章中,介绍了imx的头部组成部分,本文将介绍u-boot如何通过mkimage工具构建imx的头部。正文在imx6平台上进行裸机程序开发时,通常需要添加imx头部信息,才能使的程序成功运行,是否有合适的工具能够完成这样的工作呢?答案是明显的,u-boot就是一个不择不扣的裸机程序,下载imx提供的u-boot源码,可以直接编译得到u-boot.bin与u-boot.imx文件,只要了解了nxp是如何将u-boot.bin变为u-boot.imx的我们也就知道如何为我们的裸机程序添加头部信息了。1.下载nxp提供的u-boot源码。前往nxp的git下载u-boot2.获取m...
镜像组成完整的imx镜像由以下四部分组成:Image Vector Table(映像向量表)Boot Data(启动数据)Device Configuration Data(设备配置数据)User Code & Data(用户代码与数据)IVT映像向量表(IVT)是SOC的内部BootRom从BootDevice中读取的一组数据信息,该数据中指定了运行时各部分组件的地址。IVT中包含了用户应用的入口地址,DCD部分的运行时地址,Boot Data的运行时地址等。内部BootRom根据Boot Device不同对IVT的起始地址有所规定,IVT相对及地址的偏移和初始化加载大小如下:Boot...
前段时间逛淘宝,无意间看见它给我推荐3D打印机,贫穷的我当然是拒绝的,于是乎在一遍遍警告自己不要剁手,但是脑子里的败家小人一遍遍提醒我“3D打印机还是很有用的,手机壳、小物件都能打印,用不了多久就算回本了,最重要的是,还可以继续你的激光雕刻机项目”,于是在想了一堆合理的借口下败了一台3D打印机。<!--more-->!打印机到手的第一时间就是打印激光雕刻机的机械部分,但是由于前期建模过于标准化,没有预留余量导致打印出来的结构在拼接上过于困难,于是重新修改尺寸,同时修改了导轨的实现方式,不再采用尼龙作为滑块,而是采用打印件+自润滑轴套实现。由于制作过程中都是下班抽空弄的没有拍太...