自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 APP寄存器和FPGA寄存器的值的区别

FPGA寄存器:需通过总线协议(如AXI、PCIe)跨硬件/软件接口访问,微秒级延迟。APP寄存器:位于软件层(如CPU内存或应用进程空间),由操作系统或应用程序管理。FPGA寄存器:实现硬件逻辑(如状态机、数据流水线)、配置外设或存储实时信号。FPGA寄存器:位于硬件层(FPGA逻辑单元中),直接映射到物理电路。APP寄存器:临时存储计算中间结果或程序状态(如变量、函数参数)。APP寄存器:通过软件指令(如MOV)直接读写,纳秒级延迟。FPGA寄存器:受时钟边沿触发,更新与硬件时钟同步。

2025-03-27 13:47:21 181

原创 网口调试工具

1. 建议将这种调试日志放在关键逻辑分支/寄存器操作前后 2. `__func__` 和 `__LINE__` 能快速定位日志位置 3. 注意输出格式统一(建议保持现有的 `函数名 行号:` 前置格式) 4. 寄存器值推荐同时输出十六进制和十进制形式。

2025-03-26 14:44:01 129

原创 GenICam与GVCP和 GVSP

相机通用接口(Generic Interface for Cameras)是一个标准,旨在为各种工业相机提供统一的接口和配置方法。GenICam 由欧洲机器视觉协会制定,广泛应用于机器视觉和工业成像领域。

2025-03-25 14:19:22 197

原创 ARM 汇编基础详解

ARM 架构最初由英国的 Acorn 计算机公司研发,其前身是用于 BBC Micro 计算机的处理器。随着技术的不断发展,ARM 架构凭借其卓越的特性,逐渐在嵌入式系统、移动设备等领域占据主导地位。ARM 架构采用精简指令集(RISC)设计理念,与复杂指令集(CISC)架构相比,指令长度固定,指令格式种类少,这使得处理器的设计更为简单高效,能够在较低的功耗下实现较高的性能。例如,在移动设备中,ARM 处理器的低功耗特性可显著延长设备的电池续航时间,满足用户对长时间使用的需求。

2025-03-03 15:47:07 948

原创 CMake 与 CMakeLists.txt

代码到可执行文件的整体流程:详细解释各步骤1. CMake 与 CMakeLists.txt2. Makefile为什么要用CMakeLists.txt

2025-02-26 10:42:51 327

原创 linux线程同步

对互斥锁进行上锁之后,任何其它试图再次对互斥锁进行加锁的线程都会被阻塞,直到当前线程释放互斥锁。比如满足条件时,调用pthread_cond_wait:这个线程调用此函数会自动释放持有的互斥锁 mutex,并进入等待状态,进而去实现另一个线程。当处于写加锁状态时,在这个锁被解锁之前,所有试图对这个锁进行加锁操作(不管是以读模式加锁还是以写模式加锁) 的线程都会被阻塞。这个状态里只有对变量进行读操作,不改变变量并不会有冲突。:一个线程试图对同一个互斥锁加锁两次,该线程会陷入死锁状态,一直被阻塞永远出不来。

2025-02-20 16:10:54 156

原创 文件IO和标准IO

IO

2025-02-12 17:28:22 136

原创 进程和线程

线程池的核心原理是在程序启动时预先创建一定数量的线程,当有新的任务到来时,从线程池中取出一个空闲线程来执行该任务。任务执行完成后,线程不会被销毁,而是返回线程池继续等待下一个任务,从而实现线程的复用。是一种多线程处理模式,它预先创建一定数量的线程,并将这些线程组织在一起形成一个池,用于执行多个任务。多个进程可以在不同的 CPU 核心上并行执行,但进程间的上下文切换会消耗一定的时间和资源。多个线程可以在同一个进程内并发执行,充分利用 CPU 的时间片,提高程序的执行效率。

2025-02-12 17:25:33 109

原创 STM32寄存器

在 GPIOB 的端口输入寄存器(GPIOB_IDR)中,每个引脚对应一个位。PB3 引脚对应寄存器中的第 3 位(从右往左数,最低位为第 0 位)。而这个寄存器的位数是32位(虽然高16位没有用到),这就是32位的单片机的意思。(STM32给不同的寄存器分配了不同的地址,有点像划分了片区,不同相关功能寄存器在不同片区。,所有GPIOB相关的寄存器,都住在0x4001 0C00到0x4001 0FFF范围内。需要某些功能的时候,就要操作这个寄存器硬件的对应位。,所以 GPIOB 的端口输入寄存器地址为。

2025-02-10 17:17:20 170

原创 FreeRTOS 中钩子函数的作用

能监测系统运行状态,如通过空闲任务钩子函数统计空闲时间、用 Tick 钩子函数记录运行时间;还能借助栈溢出钩子函数检测并处理栈溢出错误,记录信息(就是记录运行的信息和错误之类的)应该是放在 FreeRTOS 的各种入口函数里被调用。

2025-01-24 10:49:04 193

原创 机器视觉笔记

FX3 是 USB 3.0 外设控制器,为设备与主机间提供高速数据传输,可在 FPGA 与 USB 接口之间起桥梁作用。FPGA 处理完数据后,可将并行数据通过接口传给 FX3,FX3 再将数据打包成 USB 3.0 协议的数据包,通过 USB 标准接口对外传输。反之,外部设备通过 USB 发送给 FX3 的数据,FX3 也可通过特定接口传给 FPGA。

2025-01-23 18:56:34 291

原创 FPGA, RISC-V ,C语言程序的关系

这些机器码能在 RISC - V 处理器上运行,所以 RISC - V 为 C 语言程序的运行提供了硬件执行基础。借助 FPGA 的调试工具和开发环境,能进行软硬件协同调试,确保 C 语言程序在基于 FPGA 实现的 RISC - V 处理器上正确运行。:FPGA 具有可重构性,开发者能在 FPGA 上实现基于 RISC - V 指令集的处理器软核。:在产品开发初期,使用 FPGA 实现 RISC - V 处理器,然后运行 C 语言编写的程序,可快速搭建起一个包含处理器和周边硬件的系统原型。

2025-01-23 17:56:25 201

空空如也

空空如也

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

TA关注的人

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