Linux工具--调试工具
Linux 调试工具工作需要,调试过程中需要很多调试工具检测硬件或者软件功能,这里把常用的调试工具汇总
通讯协议调试工具:
uart 调试minicom
安装
1sudo apt install minicom
使用
123456789# 运行minicom 并配置minicom -s选择进入“Serial port setup” 配置串口,比特率选择“Save setup as dfl” 保存为默认配置,后续直接运行“minicom” 就能直接加载# 退出ctrl +A +Z
i2c调试i2c-tool
安装
12sudo apt-get install i2c-tools
使用root 用户下使用1234567891011# 显示所有可用的I2C总线i2cdetect -l # 查看i2c-1总线下的设备i2cdetect -y 1 # 往i2c-1 0x36(设备地址) 地址写 3byte 数据 后接数据i2ctransfer -f -y 1 w3@0x36 0x00 0x01 0x02# 往i2c-1 0x36(设备地址) 寄存器地址0x0001 读3 b ...
shell--基本语法
shell基本语法常用指令cat打印到标准输出设备上
grep查找文件里符合条件的字符串或正则表达式
awkawk 是一个文本处理工具
curl请求web服务工具
sed文本处理工具wc行统计工具
shell中可以 使用linux下各种工具不一一举例
运算语句赋值赋值和其他语言一样,使用“=”
12345678910# 数字a=1 # 字符串name='aaa'或name=“aaa”#路径PACK_TOOL_DIR=/linux/Linux_Pack_Firmware
运算符号运算符号不能单独使用,需要配合运算命令
1234+ 加 -减 *乘 /除 % → 取余** → 开方
数学计算shell 数学计算的几种命令,搭配上文运算符使用整数运算
123456789# exprexpr 1 + 1# letlet a=100/3;echo $a# $(())echo $(( 100*3 ))
浮点数运算
12345# bc scale 为保留几位小数,可以不设置,默认是0 echo "scale=2;100/3"|bc=> ...
shell--sed的使用
sed 使用sed 是一个Linux 常用文本处理指令,主要用在文本“行处理”
使用说明
1sed + 选项 +'命令'(脚本文件) + 处理文件或内容
选项
不带选项,则显示处理后的结果
123456789101112-e 指定脚本命令处理-f 指定脚本文件处理-h 帮助信息-n 显示处理信息-v 显示版本信息-i 直接编辑文件
基本语法sed中脚本命令能够对行内容,执行增删改查等操作
1234567891011121314151617181920212223# 动作命令a :新增;当前行的下一行增加指定内容c :修改;把某些行替换成指定行内容d :删除;删除某些行i :插入;在当前行的上一行插入指定内容p :打印;输出匹配行的内容s :取代; 后面可接通配符 一般使用方法 ‘s/要被取代的字串/新的字串/g’# 特殊符号/ :搜索;匹配字符,亦代表新字符串\ :代表新的一行,特殊通配符号转义, :代表连续,两边接数字,左边必须比右边小,否则","与后面数字不生效$ :单独使用代表最后一行,在动作命令中代表以xxx结尾的行
使用范 ...
shell--awk的使用
awk 使用awk 是一个文本处理工具,主要用在文本“列处理”
使用说明
1awk + 选项(可不带) +'命令' + 处理文件或内容
选项参数:可输入awk -W help查看
常用
12345678-F fs or --field-separator fs指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F ‘:’ 则以“:” 分割。-v var=value or --asign var=value赋值一个用户定义变量。-f scripfile or --file scriptfile从脚本文件中读取awk命令。
变量名关键词123456789101112NF:表示当前记录的字段数。$NF:表示当前记录的最后一个字段。$(NF-1):表示当前记录的倒数第二个字段。NR:表示当前处理的是第几行记录。FILENAME:当前处理的文件名。FS:字段分隔符,默认是空格或制表符。RS:记录分隔符,默认是换行符。OFS:输出字段的分隔符,默认为空格。ORS:输出记录的分隔符,默认为换行符。OFMT:数字输出格式,默认为%.6g。
函数toupper() ...
Linux命令--软件安装
apt 命令apt 可用于Debian 和 Ubuntu系统,它提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令
常用命令如下:
123456789101112131415161718192021222324252627282930313233343536373839404142# 列出所有可更新的软件清单命令sudo apt update # 升级软件包sudo apt upgrade# 列出可更新的软件包及版本信息apt list --upgradeable# 升级软件包,升级前先删除需要更新软件包sudo apt full-upgrade# 安装指定的软件命令sudo apt install <package_name># 安装多个软件包sudo apt install <package_1> <package_2> <package_3># 更新指定的软件命令sudo apt update <package_name># 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等sudo apt show & ...
Linux驱动--WIFI驱动-AP6275P
WIFI 驱动场景需求:通过瑞芯微官方文档,知道rk3568 wifi支持 SDIO方式和PCIE方式。目前市面上使用SDIO方式居多。
型号选用区分:ap6275s 以s结尾的代表用SDIO通信ap6275P 以P结尾代表使用PCIE通信
PCIE驱动适配这里使用的是 rk3568 minipcie 方式,走的pcie 2x1.wifi模块正常工作以下引脚必须正确配置仅供参考,具体需结合原理图对应配置
名称
使用
pcie 供电
0 RK_PC6
wifi 供电控制
3 RK_PC4
wifi reg on
4 RK_PC4
说明:需要保证wifi模块 上链供电正常,reg 是控制wifi 的开关引脚,如果常开可以一直置高。
以下配置能实现是通过检测wifi供电控制引脚,控制wifi 开关引脚,从而达到软件实现开关。如果不需要控制可以常置高。
模块未采用host_wake,单纯仅使能wifi,蓝牙也不走,故这些都可以不用配置
设备树配置:12345678910111213141516171819202122232425262728293031323334353 ...
Linux系统--增加开机启动服务
自启服务根据systemd工具,增加开机启动服务
步骤1、编辑 /etc/systemd/system/my-test.service,没有这个文件就创建一个:
sudo touch /etc/systemd/system/my-test.service
2、然后编辑文件:
sudo vi /etc/systemd/system/my-test.service
123456789101112131415161718# 条件会判断该路径文件,不存在则报错[Unit]Description=/etc/my_test CompatibilityConditionPathExists=/etc/my_test# 服务配置路径、优先级、日志输出[Service]Type=forkingExecStart=/etc/my_test startTimeoutSec=0StandardOutput=ttyRemainAfterExit=yesSysVStartPriority=99# ...
Linux驱动--按键与LED适配
按键与LED灯描述:通过按键控制LED灯
ADC按键设备树配置ADC按键是通过ADC采样实现。通过对采样值设定,根据采集电压的不同,设置不同按键事件。
DTS配置示例如下:以下是使用adc0通道
12345678910111213141516171819202122232425262728293031323334353637/************************* 按键 *********************/adc_vin0_keys: adc-vin0-keys { status = "okay"; compatible = "adc-keys"; io-channels = <&saradc 0>; io-channel-names = "buttons"; poll-interval = <100>; keyup-threshold-microvolt = <1800000>; left-k ...









