自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (2)
  • 收藏
  • 关注

原创 【值符】嵌入式必备知识点&面试点

腾蛇】 最近在看外面的机会,刷刷嵌入式必备的知识点问题,也是基础,一定要深入了解,不单单只是停留在表面,原理才是王道 真谛!13、emmc & nor flash & flash 必备知识点。9、watchdog 必备知识点。6、audio 必备知识点。7、touch 必备知识点。11、pcie 必备知识点。3、uart 必备知识点。10、rtc 必备知识点。12、DDR 必备知识点。1、I2C 必备知识点。2、SPI 必备知识点。8、usb 必备知识点。...

2022-08-12 11:05:39 93

原创 uboot 中elf 文件的格式作用-ELF格式文件(非常详细)

在计算机中,ELF文件是一种主要用于二进制,可执行文件,目标代码格式的文件,ELF文件主要由四个部分组成 1.ELF头(ELF header),2.程序头表(Program header),3.节(Section),4节头表(Section header table)。ELF文件头#define EI_NIDENT 16typedef struct{  unsigned char e_ident[EI_NIDENT];  Elf32_Half e_type;  Elf32_Half e_m

2022-05-23 14:38:48 392

原创 Linux下C语言程序的编译过程

使用gcc编译程序时,编译工程分为4个阶段:(1)预处理:(Pre-Processing)(2)编译:(Compiling)(3)汇编:(Assembling)(4)链接:(linking)Linux程序员可以根据自己的需要让gcc在编译的任何阶段结束,以便检查或使用编译器在该阶段输出信息,或者对最后生成的二进制文件进行控制,以便加入不同数量和种类的调试代码来为今后的调试做好准备。和其他常用的编译器一样,gcc提供了灵活而强大的代码优化功能,利用它可以生成执行效率较高的代码。在功能上

2022-05-23 14:18:47 2028

原创 ddr test DCD CFG file CBT

今天讲一下 imx ddr 中 DCD CFG file 与 DCD CFG file CBT 的区别,也就是ddr 中包含CBT和没有包含CBT的区别。也就是CBT 的配置到底干了什么?For each format option, there is an option to include or not include LPDDR4 Command Bus Training. The select the DDR initialization with CBT, simply copy and pa

2022-03-03 13:44:41 269

原创 nor flash 基础篇

最近在工作中发现凡事多问几个为什么,会有很多不一样的收获1、为什么有 nor flash 的存在? 为什么取名字为 flash?讲一下历史:杂谈闪存二:NOR和NAND Flash - 知乎Intel很早就发明了EPROM,这是一种可以用紫外线擦除的存储器。相较于ROM,它的内容可以更新而且可以保持10~20年,老式电脑的BIOS都存储于此。后来Intel在其基础上于1978年发明了电可擦除的升级版叫做EEPROM。不需要阳光的帮忙,方便多了,可是读取和擦除速度却非常缓慢富士雄说,由

2022-03-01 10:17:26 1043

原创 linux strace 用法

strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。当时调式一个modprobre 安装一个ko 文件,但是不知道这个命令去哪里找到的ko文件,debug 调式就是 strace modprobe pl2303.ko 文件dump log 找到k

2022-02-25 17:24:01 73

原创 vysor原理以及Android同屏方案

今天调式个8155 的demo板子,显示模块插拔线没有,无法看到显示的画面,但是领导要看画面,后来想到了使用android模拟器的环境进行搭建,最早调式手机的时候都是没有屏幕的,都是使用安卓模拟器调式的,下面介绍些vysor的同屏显示原理===》vysor 同屏显示原理直接上干活adb shell能够调用screencap或者screenshot来截取屏幕,那就说明adb shell具备截屏的权限。Surface/SurfaceControl和screenshot/screencap它们内部的

2022-02-15 17:37:05 2957

原创 DDR读写源码测试

DDR读写程序:Uint32 memfill32( Uint32 start, Uint32 len, Uint32 val ){ Uint32 i; Uint32 end = start + len; Uint32 errorcount = 0; /* Write Pattern */ for ( i = start; i < end; i += 4 ) { *( volatile Uint32* )i = val;

2022-02-15 11:19:13 745

原创 lcd timing 先关参数

1、为什么需要hsync vsync 信号,什么作用可以理解未soc跟外设的一个交互信息,告诉外设要干什么,就有了Hsync Vsync 信号硬件信号 Hsync:soc 侧用于告诉电子枪要转到下一行开始扫描了硬件信号Vsync: soc 侧告诉电子枪要转到下一帧开始的地方扫描了2、timing中Vblank Hblank 如何计算的,为什么需要消影?行消隐(HBlank)在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向前行进,同时扫描点也以较慢的速率向下移动.

2022-02-11 23:10:51 309

原创 VDD VCC VSS VEE分别代表什么

电路设计以及PCB制作中,经常碰见电源符号:VCC、VDD、VEE、VSS、VBAT,他们具有什么样的关系那?  一、解释  (1)VCC:C=circuit 表示电路的意思, 即接入电路的电压  (2)VDD:D=device 表示器件的意思, 即器件内部的工作电压;  (3)VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压 (4)VEE:负电压供电;场效应管的源极(S) (5)VBAT:当使用电池或其他电源连接到VBAT脚上时,当VDD 断电时,...

2022-01-24 22:17:27 2544

原创 makefile 基础用法

1、call2、FORCE3、.PYTHON4、$$5、目标依赖

2022-01-14 17:39:22 263

原创 android 中system 如何打包编译生成的

====> 最后调用这个工具 mkuserimg_mke2fs 工具做文件系统

2022-01-11 14:49:56 1332

原创 基础知识深挖

======》camera 先关1、摄像头输入格式常用的几种?2、raw, yuv444 yuv422 yuv420 数据格式的区别?3、yuv 中 Y代表什么,UV 代表什么?4、人眼对亮度敏感还是对色度比较敏感?5、======》lcd 显示相关4、老式显示器的原理?5、逐行与隔行的区别,为什么需要需要这两种?6、timing 中 Vblank 也就是HBP HFP 为什么需要这个参数?7、pclk 如何计算的======》touch 相关1、数据流如何实

2022-01-07 19:44:17 241

原创 camera 输入数据格式 & lcd 显示原理

1、摄像头输入格式常用的几种?2、yuv444 yuv422 yuv420 数据格式的区别?3、yuv 中 Y代表什么,UV 代表什么?4、老式显示器的原理?5、逐行与隔行的区别,为什么需要需要这两种?6、timing 中 Vblank 也就是HBP HFP 为什么需要这个参数?7、...

2022-01-07 19:43:23 444

原创 qnx pps

1、什么是ppspps:Persistent Publish/SubscribeWithPPS, publishing is asynchronous: the subscriber need not be waiting for the publisher.对于发布者来说是异步的,订阅者也不需要等待发布者In fact, the publisher and subscriber rarely know each other; their only connection is an ob..

2021-11-23 20:03:48 238

原创 高通软件发布版本简称

ES Engineering SampleFCFeature CompleteCS Commercial Sample

2021-11-22 14:28:19 291

原创 qnx bsp 编译

编译环境准备:1、下载工具链,以及bsp 包2、编译source ../qnx710/qnxsdp-env.shmake3、make install

2021-11-19 19:08:51 282

原创 repo 原理

1、repo 干什么用的2、repo 的原理Repo工具实际上是由一系列的Python脚本组成的,这些Python脚本通过调用Git命令来完成自己的功能。比较有意思的是,组成Repo工具的那些Python脚本本身也是一个Git仓库。这个Git仓库在AOSP里面就称为Repo仓库。我们每次执行Repo命令的时候,Repo仓库都会对自己进行一次更新。3、如何自己搭建一个仓库4、repo 目录结构分析下面我们先大概了解一下重要的几个目录的含义:.repo:此为repo目录,

2021-11-10 19:56:08 339

原创 dtb 反向解析

今天就一句话:有时候因为环境的问题,导致你花了额外长的时间调查问题,所有每一步都要check 是否配置ok 了,下面的指令一定要常用dtc -I dtb -O dts ./xxx.dtb -o xxx.txt

2021-10-19 11:47:02 74

原创 【kernel 中内存分配那点事】

首先呢作为车载bsp开发人员,写大量的内核代码是不现实的事情,多数都是修修改改,但是要有内核代码阅读浏览理解的能力,毕竟linux kernel 还是很nb 的,所有技术人员深入研究内核代码是必须的,也毛病,而且越是资深的大佬对这方便越牛。kernel 中内存分配的常用几种方式:1、kmalloc: (分配连续的物理空间,最大为128K)通用 cache  void *kmalloc(size_t size, gfp_t flags)  kmalloc 基于以下几种size的mem c.

2021-07-28 19:27:21 275

原创 LVDS 相关功能调式

LVDS 相关调式总结,绝对硬核,学到就是赚到bsp 调式调式总是枪枪林弹雨的进行中,最磨人的莫过于寄存器的调式了,最近遇到camera不支持热插拔的case,linux 平台验证ok,但是qnx 就是不支持,又看不到源码,真的是无能为力。言归正传,今天讲讲LVDS 相关调式技巧1、LVDS 相关timing 参数配置 (linux qnx)下面截图是一般手册上描述的参数配置,分辨率为 1920x720无论是LVDS 还是 并口camera 都涉及一个视频的有效性的计算:H tota

2021-07-22 19:29:36 879 2

原创 usb如何枚举

1-1 状态转换USB协议定义了设备的6种状态,仅在枚举过程中,设备就经历了4个状态的迁移:上电状态(Powered),默认状态(Default),地址状态(Address)配置状态(Configured)(其他两种是连接状态和挂起状态(Suspend))1-2Hub监测它各个端口数据线上(D+/D-)的电压在hub端,数据线D+和D-都有一个阻值在14.25k到24.8k的下拉电阻Rpd,而在设备端,D+(全速,高速)和D-(低速)上有一个1.5k的上拉电阻Rpu。当...

2021-07-16 17:42:14 261

原创 usb 那点事

1、usb 为何而生https://blog.csdn.net/u013165704/article/details/1187342582、usb 如何枚举3、usb 低速 高速 全速如何匹配的4、usb 接口类型5、usb otg6、usb fastboot7、usb 调式技巧

2021-07-14 18:30:42 47

原创 usb前世今生

1、为什么有usb的存在USB 是「通用串行总线(Universal Serial Bus)」的简称USB 的标准是由 USB 开发者论坛制定的,为了解决数据线不能通用的问题,论坛希望用被称为「C 型」的新型数据线,来取代所有的 A 型和 B 型数据线,兼容所有的手机、平板、电脑及周边设备的接口,并将支持更快的 USB 3.1。再过几年,C 型数据线可能就会成为标配,到那时我们不会再需要装一抽屉各式各样的数据线了。但仰望星空还需脚踏实地,我们在期待 C 型数据线「大一统」时代到来的同时,先简要回

2021-07-14 18:23:54 73

原创 csdn-我回来了

时隔一两年的时间打算继续写博客搞起来,技术路上的点滴 互相学习

2021-07-14 09:46:33 29

转载 linux 3.0.8 alsa数据流程分析

ALSA打开数据流程     soc_pcm_open =&gt; cpu_dai-&gt;driver-&gt;ops-&gt;startup =&gt; platform-&gt;driver-&gt;ops-&gt;open =&gt; codec_dai-&gt;driver-&gt;ops-&gt;startup \    =&gt; rtd-&gt;dai_link-&gt

2018-11-10 10:59:23 643

转载 杂音 & pop 音的解决方法

杂音 &amp; pop 音的解决方法 1. 喇叭有严重的“吱吱”破音,绝大多数的原因有可能在于V(out)电压不稳定,所以最好测一下无负载时的输出电压。同时也可以测量 VCC –即boost 的输出/输入电压。正常的VCC   可以通过客户的 反馈电阻和 VCC负载电阻求得。 2、客户有杂音:估计是信号的干扰,一般是电源的干扰因素占最大的比重,建议测量静态电流 IQ  。 ...

2018-11-10 10:45:04 3311

原创 FIFO and DMA

FIFO  SPI端口增加了FIFO,使得传输数据有了缓冲区间。   FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。主要有三个方面的作用:1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;2)数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;3)允许系统进行DMA操作,提高数据的传...

2018-08-10 16:07:12 847

原创 UART的FIFO功能

UART的FIFO功能2015年09月08日 18:21:23阅读数:5464经常听到UART的FIFO功能,但是从来没有真正使用过和认真思考过它的作用。正好有客户用到这个功能,在这里做个总结。 FIFO 是“First-In First-Out”的缩写,它是一个具有先入先出特点的缓冲区。串口设计FIFO的目的是为了提高串口的通讯性能。如果没有FIFO或者说缓冲区的长度只有1字节,那...

2018-08-10 15:43:01 6028

原创 音频几个很重要的参数

音频几个很重要的参数!采样率:每秒采集数据的次数采样精度:每次采集数据的位数通道数:存在几路音频比特率:针对编码格式,表示压缩编码后每秒的音频数据量大小。音频的帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像。但音频帧跟编码格式相关,它是各个编码标准自己实现的。因为如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样...

2018-08-05 15:57:52 6121 1

转载 SPI 协议

SPI介绍由于SPI(serial peripheral interface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择。SPI是利用4根信号线进行通信的串行接口协议,包括主/从两种模式。4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能信号(cs)。...

2018-07-17 10:32:55 301

转载 SPI 接口配置

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。 SPI相关缩写 SS: Slave Select,选中从设备,片选。CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性 ...

2018-07-17 10:31:52 12980

原创 关于spi的半双工读写和全双工读写的一些理解

关于spi的半双工读写和全双工读写的一些理解2017-06-12 16:35在spidev.c有read write 以及spidev_message函数.分别实现半双工和全双工的功能.不过最后调用的都是spi控制器驱动的transfer函数.例如, atmel_spi_transfer() 【drivers/spi/atmel_spi.c 】那么驱动如何判断应用程序要读还是写呢?简单,判断tx_...

2018-07-07 11:56:48 12376 1

原创 linux kernel 中mdelay() 与msleep()的区别

在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.1.)对于模块本身mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是...

2018-06-28 12:00:20 1760

原创 飞思卡尔烧写工具mfgtools的使用

注意:当时遇到烧录之后各种重启问题,还有system.img 文件同步不过去的原因,都是因为没有加flash刷新&lt;CMD state="Updater" type="push" body="frf"&gt;flush the memory.&lt;/CMD&gt;MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便。但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一...

2018-06-25 17:50:41 4315

原创 Linux驱动调试中的Debugfs的使用简介 CONFIG_DEBUG_FS 的功能与配置

Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14)在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行op...

2018-06-22 19:26:33 23025

转载 LCD常用接口原理

LCD常用接口原理点击打开链接        LCD中常用LVDS信号介绍点击打开链接       DS90CF364 LVDS发送/接收器在RGB液晶屏应用点击打开链接        各种液晶屏接口定义TCON,TTL,LVDS 点击打开链接       LCD中常用LVDS信号介绍点击打开链接       Samung LCD接口原理点击打开链接      LCD与RGB接口点击打开链接点击打...

2018-06-21 15:53:02 4537 2

转载 内核与ramdisk到底是什么关系?

假如把所有驱动/模块都编译进内核(注:即编一个通用的、万能的内核),那自然没问题,但是这样就违背了“内核”的精神或本质,所以一般来说驱动/模块都驻留在根文件系统本身上/lib/modules/xxx,那么“鸡蛋”问题就来了,现在要mount根文件系统却需要根文件系统上的模块文件,怎么办?于是,就想出ramdisk,内核总是能安装ramdisk的(注:这是因为ramdisk临时文件系统和内核一样,也...

2018-06-20 15:21:04 1496

转载 Android编译系统分析五:system.img的生成过程

我们在完整编译android系统的时候,最终会生成几个重要的镜像文件,其中有system.img,userdata.img,ramdisk.img等。这篇文章的目的是分析system.img的生成过程。 回想下我们完整编译android系统时的动作,我们会在android源码顶级目录执行make命令,这样就会完整的编译android系统,我们没有传入任何参数(-jx等加快编译的除外),因为我们没有...

2018-06-20 14:58:25 892

转载 Android编译系统分析四:实战-新增一个产品

通过上一节“android编译系统(三)-make”的分析,初步理清楚了编译初期加载产品相关信息的流程,整个过程主要涉及三个文件:1.AndroidProducts.mk,2.具体产品的配置文件,3.BoardConfig.mk,加上lunch需要的vendorsetup.sh文件,总共只需要四个文件就可以了,所以我们不妨成热打铁,赶紧尝试下如何新增一个产品。因此,android编译系统镜像文件的...

2018-06-20 14:46:27 479

mqtt 中文手册

mqtt 很详细的 中文 手册

2017-06-14

ping 的用法

cmd 中ping 的用法 可以大家好好学习互相交流沟通

2013-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除