<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qinglongzhan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qinglongzhan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qinglongzhan]]></copyright><item><title><![CDATA[CEVA-DSP pingpong设计（第五篇）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/155574020</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/155574020</guid><author>qinglongzhan</author><pubDate>Thu, 04 Dec 2025 16:46:51 +0800</pubDate><description><![CDATA[这段时间自己也写了2个dsp指令开发的算法，理解主要是对运算并行的逻辑，运算复杂度并不意味着耗时就会明显增加，如果并行逻辑设计的好，那么效率一样不会低。]]></description><category></category></item><item><title><![CDATA[CEVA-DSP编程指导（第二篇）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/154725208</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/154725208</guid><author>qinglongzhan</author><pubDate>Wed, 12 Nov 2025 10:33:42 +0800</pubDate><description><![CDATA[这部分需要一定dsp开发经验能更好的理解。简单理解，浮点数就是单精度、双精度的数值表示方法，对应c语言中float，double数据类型定义，一般对应长度32bit、64bit。定点数就是小数点位置在固定位置的数值表示方法，但不是真的有小数点，只是一种说明符号位、整数位和小数位分别占用多少bit的数值表示方法。比如以32为字长的dsp处理器为例，定点式Q15表述在32为中后边15bit表示小数部分，前面17bit表示整数部分和符号位，那么他能表达的取值范围就是。]]></description><category></category></item><item><title><![CDATA[CEVA-DSP开发初识（第一篇）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/154692499</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/154692499</guid><author>qinglongzhan</author><pubDate>Tue, 11 Nov 2025 17:05:46 +0800</pubDate><description><![CDATA[像其他模块，程序控制单元PCU，类似arm的寻址-译码-执行三部曲；内存子系统MSS，内存管理子系统，就不再详细解释了，比较通用。综上，ceva-dsp的指令在设计上，都是按照simd架构并行的思路，可以同时加载、处理、存储多组源操作数和目标操作数，所以能够实现高效。如果编程上，能够使用这些底层指令来构建算法和逻辑，那自然处理算法的速度就会很快，反之，如果在dsp里边，用简单的c语言编程，就无法发挥出dsp硬件资源的优势。]]></description><category></category></item><item><title><![CDATA[stm32 spi接口传输asm330l速率优化(及cpu和dma方式对比)]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/144205798</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/144205798</guid><author>qinglongzhan</author><pubDate>Tue, 03 Dec 2024 11:50:54 +0800</pubDate><description><![CDATA[最近一段时间做了一个mems的项目，项目的方案是stm32g071做主控，读写3颗asm330l的硬件形态。最初是想放置4颗imu芯片，因为pcb空间布局的问题，改放了3颗。但对于软件方案来说无所谓，关键是如何优化spi的传输速率，满足系统采样率1.667khz的帧率要求。因为如此高的采样率，意味着大量的数据传输处理，那么传输速率也需要很快才行。]]></description><category></category></item><item><title><![CDATA[海思Hi3559av100 sdk开发环境搭建]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/142303982</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/142303982</guid><author>qinglongzhan</author><pubDate>Tue, 17 Sep 2024 16:13:17 +0800</pubDate><description><![CDATA[编译完成后从osdrv/tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg：cp ../../../tools/pc/uboot_tools/reg_info.bin .reg。编译完成后，终端出现提示信息：“u-boot-hi3559av100.bin is Ready.”说明已经编译完成，在目录下会生成u-boot-hi3559av100.bin。解压文件：tar -xzf u-boot-2016.11.tgz。]]></description><category></category></item><item><title><![CDATA[美信加串解串芯片开发]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/141016721</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/141016721</guid><author>qinglongzhan</author><pubDate>Thu, 08 Aug 2024 08:50:46 +0800</pubDate><description><![CDATA[调试的平台包括、瑞芯微的rv1126，高通的sa8295p，英伟达的orin-x。最近项目需求，密集的开发了一波加串解串芯片。有相同的需求的博友欢迎沟通，我们一起把美信的限制门槛做低。]]></description><category></category></item><item><title><![CDATA[图像处理：时域、空域、频率的滤波介绍]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/138339383</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/138339383</guid><author>qinglongzhan</author><pubDate>Tue, 30 Apr 2024 11:34:28 +0800</pubDate><description><![CDATA[首先要搞清楚为什么会呈现出不同域的维度，来理解和处理图像，原因是图像的构成有多个维度的信息特点。比如一段视频从时间顺序来看，相邻的2个图像帧绝大部分信息是相同的，这就构成了前向预测的理论基础；比如一帧图像从空间分布来看，矩阵内的像素有着很大的关联性，这就构成了帧内预测的理论基础。简单来说，包括视频处理也好，图像处理也好，感光器件及其光电转换设计也好，都认为视频或者图像在时间和空间上有连续性，也有变动性。当然，如果你想把这个概念拓展到数字信号处理的话，范围就更广泛了。]]></description><category></category></item><item><title><![CDATA[数据结构：内核kfifo的实践]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/137458203</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/137458203</guid><author>qinglongzhan</author><pubDate>Sun, 07 Apr 2024 11:46:48 +0800</pubDate><description><![CDATA[实践了内核的数据结构kfifo记录下，其特点分析看了下这篇博客写的很详细。fifo.c 实现kfifo的主干函数接口，但是很多有用的接口没有扩展，需要的时候再扩展。]]></description><category></category></item><item><title><![CDATA[数据结构：内核list的实践]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/137147341</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/137147341</guid><author>qinglongzhan</author><pubDate>Mon, 01 Apr 2024 18:27:38 +0800</pubDate><description><![CDATA[记录下C语言中数据结构链表的2种方式，其中内核的表达方式可谓是经典。]]></description><category></category></item><item><title><![CDATA[Linux-Prnt2: HPLIP框架概要分析]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/135079482</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/135079482</guid><author>qinglongzhan</author><pubDate>Tue, 19 Dec 2023 13:46:05 +0800</pubDate><description><![CDATA[比较完三者的联系，我们来看看HPLIP源码自身的特点。HPLIP是惠普为 Linux 用户提供单一、统一和多功能的连接解决方案。目标是为消费者和小型企业桌面 Linux 用户提供“极其简单”的打印、传真、扫描、照片卡访问和设备管理。该项目基于开源软件，并使用 GPL 兼容许可证。HPLIP 由几个主要组件组成：应用程序、驱动程序、后端、守护程序和 PPD 文件。HPLIP 旨在与通用 UNIX 打印系统 （CUPS） 后台处理程序系统配合使用。]]></description><category></category></item><item><title><![CDATA[转：PCIe扫盲——PCIe总线基本概念]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134957056</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134957056</guid><author>qinglongzhan</author><pubDate>Tue, 12 Dec 2023 19:25:52 +0800</pubDate><description><![CDATA[在PCIe的Spec中，并没有特别详细的关于Root Complex的定义，从实际的角度来讲，可以把Root Complex理解为CPU与PCIe总线系统通信的媒介。Endpoint处于PCIe总线系统拓扑结构中的最末端，一般作为总线操作的发起者（initiator，类似于PCI总线中的主机）或者终结者（Completers，类似于PCI总线中的从机）。PCIe相对于PCI总线的另一个大的优势是其的Scalable Performance，即可以根据应用的需要来调整PCIe设备的带宽。]]></description><category></category></item><item><title><![CDATA[转：PCIe扫盲-PCIe总线事务层入门（三）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134954206</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134954206</guid><author>qinglongzhan</author><pubDate>Tue, 12 Dec 2023 17:09:08 +0800</pubDate><description><![CDATA[而报告的方式是，接收方向发送方发送Flow Control的DLLP（数据链路层包），且这种DLLP的收发是由硬件层面上自动完成的，并不需要人为的干预。在PCI总线中，发送方在发送前并不知道接收法是否有足够的Buffer来接收数据（即接收方是否就绪），因此经常需要一些Disconnects和Retries的操作，这将会严重地影响到总线的传输效率（性能）。当然也有那些只有一个VC Buffer的，此时不管包的TC值如何，都只能缓存在同一个VC Buffer中，自然也就没有办法保证按优先级传输了。]]></description><category></category></item><item><title><![CDATA[转：PCIe扫盲-PCIe总线事务层入门（二）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134953866</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134953866</guid><author>qinglongzhan</author><pubDate>Tue, 12 Dec 2023 16:59:08 +0800</pubDate><description><![CDATA[Root对读请求的包进行解码后，并从中识别出操作的地址，然后锁存数据，并将数据发送至Endpoint，即包含数据的Completion包，ClpD。需要注意的是，PCIe允许每个包的最大数据量（Max Data Payload）为4KB，但实际上设计者往往会采用较小的Max Payload Size（比如128，256，512，1024和2048）。Locked请求实际上是PCIe为了兼容早期的PCI总线而设置的一种方式，对于非PCI兼容的设计中，是不允许使用Locked操作的。]]></description><category></category></item><item><title><![CDATA[转：PCIe协议好文摘要]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134927338</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134927338</guid><author>qinglongzhan</author><pubDate>Mon, 11 Dec 2023 14:59:47 +0800</pubDate><description><![CDATA[PCIe协议专栏]]></description><category></category></item><item><title><![CDATA[转：PCIe扫盲-PCIe总线事务层入门（一）]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134926734</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134926734</guid><author>qinglongzhan</author><pubDate>Mon, 11 Dec 2023 14:44:32 +0800</pubDate><description><![CDATA[PCIe协议-事务层]]></description><category></category></item><item><title><![CDATA[Linux-Prnt1: 初始Linux系统下打印机插件配套问题]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/134600581</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/134600581</guid><author>qinglongzhan</author><pubDate>Fri, 24 Nov 2023 16:18:00 +0800</pubDate><description><![CDATA[打印机的跨系统跨平台支持]]></description><category></category></item><item><title><![CDATA[常见的噪声：高斯、泊松和椒盐噪声]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/133846518</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/133846518</guid><author>qinglongzhan</author><pubDate>Sun, 15 Oct 2023 20:12:30 +0800</pubDate><description><![CDATA[图像处理常见的噪声总结]]></description><category></category></item><item><title><![CDATA[fscanf/fscanf_s和fgets使用差异]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/133751988</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/133751988</guid><author>qinglongzhan</author><pubDate>Tue, 10 Oct 2023 17:18:18 +0800</pubDate><description><![CDATA[5、fscanf_s和fgets，读取CSV一行数据时，当读取过程中的长度大于一行字节数时，文本一行末尾原有的’\r\n’，会被保留且追加字符串结尾的’\0’，做字符轮询判断的时候，要5、特别注意判定条件的改变。对文本按照格式"%c"、"%d"、"0x%x"、"%f"读取，都可以省略长度值传参，但是，实际上上述使用，第二个实参format约束了固定字节长度。4、fscanf_s的字符串读入使用，效果和fgets相同，fgets默认按照char* 类型做读操作，4、接口的入参明确，更加适合字符串读。]]></description><category></category></item><item><title><![CDATA[转：有效管理微处理器超长启动周期中的看门狗]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/130420601</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/130420601</guid><author>qinglongzhan</author><pubDate>Fri, 28 Apr 2023 10:13:57 +0800</pubDate><description><![CDATA[原理分析：无论何种原因触发复位信号，上电/掉电、按键接地或看门狗溢出，RESET输出0电平，即555电路TRIG引脚的输入信号vi为0电平，由于vi连接至555定时器内部比较器的同相端，该比较器的反相端通过内部分压电路连接到1/3VCC，此时vi<1/3VCC，该比较器输出为0，即内部RS触发器的置1端为0，则RS触发器输出1，OUT引脚输出1，vo为1，模拟开关COM选通到悬空通道NO，看门狗禁止。另外，为保证在程序跑飞时系统可自恢复，在许多对可靠性要求较高的应用中，外置看门狗定时器也是不可或缺的。]]></description><category></category></item><item><title><![CDATA[瑞芯微RK3568开发：GPIO实践篇]]></title><link>https://blog.youkuaiyun.com/qinglongzhan/article/details/129836675</link><guid>https://blog.youkuaiyun.com/qinglongzhan/article/details/129836675</guid><author>qinglongzhan</author><pubDate>Wed, 29 Mar 2023 15:44:50 +0800</pubDate><description><![CDATA[RK3568 GPIO]]></description><category></category></item></channel></rss>