当前位置: 首页 > news >正文

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图。

1:内核dts修改

&csi_dphy0 {

status = "okay";

ports {

#address-cells = <1>;

#size-cells = <0>;

port@0 {

reg = <0>;

#address-cells = <1>;

#size-cells = <0>;

mipi_in_ucam0: endpoint@1 {

reg = <1>;

remote-endpoint = <&ucam_out0>;

data-lanes = <1 2 3 4>;

};

};

port@1 {

reg = <1>;

#address-cells = <1>;

#size-cells = <0>;

csidphy0_out: endpoint@0 {

reg = <0>;

remote-endpoint = <&mipi_csi2_input>;

};

};

};

};

&i2c1 {

status = "okay";

clock-frequency = <400000>;

imx415: imx415@1a {

compatible = "sony,imx415";

reg = <0x1a>;

clocks = <&cru CLK_MIPICSI_OUT>;

clock-names = "xvclk";

power-domains = <&power RV1126_PD_VI>;

pinctrl-names = "rockchip,camera_default";

pinctrl-0 = <&mipicsi_clk0>;

avdd-supply = <&vcc3v3_sys>;

dovdd-supply = <&vcc_1v8>;

dvdd-supply = <&vcc_dvdd>;

/* reset is always pulled high in v10 */

reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;

rockchip,camera-module-index = <1>;

rockchip,camera-module-facing = "front";

rockchip,camera-module-name = "YT10092";

rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";

ir-cut = <&cam_ircut0>;

flash-leds = <&flash_ir>;

port {

ucam_out0: endpoint {

remote-endpoint = <&mipi_in_ucam0>;

data-lanes = <1 2 3 4>;

};

};

};

};

2:Makefile修改

obj-$(CONFIG_VIDEO_IMX415)+= imx415.o

3:Kconfig修改

config VIDEO_IMX415

4:驱动对应的宏开关打开

以上修改后,重新编译内核。重新总体编译。

5:单板启动注册成功

[root@RV1126_RV1109:/]

Media controllerAPI version 4.19.111

Media deviceinformation

------------------------

driver rkcif

model rkcif_mipi_lvds

serial

bus info

hw revision 0x0

driverversion 4.19.111

Device topology

- entity 1:stream_cif_mipi_id0 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video0

pad0: Sink

<-"rockchip-mipi-csi2":1 [ENABLED]

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 []

- entity 5:stream_cif_mipi_id1 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video1

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2[ENABLED]

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 []

- entity 9:stream_cif_mipi_id2 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video2

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 [ENABLED]

<-"rockchip-mipi-csi2":4 []

- entity 13:stream_cif_mipi_id3 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video3

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 [ENABLED]

- entity 17:rockchip-mipi-csi2 (5 pads, 17 links)

type V4L2 subdev subtype Unknownflags 0

device node name /dev/v4l-subdev1

pad0: Sink

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

<-"rockchip-mipi-dphy-rx":1 [ENABLED]

pad1: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 [ENABLED]

->"stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 []

pad2: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

-> "stream_cif_mipi_id0":0 []

->"stream_cif_mipi_id1":0 [ENABLED]

->"stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 []

pad3: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 []

->"stream_cif_mipi_id1":0 []

->"stream_cif_mipi_id2":0 [ENABLED]

-> "stream_cif_mipi_id3":0[]

pad4: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0[]

->"stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 [ENABLED]

- entity 23:rockchip-mipi-dphy-rx (2 pads, 2 links)

type V4L2 subdev subtype Unknownflags 0

device node name /dev/v4l-subdev2

pad0: Sink

[fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none

crop.bounds:(12,16)/3840x2160]

<- "m01_f_imx4151-001a":0 [ENABLED]

pad1: Source

[fmt:SGBRG10_1X10/3864x2192@10000/300000field:none

crop.bounds:(12,16)/3840x2160]

->"rockchip-mipi-csi2":0 [ENABLED]

- entity 28:rkcif-mipi-luma (0 pad, 0 link)

type Node subtype V4L flags 0

device node name /dev/video4

- entity 31:m01_f_imx415 1-001a (1 pad, 1 link)

type V4L2 subdev subtype Sensorflags 0

device node name /dev/v4l-subdev3

pad0: Source

[fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none

crop.bounds:(12,16)/3840x2160]

->"rockchip-mipi-dphy-rx":0 [ENABLED]

- entity 35:m01_f_ircut (0 pad, 0 link)

type V4L2 subdev subtype Lens flags1

device node name /dev/v4l-subdev4

[root@RV1126_RV1109:/]#

ioctl:VIDIOC_ENUM_FMT

Type: Video Capture Multiplanar

[0]: 'NV16' (Y/CbCr 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[1]: 'NV61' (Y/CrCb 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[2]: 'NV12' (Y/CbCr 4:2:0)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[3]: 'NV21' (Y/CrCb 4:2:0)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[4]: 'YUYV' (YUYV 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[5]: 'YVYU' (YVYU 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[6]: 'UYVY' (UYVY 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[7]: 'VYUY' (VYUY 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[8]: 'RGB3' (24-bit RGB 8-8-8)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[9]: 'RGBP' (16-bit RGB 5-6-5)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[10]: 'BGRH' (18-bit BGRX 6-6-6-14)

Size: Stepwise 64x64 - 3864x2192 withstep 8/8

[11]: 'RGGB' (8-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[12]: 'GRBG' (8-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[13]: 'GBRG' (8-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[14]: 'BA81' (8-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[15]: 'RG10' (10-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[16]: 'BA10' (10-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[17]: 'GB10' (10-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[18]: 'BG10' (10-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[19]: 'RG12' (12-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[20]: 'BA12' (12-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[21]: 'GB12' (12-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[22]: 'BG12' (12-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[23]: 'BYR2' (16-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[24]: 'Y16 ' (16-bit Greyscale)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[25]: 'GREY' (8-bit Greyscale)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[26]: 'EBD8' (Embedded data 8-bit,compressed)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[27]: 'SPD6' (Shield pix data 16-bit,compressed)

Size: Stepwise 64x64 -3864x2192 with step 8/8

6:v4l2抓图成功

[root@RV1126_RV1109:/]#v4l2-ctl -d /dev/video0 --set-fmt-video=width=3840,heigh

t=2160,pixelformat=SGBRG10_1X10\--stream-mmap=3 \--stream-skip=3 \--stream-to=/

tmp/cif888.out\--stream-count=1 \--stream-poll

[ 216.222320] rkcif_mipi_lvds: stream[0] startstreaming

[ 216.222446] rockchip-mipi-csi2ffb10000.mipi-csi2: stream on, src_sd: d2dfee3b, sd_name:rockchip-mipi-dphy-rx

[ 216.222457] rockchip-mipi-csi2ffb10000.mipi-csi2: stream ON

[ 216.222484] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:1

[ 216.222500] rockchip-mipi-dphy-rx:data_rate_mbps 892

[ 216.223557] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:1

<<<[ 216.473292] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.506625] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.539958] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.573304] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.606626] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.639971] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.673278] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.706639] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.739943] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.773291] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.806637] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.839973] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.873305] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.906639] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.939971] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.973304] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

<[ 216.987827] rkcif_mipi_lvds: stream[0] startstopping

[ 217.006837] rockchip-mipi-csi2ffb10000.mipi-csi2: stream off, src_sd: d2dfee3b, sd_name:rockchip-mipi-dphy-rx

[ 217.006906] rockchip-mipi-csi2ffb10000.mipi-csi2: stream OFF

[ 217.006944] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:0

[ 217.008102] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:0

[ 217.009920] rkcif_mipi_lvds: stream[0]stopping finished

7:抓图文件查看

[root@RV1126_RV1109:/tmp]#ls -l

total 16512

drwxr-xr-x 2 avahiavahi 40 Jan 1 00:00 avahi-autoipd

-rw-r--r-- 1root root 16588800 Jan 1 00:03 cif888.out

-rw-r--r-- 1root root 66024 Jan 1 00:00 cl_viv_vx_ext.h

drwxr-xr-x 2root root 60 Jan 1 00:00 dbus

-rw-r--r-- 1root root 0 Jan 1 00:00 dnsmasq.leases

---------- 1root root 6 Jan 1 00:00 loglevel

-rw-r--r-- 1root root 25687 Jan 1 00:04 messages

-rw-r--r-- 1root root 204896 Jan 1 00:03 messages.0

-rw-r--r-- 1root root 1349 Jan 1 00:00 mountall.log

drwxr-xr-x 7root root 180 Jan 1 00:00 nginx

-rw-r--r-- 1root root 55 Jan 1 00:00 resolv.conf

drwxr-xr-x 2root root 60 Jan 1 00:00 subsys

drwx------ 2root root 40 Jan 1 00:00 tmp.4soNzzu8dM

8:至此驱动调试完成,欢迎讨论交流

相关文章:

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图

RV1126新增驱动IMX415 SENSOR&#xff0c;实现v4l2抓图。1&#xff1a;内核dts修改&csi_dphy0 {status "okay";ports {#address-cells <1>;#size-cells <0>;port0 {reg <0>;#address-cells <1>;#size-cells <0>;mipi_in_uca…...

Hive 数据倾斜

数据倾斜&#xff0c;即单个节点任务所处理的数据量远大于同类型任务所处理的数据量&#xff0c;导致该节点成为整个作业的瓶颈&#xff0c;这是分布式系统不可能避免的问题。从本质来说&#xff0c;导致数据倾斜有两种原因&#xff0c;一是任务读取大文件&#xff0c;二是任务…...

2月刚上岸字节跳动测试岗面经

这时候发应该还不算太晚&#xff0c;金三银四找工作的小伙伴需要的可以看看。 一、测试工程师的工作是什么&#xff1f; 测试工程师简单点说就是找bug&#xff0c;然后反馈给开发人员&#xff0c;不要小看这个工作。 首先很明显的bug开发人员有时候自己就能找到&#xff0c;测…...

图解KMP算法

子串的定位操作通常称作串的模式匹配。你可以理解为在一篇英语文章中查找某个单词是否存在&#xff0c;或者说在一个主串中寻找某子串是否存在。朴素的模式匹配算法假设我们要从下面的主串S "goodgoogle" 中&#xff0c;找到T "google" 这个子串的位置。…...

Java Map和Set

目录1. 二叉排序树(二叉搜索树)1.1 二叉搜索树的查找1.2 二叉搜索树的插入1.3 二叉搜索树的删除&#xff08;7种情况&#xff09;1.4 二叉搜索树和TreeMap、TreeSet的关系2. Map和Set的区别与联系2.1 从接口框架的角度分析2.2 从存储的模型角度分析【2种模型】3. 关于Map3.1 Ma…...

【C/C++ 数据结构】-八大排序之 冒泡排序快速排序

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C数据结构与算法】 分享&#xff1a;那我便像你一样&#xff0c;永远躲在水面之下&#xff0c;面具之后&#xff01; ——《画江湖之不良人》 主要内容&#xff1a;八大排序选…...

苹果ipa软件下载网站和软件的汇总

随着时间的流逝&#xff0c;做苹果版软件安装包下载网站和软件的渐渐多了起来。 当然&#xff0c;已经关站、停运、下架、倒闭的苹果软件下载网站和软件我就不说了&#xff0c;也不必多说那些关站停运下架倒闭的网站和软件了。 下面我统计介绍的就是苹果软件安装包下载网站和软…...

深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)

文章目录膨胀卷积为什么需要膨胀卷积gridding effect连续使用三次膨胀卷积——1连续使用三次膨胀卷积——2连续使用三次膨胀卷积——3Understanding Convolution for Semantic Segmentation膨胀卷积 膨胀卷积&#xff0c;又叫空洞卷积。 左边是普通卷积&#xff0c;右边是膨胀…...

【10】SCI易中期刊推荐——工程技术-计算机:人工智能(中科院2区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…...

模电计算反馈系数,有时候转化为计算电阻分压的问题

模电计算反馈系数&#xff0c;有时候转化为计算电阻分压的问题 如果是电压反馈&#xff0c;F的除数是Uo 如果是电流反馈&#xff0c;F的除数是Io 串联反馈&#xff0c;F的分子是Uf 并联反馈&#xff0c;F的分子是If 点个赞呗&#xff0c;大家一起加油学习&#xff01;...

专治Java底子差,不要再认为泛型就是一对尖括号了

文章目录一、泛型1.1 泛型概述1.2 集合泛型的使用1.2.1 未使用泛型1.2.2 使用泛型1.3 泛型类1.3.1 泛型类的使用1.2.2 泛型类的继承1.4 泛型方法1.5 泛型通配符1.5.1 通配符的使用1&#xff09;参数列表带有泛型2&#xff09;泛型通配符1.5.2 泛型上下边界1.6 泛型的擦除1.6.1 …...

PayPal轮询收款的那些事儿

想必做跨境电商独立站的小伙伴&#xff0c;对于PayPal是再熟悉不过了&#xff0c;PayPal是一个跨国际贸易的支付平台&#xff0c;对于做独立站的朋友来说跨境收款绝大部分都是依赖PayPal以及Stripe条纹了。简单来说PayPal跟国内的支付宝有点类似&#xff0c;但是PayPal它是跨国…...

【Linux】项目自动化构建工具——make/Makefile

目录 1.make与Makefile的关系 Makefile make 项目清理 clean .PHONY 当我们编写一个较大的软件项目时&#xff0c;通常需要将多个源文件编译成可执行程序或库文件。为了简化这个过程&#xff0c;我们可以使用 make 工具和 Makefile 文件。Makefile 文件可以帮助我们自动…...

成本降低90%,OpenAI正式开放ChαtGΡΤ

今天凌晨&#xff0c;OpenAI官方发布ChαtGΡΤ和Whisper的接囗&#xff0c;开发人员现在可以通过API使用最新的文本生成和语音转文本功能。OpenAI称&#xff1a;通过一系列系统级优化&#xff0c;自去年12月以来&#xff0c;ChαtGΡΤ的成本降低了90%&#xff1b;现在OpenAI用…...

hls.js如何播放m3u8文件(实例)?

HLS&#xff08;HTTP Live Streaming&#xff09;是一种视频流传输协议&#xff0c;是苹果推出的适用于iOS与macOS平台的流媒体传输协议。它将视频分割成若干个小段&#xff0c;每个小段大小一般为2~10秒不等&#xff0c;并通过HTTP协议进行传输。通过在每个小段之间插入若干秒…...

大数据平台建设方法论集合

文章目录从0到1建设大数据解决方案大数据集群的方法论数据集成方法论机器学习算法平台方法论BI建设的方法论云原生大数据的方法论低代码数据中台的方法论大数据SRE运维方法论批流一体化建设的方法论数据治理的方法论湖仓一体化建设的方法论数据分析挖掘方法论数字化转型方法论数…...

25- 卷积神经网络(CNN)原理 (TensorFlow系列) (深度学习)

知识要点 卷积神经网络的几个主要结构: 卷积层&#xff08;Convolutions&#xff09;: Valid :不填充&#xff0c;也就是最终大小为卷积后的大小. Same&#xff1a;输出大小与原图大小一致&#xff0c;那么N ​变成了​N2P. padding-零填充. 池化层&#xff08;Subsampli…...

把数组里面数值排成最小的数

问题描述&#xff1a;输入一个正整数数组&#xff0c;将它们连接起来排成一个数&#xff0c;输出能排出的所有数字中最小的一个。例如输入数组{12, 567}&#xff0c;则输出这两个能排成的最小数字12567。请给出解决问题的算法&#xff0c;并证明该算法。 思路&#xff1a;先将…...

云his系统源码 SaaS应用 基于Angular+Nginx+Java+Spring开发

云his系统源码 SaaS应用 功能易扩 统一对外接口管理 一、系统概述&#xff1a; 本套云HIS系统采用主流成熟技术开发&#xff0c;软件结构简洁、代码规范易阅读&#xff0c;SaaS应用&#xff0c;全浏览器访问前后端分离&#xff0c;多服务协同&#xff0c;服务可拆分&#xff…...

小红书场景营销怎么做?场景营销主要模式有哪些

小红书作为新兴媒体领域的佼佼者&#xff0c;凭借着生动&#xff0c;直观&#xff0c;代入感等元素的分享推荐收揽了巨额的流量。但是&#xff0c;随着时代的脚步逐渐加快&#xff0c;发展和变革随之涌来&#xff0c;传统的营销已经无法满足。所以场景营销就出现了。今天就来和…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据&#xff0c;随后读取数据&#xff0c;通过ReportLab生成横向PDF表格&#xff0c;包含格式化&#xff08;两位小数&#xff09;及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...

window 显示驱动开发-如何查询视频处理功能(三)

​D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针&#xff0c;该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...