自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 问答 (1)
  • 收藏
  • 关注

原创 android 去除桌面谷歌搜索框

去除 android 系统桌面谷歌搜索栏,前后对比如下图:系统版本:android12平台:rk3568。

2024-04-25 13:39:12 863 1

原创 RK3566 EBOOK休眠模式卡片分享

2024-04-22 19:08:34 103

原创 android 编译报 out/.lock 提示错误

解决方法:删除 out 目录下的 .lock 文件。分析原因: 应该是前面创建的编译终端异常关闭有关。

2024-04-15 10:29:43 370 1

原创 添加 android 系统属性

添加 selinux 权限时,系统属性一定要遵循 android 标准,即 persist.vendor.xxx、vendor.xxx、ro.vendor.xxx 等前缀。这里定义了两个属性,ro.product.name 是一个只读属性,用于标识设备的名称;// 用于存储属性值的缓冲区。// 属性读取失败,打印默认值或者错误信息。// 调用property_get函数读取属性值。// 使用此方法,不需要在 device.mk 中进行设置。// 设置自定义系统属性值。系统版本:android13。

2024-04-12 09:41:04 1075

原创 十五、Shell 脚本中的 test 命令

在 Shell 脚本中,test 命令用于检查给定的条件是否为真或假,并根据结果执行对应程序。可以进行数值、字符和文件三个方面的测试。

2024-04-09 15:57:54 356

原创 查看Linux系统相关信息

这条命令可以查看到系统是 ubuntu 还是Red Hat 的 centos系统。命令:cat /etc/redhat-release。命令:cat /proc/version。命令:cat /proc/cpuinfo。命令:cat /etc/issue。命令:uname -a。

2024-04-08 17:49:48 310

原创 十四、Shell 脚本中的 printf 命令

printf 命令在 Shell 脚本中用于格式化输出。它提供了更灵活和强大的格式化功能,默认不会像 echo 命令自动添加换行符,需要手动添加 \n。format_string:是一个包含格式说明符的字符串,用于指定输出的格式。arguments:是可选的参数列表,用于替换格式字符串中的占位符。警告字符,通常为 ASCII 的 BEL 字符。.2f 表示保留小数点后两位。

2024-04-08 17:16:10 163

原创 十三、Shell 脚本中的 echo 命令

Shell 脚本中的 echo 命令是用于输出文本或变量的值,它是最常用的输出命令之一,可以方便将调试信息输出到终端或文本中。\c" # -e 开启转义 \c 不换行显示。\n" # -e 开启转义。6、显示结果输出到文件。7、显示命令执行结果。

2024-04-07 10:57:13 335

原创 Android8.1 代码编译报错

sudo cp prebuilts/jdk/jdk8/linux-x86/ /opt/jdk8 -rf // 相关文件的拷贝,源码根目录下的路径。sudo vim /etc/profile // 文件添加内容如下代码块,在文件最后添加。source /etc/profile // 执行修改文件,并使之生效。android 高版本不需要安装对应的 jdk 包。java -version // 查看 jdk 版本。Android8.1 代码编译报。

2024-04-07 10:37:20 578

原创 十二、Shell 数组

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。数组名=(值1 值2 ... 值n)#单独定义数组的各个分量。

2024-04-07 10:31:29 185

原创 十一、Shell 字符串变量

在 Shell 脚本中的字符串可以使用单引号,还可以使用双引号,并且可以不使用引号。使用 ${string:position} 可以提取从指定位置开始的子串。使用 ${#string} 获取字符串的长度。注:此点后续专门写一篇文章。

2024-04-03 15:39:14 278

原创 十、Shell 变量类型

环境变量是用来存储系统环境信息的变量。这些变量可以影响脚本的运行方式,并且可以在脚本之间共享和传递。数组变量用于存储多个值的数据结构。数组可以存储字符串或整数等不同类型的值,并可以通过索引访问特定的元素。在Shell脚本中,使用括号定义数组变量,以及索引访问数组中的元素。使用字符串变量来保存文本、文件名、命令的输出等。在Shell脚本中,使用双引号或单引号来定义字符串变量。可以使用整数赋值给变量,或者通过命令的输出结果获取整数值。在Shell脚本中,有一些特殊的环境变量,它们具有特定的用途和意义。

2023-12-27 16:52:22 429

原创 九、Shell 只读变量和删除变量

在 Shell 脚本中,使用 unset 命令来删除一个变量通过删除变量,可以释放该变量所占用的内存空间,并使其不再存在。关键字声明只读变量,只读变量被赋值后,就不能再被修改或重新赋值。echo $my_readonly_variable # 输出 "Hello, World!my_readonly_variable="New Value" # 这将导致错误。echo $my_variable # 输出 "Hello, World!以下是一个示例,演示如何在 Shell 脚本中使用只读变量。

2023-12-25 18:39:09 531

原创 八、Shell 使用变量

在 Shell 脚本中,可以使用变量来存储和引用数据。变量名外面的花括号是可选的,加花括号是为了帮助解释器识别变量的边界。格式:varname=value,如下所示。格式:$+变量名或 ${变量名},如下所示。等号两边不能有空格符,否则会运行报错。echo "请输入一个字符串:"格式:$+环境变量名,如下所示。3、读取用户输入并赋值给变量。4、读取系统环境变量。

2023-12-22 16:13:58 508

原创 七、 Shell 变量名规范

在 Shell 编程中,变量是用于存储和引用数据值的名称。# 避免使用 while 作为变量名,以免混淆。# 等号两边不能使用空格,否则会导致错误。# 避免使用 #?

2023-12-18 16:54:51 503

原创 六、常用 Shell 关键字

用于在当前Shell中执行脚本文件,类似于./命令。条件语句的补充,当if语句中的条件不满足时执行。用于捕获信号或错误,并在捕获到时执行相应的命令。循环语句,根据条件不满足时执行循环体内的命令。条件语句,用于根据不同的值执行不同的命令。用于条件测试,类似于if语句中的条件判断。条件语句,用于根据条件执行不同的命令。条件语句的补充,用于添加多个条件判断。条件语句的结束符号,表示条件判断结束。循环语句,根据条件执行循环体内的命令。循环语句的开始符号,表示循环体的开始。循环语句的结束符号,表示循环体的结束。

2023-12-15 17:32:37 474

原创 五、Shell 注释

以井号(#)来注释单行,Shell 并不会处理 Shell 脚本中的注释行。然而 Shell 脚本第一行是个例外,# 号后面的感叹号(!)是用来告诉系统用哪个解释器来运行脚本。表示开启 Here 文档,COMMENT 是 Here 文档的标识符,只需要在两个标识符之间的内容都会被视为注释,不会被执行。是一个空命令,用于捃后面的 Here 文档,

2023-12-15 10:17:44 370

原创 四、编写第一个 Shell 脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 chaoqing.sh,扩展名为 sh (sh 表示 shell),扩展名不影响脚本的运行。脚本名作为解释器的参数,传递到解释器中执行。这种方式运行脚本,脚本中可以不需要指定解释器信息即。

2023-12-13 17:42:33 387

原创 三、Shell 环境

该命令是查看系统中所有可用的 Shell 环境,运行结果如下图。该命令是查看当前用户的默认 Shell 环境,运行结果如下图。运行结果是阿里云服务器(Red Hat 8.4.1版本)

2023-12-13 17:41:14 380

原创 二、Shell 编程环境搭建

一般 Linux 系统会默认安装 shell 脚本的运行环境和文本编辑器(vi/vim),所以不需要额外安装其他的软件。我们只需要在 Linux 系统终端运行它只可。最后,我们还可能租用 linux 云服务器来运行 shell 脚本环境,比如阿里云、腾讯云、华为云等。我们可以使用 zsh 或 bash 作为 Shell 环境进行编程,同时还需要安装文本编辑器。具体的安装方法请百度搜索安装教程。Windows系统通常会直接安装 Linux 的虚拟机环境来运行 shell 脚本。1、Linux 系统。

2023-12-07 18:03:53 405

原创 一、什么是 shell 脚本?

Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作, Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。它连接用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用Linux 内核,如下图。

2023-12-06 17:25:12 377

原创 Linux 内核定时器

Linux 内核定时器相关API及简单的程序例程,时间是继内存之后常用的资源之一,它用物执几乎所有的事情:延时工作、睡眠、调度、超时以及许多其他任务。

2023-08-25 15:26:23 367

转载 MTK Android Driver知识大全

MTK平台 Android 驱动知识大全。

2023-01-19 10:19:21 2359 2

原创 取字模软件的使用

取字模软件的使用

2022-10-12 15:03:42 10072 4

原创 STM32点阵静态显示汉字

一、前言二、概述三、硬件连接四、程序例程五、实验结果

2022-09-12 15:02:16 1920 2

转载 8.camera调试日志

注: 1. 37m androidM/N/O 驱动及hal代码一样,可以公用 2. 37m 与37t 驱动代码一样,hal层代码格式不一样 3. 37m 与39 驱动代码一样,只有头文件#include "kd_camera_hw.h" --> #include "kd_camera_typedef.h" hal 层代码camera_isp_pca_gc8024mipi_raw.h、camera_isp_regs_gc8024mipi_raw.h、camera_tuning_para_gc

2022-08-06 11:33:47 845

原创 STM32实现74HC595控制

一、前言本文主要是实出74HC595的简单控制功能实现。二、概述(一)74HC595简述74HC595是一个8位串行输入、平行输出的位移缓存器:平台行输出为三态输出。在SCHCP的上升沿输入,在STCP的上升沿进入存储寄存器中去,如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7‘),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(......

2022-06-30 09:35:46 8142 6

原创 编译Android时出现 ckati failed with: signal: killed错误

一、前言编译Android源码时出现 ckati failed with: signal: killed错误,具体错误如下图:二、解决方法1、增加swap空间sudo dd if=/dev/zero of=/swp bs=10M count=400sudo mkswap /swpsudo swapon /swp三、参考文章1、ckati failed with: signal: killed_Heisenberg...

2022-06-01 19:30:00 1441

转载 MTK平台AF调试日志

零、点亮新len 1. 修改device\lentek\len6737m_35_m0\ProjectConfig.mk CUSTOM_HAL_LENS=fm50af dw9714af CUSTOM_HAL_MAIN_LENS=fm50af dw9714af CUSTOM_KERNEL_LENS=fm50af dw9714af CUSTOM_KERNEL_MAIN_LENS=fm50af dw9714af 2. 修改kernel-3.18\arch\arm\configs\len.

2022-05-29 12:45:00 2700

原创 编译Android时出现Launching Jack server java -XX...报错

一、前言 编译Android源码时报“Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/qing/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher”错误,如下图:二、解决方法1、 将...

2022-05-28 17:34:18 442

原创 编译Android时报/bin/bash -c “prebuilts/misc/linux-x86/flex/flex-2.5.39 ...错误

一、前言 编译Android源码时报/bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/target/product/gecko_8/obj/STATIC_LIBRARIES/libedify_intermediates/lexer.cpp bootable/recovery/edify/lexer.ll"flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? ...

2022-05-17 16:36:04 1408

原创 Ubuntu18.04安装libesd0-dev库报错

一、前言 安装libesd0-dev库报无法定位软件包问题,具体报错如下图:二、解决方法1、添加含有libesd0-dev软件的镜源sudo vim /etc/apt/sources.list //添加下述链接deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe#deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe2、更新...

2022-05-09 09:00:38 3921

原创 Ubuntu18.04搭建Android源码编译环境

一、前言 使用Ubuntu18.04搭建Android源码的编译,本文是参考Android系统源码编译文章撰写的。二、步骤1、下载Android源码、Ubuntu环境搭建、git安装请参考其他文章。2、安装JDKsudo add-apt-repository ppa:openjdk-r/ppasudo apt-get updatesudo apt-get install openjdk-8-jdk3、安装依赖库sudo apt-get install -y ...

2022-05-03 08:40:16 2306

原创 热敏电阻控制蜂鸣器(STM32F103C8T6)

一、前言本文是使用STM32F103C8T6作为主控芯片,通过XPT2046转换IC读取热敏电阻的值,从而控制蜂鸣器响。当环境温度超过设定阀值时,蜂鸣器发出响声。二、概述(一)蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。主要分为两种,分别是有源蜂鸣器和无源蜂鸣器。有源蜂鸣器内部是有发声电路,通过合适直流电就会发声音,另外有源蜂鸣器是有正负极之分。下图中是常用于工作电压为5v的有源蜂鸣器,正面标有加号的一侧引脚为正极,如果全新...

2022-04-30 11:40:03 2334

原创 光敏电阻控制继电器(STM32F103C8T6)

一、前言本文是通过光敏电阻检测环境亮度,当亮度小于设定值时控制继电器打开,超过设定时关闭继电器。光敏电阻的数值转换是通过XP2046进行转换,使用STM32作为主控,用库函数进行编程实现功能。二、概述(一)继电器继电器是一种电控制器件,是当输入量的变化达到规定要求时,在电气输出电咱中使用被控量发生预定的阶跃变化的一种电器。单片机是一个弱电器件,一般工作于5v甚至更低的电压下。驱动电流在mA级以下,而在一些大功率场合下,如控制电动机,显然是不行的。因此,需要...

2022-04-23 15:24:53 4244

原创 DS18B20温度传感器(STM32F103C8T6)

一、前言使用LCD1602实时显示DS18B20传感器捕抓的环境温度。二、概述(一)传感器说明DS18B20数字温度计提供9位温度读数。信息经过单线接口送入或送出DS18B20传感器,因此从中央处理器到DS18B20仅需要提供电源以及一根数据线,就可以工作。(二)DS18B20的ROM指令表ROM 指令表 指令 约定代码 功能 读ROM 33H 读取DS18B20温度传感器ROM中的编码(即64位地址) 符合ROM 55H 发送此命令之后

2022-04-16 12:29:59 45714 67

原创 Windows下VScode编写ege图形库

一、前言 具体安装步骤请参考下述链接,本文只是记录博主的安装过程 Windows下用VScode编写ege图形库_wuqhaoq的博客-CSDN博客_vscode图形库二、安装步骤1、下载并安装MinGw ege库2、测试ege库#include "graphics.h" // 引用ege图形库int main(){ initgraph(480, 480); // 初始化,显示一个窗口 circ...

2022-04-08 20:00:00 2679

原创 使用LCD1602显示MQ-2传感器浓度百分比

一、前言使用LCD1602显示MQ-2烟雾传感器监测环境的浓度值,并实时显示。本本例程是使用STM32F103C8T6做主控,LCD1602做显示器,所使用的是库函数编写。二、硬件连接1、LCD1602引脚连接2、MQ-2模块引脚连接模块引脚 GPIO VCC VCC GND GND D0 NC(空) A0 PA0 三、程序例程1、ADC引脚初始化函数void ADC_Pin_Init(void){ GPIO_Init.

2022-04-03 16:15:14 3032 2

原创 XPT2046程序例程(STM32F103C8T6)

一、前言本例程是使用XPT2046 AD转换IC采集电位器的数值,并通过串口调试助手打印数据。所使用的是库函数进行编写。二、XPT2046 概述(一)功能说明XPT2046是一款4线制电阻屏控制器,内含12位分辨率125KHz转换速率逐频逼近型A/D转换器。XPT2046支持从1.5V到5.2V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带2.5v参考电压,可以作为辅助输入温度测量...

2022-03-26 22:41:25 11135 1

原创 4x4矩阵键盘(STM32F103C8)

一、前言使用STM32F103C8T6最小系统,实现4x4矩阵键盘的键值上报,通过串口调试助手打印相关的键值,使用的是逐行逐列扫描法,通过库函数实现。二、概述( 一)矩阵键盘简述矩阵键盘是单片机外部设备中所使用排布类似于矩阵键盘组,矩阵式结构的键盘会比独立键盘复杂一点,识别按键按下也会相对复杂。但是,需要使用大量的按键时,矩阵键盘的设计会减少I/O资源。常用的矩阵键盘有3x3、4x4、8x8等。矩阵键盘又称行列式键盘,它是使用4条I/O线作...

2022-03-19 17:26:05 51506 23

空空如也

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

TA关注的人

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