Linux系统--搭建STM32开发环境
搭建STM32开发环境下载驱动工具 安装openocd 用于发现和连接stlinksudo apt-get install openocd 安装stlink 下载地址:https://github.com/stlink-org/stlink/tags下载源码 stlink-1.8.0.zip 包 123456unzip stlink-1.8.0.zipcd stlink-1.8.0# 编译make# 编译安装make install 在build/Release/bin 生成工具程序./st-flash –version 安装gcc-arm-none-eabi(交叉编译链) 1sudo apt-get install gcc-arm-none-eabi 若编译链版本有要求,可以自行下载对应版本 配置环境变量stm32 网址指导说明,详细介绍了如何下载基础工程和编译环境。如果需要先跑通测试工程,可以参考以下链接指导说明 1、创建目录 123456mkdir STM32-basecd STM32-basemkdir librariesmkd...
Linux工具--xdotool
xdotool 使用笔记简介xdotool 是一个用于模拟键盘输入和鼠标事件的命令行工具。它可以在 X11 系统上自动化许多任务,例如自动点击、键盘输入等。该工具特别适用于自动化测试、脚本编写和提高工作效率。 安装在大多数基于 Debian 的系统(如 Ubuntu)上,可以使用以下命令安装 xdotool: 1sudo apt-get install xdotool 在基于 Red Hat 的系统(如 Fedora)上,可以使用: 1sudo dnf install xdotool 基本使用方法模拟键盘输入使用 xdotool 来模拟键盘输入: 1xdotool type 'Hello, World!' 模拟按键模拟按下和释放一个按键: 1xdotool key Return 模拟按住一个键: 1xdotool keydown Ctrl 模拟释放一个键: 1xdotool keyup Ctrl 模拟鼠标操作移动鼠标将鼠标移动到屏幕上的特定位置: 1xdotool mousemove 100 200 相对当前位置移动鼠标: 1xdotool mousemov...
Linux命令--网络服务相关命令
网络服务相关netstatnetstat 是一个很实用的 Linux 命令,通过它可以显示网络连接,路由表,接口状态,网络链路和组播成员组等信息。最常用的场景是拿来看本机的 TCP/UDP 网络连接,并以此判断本地网络服务的运行状态。 单独使用查看所有连接信息natstat 查看端口占用使用情况 1netstat -tulpn 只显示 TCP 连接信息: 1netstat -t 关于 State 状态字段的值列表如下: 状态名称 说明 ESTABLISHED 套接字有一个有效连接。 SYN_SENT 套接字尝试建立一个连接。 SYN_RECV 从网络上收到一个连接请求。 FIN_WAIT1 套接字已关闭,连接正在断开。 FIN_WAIT2 连接已关闭,套接字等待远程方中止。 TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组 CLOSED 套接字未用。 CLOSE_WAIT 远程方已关闭,等待套接字关闭。 LAST_ACK 远程方中止,套接字已关闭。等待确认。 LISTEN 套接字监听进来的连接。如果不设...
Linux--关于clash使用
clash 使用clash 是一个开源的代理工具 下载clash自行下载 查看与配置123456# 查看版本clash -v# 首次启动clash 可能会存在 Can't find MMDB, start download包内已经下载好 进入家目录 1234cd ~/.config/clash/# 这个修改成为你的订阅链接文件vim config.yaml 使用12345678910111213# 终端启动./clash d# 节点管理配置http://clash.razord.top/#/proxies# ubuntu 代理配置settings -> network -> network proxyhttp代理 127.0.0.1:7890https代理 127.0.0.1:7890socks主机 127.0.0.1 socks代理 7891忽略主机 localhost,127.0.0.0/8,::1 配置成功后,就可以在浏览器中访问了,效果如下: 如果需要配置局域网连接访问,需要在设置界面修改,这样该路由器下所有子设备都可以访问 开机启动设置vim &...
Linux驱动--网卡驱动调试
网卡驱动调试网卡驱动架构理解网卡一般分为MAC和PHY两个部分。 MAC (Media Access Control): 功能:数据过滤,位于CPU和PHY之间。 类别:EMAC(以太网MAC)、GMAC(千兆以太网MAC)。 接口:MII(10/100 Mbps)、GMII(1000 Mbps)、RGMII(减少引脚的GMII)。 PHY (Physical Layer Device): 功能:负责数据的物理传输。 地址:0-31,由板卡电路图决定。 ID:由硬件厂商决定,用于识别PHY芯片。 MAC组件与功能 帧发送:接收上层数据,增加以太网帧头尾。 帧接收:检查数据有效性,转发或丢弃。 GMAC控制:全双工模式下控制帧生成和检测。 GMII管理:控制物理层输入输出,检查状态信息。 工作模式 半双工模式:GMAC client将数据传给GMAC后,GMAC先给数据加上Preamble、FSD、FCS,组成以太网帧;然后检查载波侦听信号(CRS);若有载波信号,表示有数据正在 本地网段上传播,就等待直到载波信号消失;载波信号消失后,GMAC还要等待一...
Linux驱动--WIFI驱动-RTL8733BU
WIFI 蓝牙驱动场景需求:适配 rk3568 wifi蓝牙模块,模块型号为rtl8733bu目前在ubuntu20.04,测试成功 驱动代码驱动代码分2部分,一部分是wifi,一部分是蓝牙代码。驱动资料分享码为”1210”。 wifi代码源码地址:链接: https://pan.baidu.com/s/17waZR1c7Fgc1Tv3mDX1Mbw 驱动放入 kernel/linux-5.10/drivers/net/wireless/rockchip_wlan ,同时该目录下MakeFile 增加: 12obj-$(CONFIG_RTL8733BU) += rtl8733bu/ Kconfig添加: 12source "drivers/net/wireless/rockchip_wlan/rtl8733bu/Kconfig" 在 Linux_deconfig 中添加: 1CONFIG_RTL8733BU=y 如果没有deconfig文件,则需要make menuconfig,选择对应配置,然后保存。 ...
Linux驱动--触摸屏GT911适配
触摸屏驱动本文档使用驱动为gt9xx,使用I2c通信。 设备树配置通讯地址为0x14,挂载在i2c5总线上。中断引脚和复位引脚为gpio3的PC0和PC1,根据硬件方案修改。 12345678910111213141516&i2c5 { status = "okay"; /*********************** GT 方案**********************/ gt9xx: gt9xx@14 { status = "okay"; compatible = "goodix,gt9xx"; reg = <0x14>; touch-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; //中断IO reset-gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; //复位IO max-x = <1920>; max-y = <120...
通讯协议--CAN
通讯协议CAN 协议CAN有两种通信标准:高速CAN和低速CAN。高速CAN属于闭环总线,速率可以达到1Mbps,总线长度<40m,适用需要快速数据传输的环境,如汽车内部网络 低速CAN速率只能达到250kbps,属于开环总线,总线长度可达到1000m,适合于工业自动化和远程监控等场景。 CAN总线信号CAN总线上,信号表现为电压形式,通过CAN_H和CAN_L线上的电位差来表示CAN信号,它们之间的电压差决定了信号的状态。分为显性电平(dominant)和隐性电平(recessive)两种类型。具体表现如下: 显性电平(Dominant):在CAN协议中,显性电平表示为逻辑0。当总线上的电压差满足特定的范围时(例如1.5V至2.5V),则认为总线上的信号是显性电平。 隐性电平(Recessive):隐性电平则表示为逻辑1。如果CAN_H和CAN_L之间的电压差不在显性电平的范围内,则信号被认为是隐性电平。 CAN信号传输 graph LR A[CPU]--信号-->B[CAN控制器] B--逻辑电平-->C[CAN收发器] C--差分信号...











