自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 嵌入式音频USB Audio调试2

本文介绍了音频回环测试和立体声测试的实现方法。回环测试通过ALSA库实现边录音边播放功能,使用24位3字节采样格式,采样率48kHz。测试程序通过交叉编译部署到目标板,并配置ALSA环境变量。立体声测试扩展了功能,允许用户通过输入'l'或'r'键将麦克风输入切换到左或右声道输出。两个测试都包含设备初始化、参数配置和音频数据处理循环,使用snd_pcm接口实现实时音频采集和播放功能。测试结果表明系统能够正确实现音频输入输出的同步处理。

2025-11-22 10:07:12 406

原创 嵌入式音频USB Audio调试

文章摘要:本文介绍了USB音频设备驱动的适配过程,包括配置USB控制器为OTG/Host模式、添加UAC设备驱动。详细记录了alsa-lib和alsa-utils的交叉编译步骤,以及音频设备调试方法。通过aplay和arecord命令验证设备识别情况,展示了音频参数获取过程,包括采样格式、通道数、采样率等关键参数,为USB音频设备开发提供了实用参考。

2025-11-21 16:40:21 863

原创 imx586手册和相机寄存器部分解读

0x3247 : binning优先级,0x01表示不binning,0x81表示2 × 2 Adjacent Pixel Binning, QBC HDR , 0x89表示V2H2。0x3246 :binning优先级,0x01表示不binning,0x81表示2 × 2 Adjacent Pixel Binning, QBC HDR , 0x89表示V2H2。因为586内部是按照8 pipeline进行处理的。0x3140 : 0x00 HDR功能选择,0x00 表示不选择,0x04表示选择。

2025-08-25 13:15:57 1682 1

原创 cpp-httplib 测试https功能

证书文件格式有PEM 和 P12(PKCS#12),两种核心功能基本一致,PEM 是文本 ,P12是二进制格式。编译如果报错,现在oepnssl版本为1.1,不想升级openssl。

2025-08-12 10:17:34 534

原创 HSM 代码流程解读

Transition 这个函数是在ProcessStateTransitions时执行。Update 这个函数是在UpdateStates函数执行时执行。OnEnter 这个函数是在每次状态跳转时只要在里面都会执行。OnExit 这个函数是在每次状态跳转退出状态时都会执行。

2025-06-20 13:46:53 279

原创 D720201 PCIE 转USB HUB

通过lspci查看 貌似能识别到这个芯片,但是驱动没加载。

2025-05-09 19:01:45 606 1

原创 内核spi驱动流程图

2. 驱动开发填充两个结构体 XXX_device xxx_driver(spi_driver)3. 定义一个spi_driver,里面包含了device_driver 基类1)在spi_register_driver时,匹配会去执行probe函数2)id_table 和driver结构体中,填充和device匹配的名称设备树解析设备树中的设备(device)是用来描述硬件资源的存在被内核解析,生成一个 struct device_node;再由 platform 总线(或其他总线

2025-04-29 10:15:42 468

原创 CSI D-PHY 散谈

【代码】CSI D-PHY 散谈。

2025-04-22 15:51:42 682

原创 Cypress EZ-USB CX3 适配输出imx586相机

SDK版本: ezusbfx3sdk_1.3.5_Windows_x32-x64.exe。

2025-04-19 09:34:42 1423

原创 xshell 隧道

这么配置是在远程服务器上做了转发功能,所有发送到9999端口的信息都会转发至90本地端口上。在本地启动一个tcp_server,监听90端口。

2024-12-25 10:59:51 458

原创 vpn服务搭建

因为需要一个服务器,所以我免费申请试用阿里云服务器。云服务器作为服务器,本地作为客户端进行通讯测试。修改配置文件,(生成证书使用)

2024-11-27 15:15:44 5002

原创 orin nx安装应用环境

上面运行超时,多执行几次。

2024-11-25 14:24:49 370

原创 orin nx 安装Jetson sdk components

如果nvcc指令找不到,那是路径没指定。在.bashrc中追加下面两条,然后执行source ~/.bashrc。

2024-11-25 11:38:06 694

原创 typec接口 otg功能FUSB301芯片使用

Source(供电端)、Sink(用电端)和 DRP(双重角色,或为供电端,或为用电端,可根据需要随时变换)

2024-11-20 09:57:30 2397 1

原创 swupdate-签名验证

swupdate加密部分具体在中可以查看。

2024-08-31 09:57:54 1028

原创 网络调试几个工具

调试网络常用工具

2024-07-27 16:59:42 471

原创 mongoose之http调试代码

创建一个监听链接,专门用来监听有没有客户端连接。(这里仅仅只是创建一个链接并添加到链接列表中),c->is_listening = 1。并添加了http协议处理回调函数( c->pfn = http_cb)。这个是接收底层数据后,对底层数据进行解析的回调。这是初始化一个mongoose管理结构体,在后面整个程序运行周期中都需要使用。结构体中的struct mg_connection *conns,是链接管理列表,每次有客户端连接都会创建一个id不一样的链接并添加到链接列表中。

2024-07-25 15:00:57 774

原创 组合导航框图

组合导航框图

2024-07-17 14:09:52 169

原创 docker 基本用法及跨平台使用

Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动graphdriver将下载镜像以Graph的形式存储;在Docker中,初始化时也是将 rootfs 以readonly方式加载并检查,然而接下来利用 union mount 的方式将一个 readwrite 文件系统挂载在 readonly 的rootfs之上, 这样一组readonly和一个writeable的结构构成一个container的运行时态, 每一个FS被称作一个FS层。

2024-06-22 15:19:13 1466

原创 制作ubuntu18.04 cuda10.2+ROS1+opencv 4.5.4的 docker镜像

如果要使用老的JETPACK,如上图我们要使用4.6的版本。向ros源中添加ros源地址,并配置公钥,如果rosdep update执行失败,可以尝试多试几次.安装sudo 和 lsb_release工具。

2024-06-14 11:56:30 1250

原创 can设备调试 - linux driver

can控制器调试

2024-05-21 11:19:05 651 1

原创 bmi088-linux驱动(I2C)

截止频率就是能够通过的最大频率,采样频率一般为最大频率的2.56 (截止频率(fc)=采样频率(fs) / 2.56)。1. 通过PS引脚选择通讯协议,上拉引脚则选择的是I2C接口,(CSB1是给SPI片选使用的)。数据宽度:陀螺仪和加速度计都是16bit ,temp sensor是11bit,都是有符号数据。I2C读数据,定义buf[6],buf[0] ->0x12 …2. 上电后陀螺仪在正常模式,加速度传感器 处于抑制模式。在正常工作时,gyro 工作电流为5mA,acc 工作电流为150uA。

2024-05-14 14:00:32 1169

原创 ADS1256-linux驱动

缩略写:

2024-05-06 11:25:22 1587

原创 JOSM -- 使用及画图

将预设组合选项添加到工具栏,所以选中序号1,然后在右框中会出现预设选项序号2,双击序号2,进入选中里面的子选项然后点击序号3完成设置,最后点击OK即可。点表示单个物体,线表示车道和边界线,多边形表示区域。红绿灯属性设置:选中目标->选中预设选项->设置属性->New relation->检查修改确定。停车位属性设置:选中目标->选中预设选项->设置属性->New relation->检查修改确定。人行横道设置:选中目标->选中预设选项->设置属性->New relation->检查修改确定。

2024-02-28 14:41:40 2370 1

原创 STM32F4XX - CAN设置

例如总线上10个节点发隐性位而1个节点发显性位的时候,总线上呈现出的是显性位。隐性电平: 其他 对应的逻辑电平是1。电气连接图如下:(显性电平时逻辑电平为0,隐性电平时逻辑电平为1.具备线与的能力)在线与逻辑关系下,0才具有这种能力(1·1·1·……为什么显性电平对应的逻辑电平值为0,而隐性电平对应的逻辑电平是1?灰色为显性,白色为隐性,浅蓝色表示可以是显性也可以是隐性。因为在总线上,需要令显性位具有“覆盖”隐性位的能力。

2024-02-24 17:32:02 1071

原创 STM32F4XX - ADC设置

/使能ADC1时钟。

2024-02-23 16:30:06 1517

原创 STM32F4XX - uart设置

/Enable the gpio clock //使能GPIO时钟。//Enable the Usart clock //使能USART时钟。

2024-02-23 14:42:24 1105

原创 STM32F4XX - 系统定时器(SysTick)设置

AHB时钟后又经过分频得到APBX的时钟(程序中可设置为2和4等),存储器、DMA以及cortex_m4系统定时器的时钟(可设置为1和8).以上设置都可以根据实际情况进行。SysTick: cortex_m4 核心内置的系统定时器(系统定时器,又名系统嘀嗒定时器). 定时器的设置需要参考cortex_m4的技术文档。ms的延时相对更简单了,先使用实时系统的延时函数vTaskDelay进行ms的延时,然后再使用us的函数接口进行us的延时处理.fac_ms=1000/configTICK_RATE_HZ;

2024-02-23 13:17:17 1083 1

原创 STM32F4XX - GPIO设置

每次开始需要使用gpio引脚,都需要线使能相应GPIO总线时钟。-----------这个时钟看上去是与总线相关(后面看uart adc时会看到,使用外设时还需要使能外设时钟)这个是指定引脚,比如GPIOA组的第几个引脚。设置GPIO模式也就是用途。作为普通gpio时,设置速度为100MHz。设置为上拉,增加驱动能力。

2024-02-22 17:04:53 785

原创 STM32F4XX - 总线时钟设置

系统时钟

2024-02-22 14:55:25 581

原创 网络编程 之 epoll

【代码】网络编程 之 epoll。

2023-01-31 11:38:17 476

原创 工程管理方式之小技巧,小知识

工程管理工具之小知识和小技巧

2023-01-30 13:12:07 504

原创 zynq7020使用hdl库

使用环境:ubuntu18.04vivado2019.2ZYNQ7020adau1761由于zynq7020使用ADAU1761需要使用hdl库里的axi_i2s_adi ip核.切到这个仓库分支版本的最高分支remotes/origin/hdl_2019_r2. 申明vivado2019.2环境变量.source /opt/vivado2019.2/Vivado/2019.2/settings64.sh进入到工程目录hdl/projects/adv7511/zc702,然后直接mak

2021-10-14 10:22:13 907

原创 驱动调试接口-debugfs

创建目录spidev->root_dir = debugfs_create_dir(SPIDEV, NULL);在目录下创建文件节点 spidev->debug_level = debugfs_create_file("debug_level", 0664, spidev->root_dir, spidev, &debug_level_ops); if (spidev->debug.

2021-09-27 14:19:20 212

原创 设备驱动篇-1

注册字符设备register_chrdev(SPIDEV_MAJOR, "spi", &spidev_fops);这个注册字符设备方式会连续注册0~255个次设备号,使它们绑定在同一个file_operations操作方法结构体上,在大多数情况下,都只用极少的次设备号,所以会浪费很多资源.创建类class_create(THIS_MODULE, HOBOT_SPIDEV);找到一个空闲的次设备号find_first_zero_bit(minors, N_SPI_MINOR.

2021-09-27 11:10:08 178

原创 正则表达式

local chip_reg='^CONFIG__[R,P][X,V,K][0-9ESX]{1,5}'^表示匹配每行的开头.[]表示其中的任何一个字母{}表示匹配1到5次.如上可以是 # - PX30, PX3SE # - RK????, RK????X # - RV????

2021-09-10 09:25:38 137

原创 交叉编译opencv4.0.0

opencv4.0.0下载链接地址mkdir buildcmake-guicmake …/make错误1:/home/zw/swap/opencv/3399opencv/opencv-4.0.0/3rdparty/protobuf/src/google/protobuf/stubs/common.cc:52:2: error: #error "No suitable threading library available." #error "No suitable thr

2021-09-09 17:24:17 456

原创 shell脚本小技巧

PARA_ARGS=$(getopt -o c:v:k:e:E:hb:f:d:r:u:m:t:a:o:p:s:g:x:lqFi::I --long selinux, -- "$@")获取参数 $@代表目标eval set -- "${PARA_ARGS}"将参数设置为输入参数while true; do case "$1" in --selinux)将输入参数的第一个做循环处理.可以参考链接eval set用法例子...

2021-09-01 16:27:36 370

原创 docker命令记录

当本地有docker镜像,查看有哪些镜像时.rd@rd-virtual-machine:~/docker_dir$ sudo docker images -a[sudo] rd 的密码: REPOSITORY TAG IMAGE ID CREATED SIZExilinx/petalinux2019.2 v1.1 45d049202a9b 19 minutes ago 17.8GBxilinx/peta.

2021-05-18 16:56:03 133

原创 g++和gcc编译工具编译文件区别

三个测试文件加一个Makefile文件mian.c#include <iostream>#include "test.h" int main(int argc, char *argv[]){ int fd; process(fd); processcplus(fd); }test.c#include <stdi

2021-05-14 13:12:00 248 1

cx3 imx586 FHD分辨率以及640*480分辨率工程

支持usb2.0 以及usb3.0

2025-04-22

CX3-imx586 工程资源

可以实现usb2.0 ,imx586 640*480 30hz , raw10 raw8出图

2025-04-19

主机端通过pcie 给upd72020x 芯片烧写固件代码

主机端通过pcie 给upd72020x 芯片烧写固件代码

2025-02-07

bmi088 linux驱动及应用测试程序

bmi088 linux驱动及应用测试程序

2024-05-15

ads1256 linux 驱动

ads1256 linux 驱动

2024-05-14

空空如也

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

TA关注的人

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