20240629在飞凌开发板OK3588-C上使用Rockchip原厂的SDK跑通I2C扩展GPIO芯片TCA6424ARGJRR

20240629在飞凌开发板OK3588-C上使用Rockchip原厂的SDK跑通I2C扩展GPIO芯片TCA6424ARGJRR
2024/6/29 18:02


1、替换DTS了:
Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel/arch/arm64/boot/dts/rockchip$ ll
total 1244
drwx------  2 viewpro viewpro   4096 6月  29 18:12 ./
drwxrwxr-x 34 viewpro viewpro   4096 6月  29 17:15 ../
-rw-rw-r--  1 viewpro viewpro   3917 12月 21  2023 FET3588-C.dtsi
-rw-rw-r--  1 viewpro viewpro   7758 12月 21  2023 Makefile
-rw-rw-r--  1 viewpro viewpro  14850 12月 21  2023 OK3588-C-Camera.dtsi
-rw-rw-r--  1 viewpro viewpro  32947 12月 21  2023 OK3588-C-common.dtsi
-rw-rw-r--  1 viewpro viewpro   2363 12月 21  2023 OK3588-C-Linux.dts
-rw-rw-r--  1 viewpro viewpro 246717 5月  24 17:56 OK3588-C-Linux.dump.dts
-rw-rw-r--  1 viewpro viewpro  27858 12月 21  2023 rk3588.dtsi
-rw-rw-r--  1 viewpro viewpro 280681 6月  29 18:12 rk3588-evb7-v11-linux.dtb
-rw-rw-r--  1 viewpro viewpro   3061 6月  29 18:12 .rk3588-evb7-v11-linux.dtb.cmd
-rw-rw-r--  1 viewpro viewpro    120 6月  29 18:12 .rk3588-evb7-v11-linux.dtb.d.dtc.tmp
-rw-rw-r--  1 viewpro viewpro   1693 6月  29 18:12 .rk3588-evb7-v11-linux.dtb.d.pre.tmp
-rw-rw-r--  1 viewpro viewpro 326518 6月  29 18:12 .rk3588-evb7-v11-linux.dtb.dts.tmp
-rwx------  1 viewpro viewpro   2363 6月  21 11:40 rk3588-evb7-v11-linux.dts*
-rw-rw-r--  1 viewpro viewpro   9573 12月 21  2023 rk3588-rk806-single.dtsi
-rw-rw-r--  1 viewpro viewpro 185703 12月 21  2023 rk3588s.dtsi
-rw-rw-r--  1 viewpro viewpro  67505 12月 21  2023 rk3588s-pinctrl.dtsi
-rw-rw-r--  1 viewpro viewpro   9865 12月 21  2023 rk3588-vccio3-pinctrl.dtsi
-rw-rw-r--  1 viewpro viewpro   7448 12月 21  2023 rockchip-pinconf.dtsi

viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel/arch/arm64/boot/dts/rockchip$ 


确认驱动没有加载好:没有找到gpiochip485!
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
Display all 910 possibilities? (y or n)^C
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# cd /sys/class/gpio/
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# ls -l
total 0
--w------- 1 root root 4096 Jan  1 00:00 export
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/platform/pinctrl/fd8a0000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip128 -> ../../devices/platform/pinctrl/fec50000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip32 -> ../../devices/platform/pinctrl/fec20000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip509 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk806-pinctrl.0.auto/gpio/gpiochip509
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip64 -> ../../devices/platform/pinctrl/fec30000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip96 -> ../../devices/platform/pinctrl/fec40000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Jan  1 00:00 unexport
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# echo 508 > export 
[  297.960946] export_store: invalid GPIO 508
sh: echo: write error: Invalid argument
root@rk3588-buildroot:/sys/class/gpio# 

root@rk3588-buildroot:/sys/class/gpio# 


Z:\repo_RK3588_Buildroot20240508\kernel\include\dt-bindings\pinctrl\rockchip.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Header providing constants for Rockchip pinctrl bindings.
 *
 * Copyright (c) 2013 MundoReader S.L.
 * Author: Heiko Stuebner <heiko@sntech.de>
 */

#ifndef __DT_BINDINGS_ROCKCHIP_PINCTRL_H__
#define __DT_BINDINGS_ROCKCHIP_PINCTRL_H__

#define RK_PA0        0
#define RK_PA1        1
#define RK_PA2        2
#define RK_PA3        3
#define RK_PA4        4
#define RK_PA5        5
#define RK_PA6        6
#define RK_PA7        7
#define RK_PB0        8
#define RK_PB1        9
#define RK_PB2        10
#define RK_PB3        11
#define RK_PB4        12
#define RK_PB5        13
#define RK_PB6        14
#define RK_PB7        15
#define RK_PC0        16
#define RK_PC1        17
#define RK_PC2        18
#define RK_PC3        19
#define RK_PC4        20
#define RK_PC5        21
#define RK_PC6        22
#define RK_PC7        23
#define RK_PD0        24
#define RK_PD1        25
#define RK_PD2        26
#define RK_PD3        27
#define RK_PD4        28
#define RK_PD5        29
#define RK_PD6        30
#define RK_PD7        31

#define RK_FUNC_GPIO    0

#define    EXTIO_GPIO_P00    0
#define    EXTIO_GPIO_P01    1
#define    EXTIO_GPIO_P02    2
#define    EXTIO_GPIO_P03    3
#define    EXTIO_GPIO_P04    4
#define    EXTIO_GPIO_P05    5
#define    EXTIO_GPIO_P06    6
#define    EXTIO_GPIO_P07    7
#define    EXTIO_GPIO_P10    8
#define    EXTIO_GPIO_P11    9
#define    EXTIO_GPIO_P12    10
#define    EXTIO_GPIO_P13    11
#define    EXTIO_GPIO_P14    12
#define    EXTIO_GPIO_P15    13
#define    EXTIO_GPIO_P16    14
#define    EXTIO_GPIO_P17    15
#define    EXTIO_GPIO_P20    16
#define    EXTIO_GPIO_P21    17
#define    EXTIO_GPIO_P22    18
#define    EXTIO_GPIO_P23    19
#define    EXTIO_GPIO_P24    20
#define    EXTIO_GPIO_P25    21
#define    EXTIO_GPIO_P26    22
#define    EXTIO_GPIO_P27    23

#endif


2、更新驱动的部分:
Z:\repo_RK3588_Buildroot20240508\kernel\.config
#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_AW9110 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_NCA9539 is not set
CONFIG_GPIO_PCA953X=y
# CONFIG_GPIO_PCA953X_IRQ is not set

# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders


CONFIG_GPIO_ROCKCHIP=y
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_SYSCON=y
# CONFIG_GPIO_XGENE is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_AW9110 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_NCA9539 is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
# CONFIG_GPIO_TPS6586X is not set
# end of MFD GPIO expanders


【相关的驱动部分:】
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel/arch/arm64/configs$ grep CONFIG_GPIO_SYSCON . -R
./rockchip_defconfig:CONFIG_GPIO_SYSCON=y
./rockchip_linux_defconfig:CONFIG_GPIO_SYSCON=y
viewpro@viewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508/kernel/arch/arm64/configs$ 

Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\configs\rk3588_linux.config

# CONFIG_BCMDHD_SDIO=y is not set
CONFIG_BCMDHD_PCIE=y
CONFIG_MALI_CSF_SUPPORT=y
CONFIG_GPIO_PCA953X=y


Z:\repo_RK3588_Buildroot20240508\kernel\drivers\gpio\gpio-pca953x.c

【这里不要动了,强制修改的!】
Z:\repo_RK3588_Buildroot20240508\kernel\drivers\gpio\Makefile

obj-$(CONFIG_GPIO_MXC)            += gpio-mxc.o
obj-$(CONFIG_GPIO_MXS)            += gpio-mxs.o
obj-$(CONFIG_GPIO_NCA9539)        += gpio-nca9539.o
obj-$(CONFIG_GPIO_OCTEON)        += gpio-octeon.o
obj-$(CONFIG_GPIO_OMAP)            += gpio-omap.o
obj-$(CONFIG_GPIO_PALMAS)        += gpio-palmas.o
#obj-$(CONFIG_GPIO_PCA953X)        += gpio-pca953x.o
obj-y        += gpio-pca953x.o

obj-$(CONFIG_GPIO_PCA9570)        += gpio-pca9570.o
obj-$(CONFIG_GPIO_PCF857X)        += gpio-pcf857x.o
obj-$(CONFIG_GPIO_PCH)            += gpio-pch.o


确认的LOG:
高:3.299V
低:0.001V

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# cd /sys/class/gpio/
root@rk3588-buildroot:/sys/class/gpio# ls -l
total 0
--w------- 1 root root 4096 Jan  1 00:00 export
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/platform/pinctrl/fd8a0000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip128 -> ../../devices/platform/pinctrl/fec50000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip32 -> ../../devices/platform/pinctrl/fec20000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip485 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpio/gpiochip485
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip509 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk806-pinctrl.0.auto/gpio/gpiochip509
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip64 -> ../../devices/platform/pinctrl/fec30000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip96 -> ../../devices/platform/pinctrl/fec40000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Jan  1 00:00 unexport
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# echo 508 > export 
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# ls -l
total 0
--w------- 1 root root 4096 Jan  1 00:01 export
lrwxrwxrwx 1 root root    0 Jan  1 00:01 gpio508 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpiochip6/gpio/gpio508
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/platform/pinctrl/fd8a0000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip128 -> ../../devices/platform/pinctrl/fec50000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip32 -> ../../devices/platform/pinctrl/fec20000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip485 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpio/gpiochip485
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip509 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk806-pinctrl.0.auto/gpio/gpiochip509

lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip64 -> ../../devices/platform/pinctrl/fec30000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip96 -> ../../devices/platform/pinctrl/fec40000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Jan  1 00:00 unexport
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# cd gpio508
root@rk3588-buildroot:/sys/class/gpio/gpio508# 
root@rk3588-buildroot:/sys/class/gpio/gpio508# ls -l
total 0
-rw-r--r-- 1 root root 4096 Jan  1 00:01 active_low
lrwxrwxrwx 1 root root    0 Jan  1 00:01 device -> ../../../gpiochip6
-rw-r--r-- 1 root root 4096 Jan  1 00:01 direction
drwxr-xr-x 2 root root    0 Jan  1 00:01 power
lrwxrwxrwx 1 root root    0 Jan  1 00:01 subsystem -> ../../../../../../../../class/gpio
-rw-r--r-- 1 root root 4096 Jan  1 00:01 uevent
-rw-r--r-- 1 root root 4096 Jan  1 00:01 value
root@rk3588-buildroot:/sys/class/gpio/gpio508# 
root@rk3588-buildroot:/sys/class/gpio/gpio508# cat direction 
in
root@rk3588-buildroot:/sys/class/gpio/gpio508# cat value 
0
root@rk3588-buildroot:/sys/class/gpio/gpio508# 
root@rk3588-buildroot:/sys/class/gpio/gpio508# echo out > direction 
root@rk3588-buildroot:/sys/class/gpio/gpio508# echo 1 > value 
root@rk3588-buildroot:/sys/class/gpio/gpio508# 
root@rk3588-buildroot:/sys/class/gpio/gpio508# cat direction 
out
root@rk3588-buildroot:/sys/class/gpio/gpio508# cat value 
1
root@rk3588-buildroot:/sys/class/gpio/gpio508# ^C
root@rk3588-buildroot:/sys/class/gpio/gpio508# 


root@rk3588-buildroot:/sys/class/gpio/gpio508# 
root@rk3588-buildroot:/sys/class/gpio/gpio508# cd ..
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# ls -l  
total 0
--w------- 1 root root 4096 Jan  1 00:01 export
lrwxrwxrwx 1 root root    0 Jan  1 00:01 gpio508 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpiochip6/gpio/gpio508
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/platform/pinctrl/fd8a0000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip128 -> ../../devices/platform/pinctrl/fec50000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip32 -> ../../devices/platform/pinctrl/fec20000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip485 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpio/gpiochip485
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip509 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk806-pinctrl.0.auto/gpio/gpiochip509
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip64 -> ../../devices/platform/pinctrl/fec30000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip96 -> ../../devices/platform/pinctrl/fec40000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Jan  1 00:00 unexport
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# 
root@rk3588-buildroot:/sys/class/gpio# echo 507 > export 
root@rk3588-buildroot:/sys/class/gpio# ls -l
total 0
--w------- 1 root root 4096 Jan  1 00:09 export
lrwxrwxrwx 1 root root    0 Jan  1 00:09 gpio507 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpiochip6/gpio/gpio507
lrwxrwxrwx 1 root root    0 Jan  1 00:01 gpio508 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpiochip6/gpio/gpio508
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/platform/pinctrl/fd8a0000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip128 -> ../../devices/platform/pinctrl/fec50000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip32 -> ../../devices/platform/pinctrl/fec20000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip485 -> ../../devices/platform/feaa0000.i2c/i2c-2/2-0023/gpio/gpiochip485
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip509 -> ../../devices/platform/feb20000.spi/spi_master/spi2/spi2.0/rk806-pinctrl.0.auto/gpio/gpiochip509
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip64 -> ../../devices/platform/pinctrl/fec30000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip96 -> ../../devices/platform/pinctrl/fec40000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Jan  1 00:00 unexport
root@rk3588-buildroot:/sys/class/gpio# cd gpio507/
root@rk3588-buildroot:/sys/class/gpio/gpio507# ll
sh: ll: command not found
root@rk3588-buildroot:/sys/class/gpio/gpio507# ls -l
total 0
-rw-r--r-- 1 root root 4096 Jan  1 00:09 active_low
lrwxrwxrwx 1 root root    0 Jan  1 00:09 device -> ../../../gpiochip6
-rw-r--r-- 1 root root 4096 Jan  1 00:09 direction
drwxr-xr-x 2 root root    0 Jan  1 00:09 power
lrwxrwxrwx 1 root root    0 Jan  1 00:09 subsystem -> ../../../../../../../../class/gpio
-rw-r--r-- 1 root root 4096 Jan  1 00:09 uevent
-rw-r--r-- 1 root root 4096 Jan  1 00:09 value
root@rk3588-buildroot:/sys/class/gpio/gpio507# 
root@rk3588-buildroot:/sys/class/gpio/gpio507# 
root@rk3588-buildroot:/sys/class/gpio/gpio507# echo out > direction 
root@rk3588-buildroot:/sys/class/gpio/gpio507# echo 1 > value 
root@rk3588-buildroot:/sys/class/gpio/gpio507# cat direction 
out
root@rk3588-buildroot:/sys/class/gpio/gpio507# cat value 
1
root@rk3588-buildroot:/sys/class/gpio/gpio507# 
root@rk3588-buildroot:/sys/class/gpio/gpio507# echo 0 > value 
root@rk3588-buildroot:/sys/class/gpio/gpio507# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网易云音乐数据爬取与可视化分析系统

摘要 本系统采用Python语言&#xff0c;基于网易云音乐&#xff0c;通过数据挖掘技术对该平台的音乐数据进行了深入的研究和分析&#xff0c;旨在挖掘出音乐市场的规律&#xff0c;为音乐人、唱片公司、音乐爱好者等提供数据支持。系统的开发意义在于&#xff1a;一方面为音乐…

C#基于SkiaSharp实现印章管理(3)

本系列第一篇文章中创建的基本框架限定了印章形状为矩形&#xff0c;但常用的印章有方形、圆形等多种形状&#xff0c;本文调整程序以支持定义并显示矩形、圆角矩形、圆形、椭圆等4种形式的印章背景形状。   定义印章背景形状枚举类型&#xff0c;矩形、圆形、椭圆相关的尺寸…

mathcup大数据竞赛论文中集成学习(或模型融合)的运用分析

ps: (模型融合和集成学习是两个紧密相关但又有所区别的概念。集成学习是一种更广泛的范式&#xff0c;而模型融合可以被视为集成学习的一种特殊形式或策略。) 1.集成学习原理 图1 如图1所示&#xff0c;集成学习是一种通过结合多个机器学习模型的预测来提高整体性能的策略。其…

20240629在NanoPi R6C开发板的预编译的Android12下使用iperf3测试网速

20240629在NanoPi R6C开发板的预编译的Android12下使用iperf3测试网速 2024/6/29 11:11 【表扬一下】友善之臂没有提供update.img的预编译固件&#xff0c;我心里一凉&#xff0c;这么多IMG文件&#xff0c;得一个一个选择呀&#xff01; 但是别人友善之臂特别急人之所急&#…

6.27-6.29 旧c语言

#include<stdio.h> struct stu {int num;float score;struct stu *next; }; void main() {struct stu a,b,c,*head;//静态链表a.num 1;a.score 10;b.num 2;b.score 20;c.num 3;c.score 30;head &a;a.next &b;b.next &c;do{printf("%d,%5.1f\n&…

Flink 从入门到放弃

0 写在前面 程序员闯荡江湖的一生都在与数据打交道&#xff0c;初入江湖时基于 MySQL 的 CRUD&#xff0c;渐入佳境后利用 Redis 实现查询加速及分布式控制&#xff0c;本质上都是数据处理&#xff1b;无论主动/被动&#xff0c;都在利用数据来达成业务/技术目的。自然而然的&a…

javaSE知识点整理总结(下)、MySQL数据库

目录 一、异常 1.常见异常类型 2.异常体系结构 3.异常处理 &#xff08;1&#xff09;finally &#xff08;2&#xff09;throws 二、JDBC 1.JDBC搭建 2.执行SQL语句两种方法 三、MySQL数据库 1.ddl 2.dml 3.dql &#xff08;1&#xff09;字符函数 &#xff08;…

Linux开发讲课22---I2C读写 EEPROM 实验(含代码)

EEPROM 是一种掉电后数据不丢失的存储器&#xff0c;常用来存储一些配置信息&#xff0c;以便系统重新上电的时候加载之。 EEPOM 芯片最常用的通讯方式就是 I2C 协议&#xff0c;本小节以 EEPROM的读写实 验为大家讲解 STM32 的 I2C 使用方法。实验中 STM32 的 I2C 外设采用主模…

Hadoop3:Yarn框架的三种调度算法

一、概述 目前&#xff0c;Hadoop作业调度器主要有三种&#xff1a;FIFO、容量&#xff08;Capacity Scheduler&#xff09;和公平&#xff08;Fair Scheduler&#xff09;。Apache Hadoop3.1.3默认的资源调度器是Capacity Scheduler。 CDH框架默认调度器是Fair Scheduler。 …

改机软件有哪些?实现一键新机、改串号、改IMEI和手机参数的需求 硬改手机软件,新机环境模拟 设备伪装,一键改机,一键复原

这次针对可以直接开端口修改参数的机型做一些工具解析 前面接触合作过很多工作室。其中很多工作室对于各自软件的跳验证有各自的需求。 一个机型各项参数一般有IMEI WiFi 蓝牙 sn psb ESN等等。 针对这些参数的修改首先要明白各自软件检测的具体是哪些参数来验证。 对于常用…

#HDC2024 心得分享#主题演讲学习-加入鸿蒙生态正当时

一、主题演讲学习心得 通过本次主题演讲的聆听与学习&#xff0c;我们在猜出中和不太确定的相关内容纷纷呈现。比如鸿蒙内核与HarmonyOS Next获得行业内最高等级的安全认证&#xff1b;盘古大模型、小艺智能体、意图理解与分发框架等构筑的AI、AIGC能力对HarmonyOS Next及原生…

MySQL高级-索引-使用规则-覆盖索引回表查询

文章目录 1、覆盖索引1.1、查看索引1.2、删除单列索引 idx_user_pro1.3、查询 profession软件工程 and age31 and status01.4、执行计划 profession软件工程 and age31 and status01.5、执行计划 select id,profession,age,status1.6、执行计划 select id,profession,age,statu…

JAVA高级进阶13单元测试、反射、注解

第十三天、单元测试、反射、注解 单元测试 介绍 单元测试 就是针对最小的功能单元(方法)&#xff0c;编写测试代码对其进行正确性测试 咱们之前是如何进行单元测试的&#xff1f; 有啥问题 &#xff1f; 只能在main方法编写测试代码&#xff0c;去调用其他方法进行测试。 …

页面开发感想

页面开发 1、 前端预览 2、一些思路 2.1、首页自定义element-plus的走马灯 :deep(.el-carousel__arrow){border-radius: 0%;height: 10vh; }需要使用:deep(标签)才能修改样式 或者 ::v-deep 标签 2.2、整体设计思路 <template><div class"card" style&…

【ChatBI】text2sql-不需要访问数据表-超轻量Python库Vanna快速上手,对接oneapi

oneapi 准备 首先确保你有oneapi &#xff0c;然后申请 kimi的api 需要去Moonshot AI - 开放平台 然后添加一个api key 然后打开oneapi的渠道界面&#xff0c;添加kimi。 然后点击 测试&#xff0c; 如果能生成响应时间&#xff0c;就是配置正确。 然后创建令牌 http:…

Linux shell编程学习笔记60:touch命令

0 前言 在csdn技能树Linux入门的练习题中&#xff0c;touch是最常见的一条命令。这次我们就来研究它的用法。 1 touch命令的功能、格式和选项说明 我们可以使用touch --help命令查看touch命令的帮助信息。 [purpleendurer bash ~ ]touch --help Usage: touch [OPTION]... …

MATLAB-NGO-CNN-SVM,基于NGO苍鹰优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

NGO-CNN-SVM&#xff0c;基于NGO苍鹰优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据&#xff0c;直接替换数据就可以运行程序。 2.所有程序都经过验证&#xff0c;保证程序可以运行。 3.具有良好的编程习惯&#xff0c;程序均…

【Spring Boot】Java 的数据库连接模板:JDBCTemplate

Java 的数据库连接模板&#xff1a;JDBCTemplate 1.JDBCTemplate 初识1.1 JDBC1.2 JDBCTemplate 2.JDBCTemplate 实现数据的增加、删除、修改和查询2.1 配置基础依赖2.2 新建实体类2.3 操作数据2.3.1 创建数据表2.3.2 添加数据2.3.3 查询数据2.3.4 查询所有记录2.3.5 修改数据2…

【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 运行

isarsoft / yolov4-triton-tensorrt运行发现插件未注册? 【ai】tx2 nx: jetson Triton Inference Server 部署YOLOv4 【ai】tx2 nx: jetson Triton Inference Server 运行YOLOv4 对main 进行了重新构建 【ai】tx2 nx :ubuntu查找NvInfer.h 路径及哪个包、查找符号【ai】tx2…

AES加密算法及AES-CMAC原理白话版系统解析

本文框架 前言1. AES加密理论1.1 不同AES算法区别1.2 加密过程介绍1.2.1 加密模式和填充方案选择1.2.2 密钥扩展1.2.3分组处理1.2.4多轮加密1.2.4.1字节替换1.2.4.2行移位1.2.4.3列混淆1.2.4.4轮密钥加1.3 加密模式1.3.1ECB模式1.3.2CBC模式1.3.3CTR模式1.3.4CFB模式1.3.5 OFB模…