自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 [Others]-[Xshell]-Xshell 免费版地址下载

https://www.netsarang.com/zh/free-for-home-school/

2021-09-06 09:52:06 145

原创 [Makefile]-1.Makefile一些常用指令

Demo 1:2.Makefile 内容define .Leotestecho $(wildcard *.c)@echo $(strip $(Astr)) $(strip $(Bstr)) $(strip $(Cstr))a@echo $(filter aabc ccd, $(Cstr)) $(filter bb, $(Cstr)) $(filter $(Cstr), ccd aabc)@echo $(src)@echo $(src1)@echo $(dira)@echo $(fil)

2021-09-03 17:31:17 439

原创 [linux]-[Log]-pr_xxx定义输出格式

自定义输出格式include/linux/printk.h:271: printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) //原型//Leo 20210507#ifdef pr_fmt#undef pr_fmt#define pr_fmt(fmt) KBUILD_MODNAME ":%s:%d " fmt,__func__,__LINE__ //define相当于把此举原封不动的塞进去。#endif即:printk(KERN_INFO KB

2021-05-09 21:25:52 191

原创 [Android]-[adb] user版本开启adb且去掉adb授权弹框

配置两个属性即可:1.使user版本可以adbdevice/mediatek/mt6739/device.mk ifeq ($(TARGET_BUILD_VARIANT),user)- PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp+ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp,adb2.去掉user版本授权usb弹框b

2021-04-25 15:40:43 2346

原创 [Andriod]-[Input]-设备进入安全模式分析

学习参考文档:https://www.cnblogs.com/haiming/p/3318614.htmlhandler: https://www.jianshu.com/p/2e431a870ba51.抓log看到以下以下关键字–‘‘SAFE MODE ENABLED’’源码位置如下:路径:framework/base/services/core/java/com/android/server/wm/WindowManagerService.java int menuState

2021-04-11 23:00:51 312

原创 [Android]-[Input]-个人对input子系统的理解_v2

Android input初步了解目录结构(基于安卓O)1. open event device在里,这里应该是最接近kernel driver的部分了frameworks/native/services/inputflinger

2021-04-09 21:16:54 171

原创 [Linux]-[misc]结合匿名管道写一个epoll_create/epoll_ctl/epoll_wait demo

写一个程序创建匿名管道并使用epoll监听该匿名管道的fd#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <sys/epoll.h>// int epoll_ctl(int epfd, int op, int fd, struct epoll_event// *event);int main(int argc, char *ar

2021-04-08 20:24:07 2182

原创 [Linux]-[Input]-个人对input子系统的理解_Linux_v1

1.input注册模型input_dev :设备 <===> input_handle: 桥梁 <===> input_handler:处理者其中:input_handler 是指:1.event 2.joydev 3.mousedev ....等等2.Input_dev 与 input_handler的配对当时注册input_handler时会轮询所有input_dev,并尝试匹配两者。同理:当时注册input_dev时会轮询所有input_handle

2021-03-25 20:32:11 254

原创 [Ubuntu16.04]修改插件embedded Terminal(嵌入式终端)的背景和字体颜色

前因 从ubuntu14.04升级到ubuntu16.04 ,一直以来都是用gedit编辑代码,一直用这嵌入式终端这个插件,在ubuntu16.04上嵌入式终端的默认颜色和代码区的颜色一样,都是白色的,感觉看起来怪怪,于是乎疯狂百度修改之,以下方法亲测有效1.直接修改配置文件1.1 配置文件地址 /usr/lib/x86_64-linux-gnu/gedit/plugins/terminal.py //其他ubuntu版本可能不是这个地址1.2 sudo gedit /usr/lib/x

2021-03-07 14:54:44 365

原创 [sprd]-展讯AT指令集合

int ENG_AT_SETARMLOG = 4; // start/stop armlog int ENG_AT_SETCAPLOG = 58; String ENG_AT_REQUEST_MODEM_VERSION = "AT+CGMM"; // get version String ENG_AT_CGMR = "AT+CGMR"; String ENG_AT_DSPVE...

2020-08-07 17:55:08 4471

原创 [sprd]-iio接口读取adc值

FAQ106065通过原理图我们可以获取任意一个adc对应的通道号,sc2721的adc驱动将每个物理通道分解为两个逻辑通道,一个是大量程一个是小量程。例如我们需要使用adc通4的大量程那么我们就要选择adc逻辑通道9我们需要在dts中配置通道数io-channels = <&pmic_adc 9>; //通道逻辑编号io-channel-names = "adc_temp"; //通道名称,以便于驱动获取以上配置之后我们便可以通道adc电压读取接口读取

2020-07-02 10:15:10 3526

原创 [ADB]-1.adb链接使用wifi作为媒介

1.首先让电脑主机和设备(手机)链接到同一个局域网2.先用usb线链接手机,查看设备网络地址参数,然后设置参数2.1 adb shell ifconfiglo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope: Host UP LOOPBACK RUNNING MTU:65536 Metric

2020-06-30 00:04:31 122

原创 2.[sprd]-(recovery升级本地验证)

1.全编并拷贝基础包img,source build/envsetup.shlunch sp9820e_2h10_oversea-userdebugmake -j8 2>&1 |tee build.log2.制作ota升级的资源target包2.1make -j8 otapackage 2>&1 |tee build.log然后拷贝out下的img下载(注意:这个img一定要在make otapckage之后)2.2拷贝生成的基础版本的ota资源包mkdi

2020-06-17 15:32:48 1583

原创 [Android/Linux]-1.power_supply框架初识

前言: 本着好奇的心态,power_supply是如何将battery,ac,usb等的相关信息参数送到framework层以及应用层的,所以了解了一下power_supply的大概。引用:在别的博客说得比较好的一问一答,借用一下:问:安卓是怎么知道当前充电状态的,以及电池电量变化的?答:是由底层(驱动层)主动通过uevent机制(实质是net_link方式的socket)(广泛应用于hotplug),充电插入与断开时,内核通过发送uevent信息,告诉android。问:android如

2020-05-28 17:01:27 2569 1

原创 1.[Sprd]-(Sprd9820e安卓4.4平台user版开启长按power键开启sysdump分析)

1.sp9820e安卓4.4开启长按power开启sysdump1.1uboot开启arm resetu-boot15/include/configs/sp9820e_2h10.h#if DEBUG#define CONFIG_7S_RST_SW_MODE 1 //0:hw reset,1:arm reset,power keep on //soft for debug version#else#define CONFIG_7S_RST_SW_MODE 0 //0:hw reset,1:arm

2020-05-15 10:47:40 2932

原创 1.[Leds]-(Linux leds class睡眠唤醒)

1.led_classdev 结构体kernel/include/linux/leds.hstruct led_classdev { const char *name; enum led_brightness brightness; enum led_brightness max_brightness; int flags; /* Lower 16 bits...

2020-04-20 17:23:54 309

原创 2.[Gpio]-(Pinctrl实现对一个Gpio控制)

1.首先了解平台下可用的pinctrl节点 pio: pinctrl@1000b000 { //别名 pio compatible = "mediatek,mt6761-pinctrl"; reg = <0 0x1000b000 0 0x1000>; mediatek,pctl-regmap = <&syscfg_pctl_0>, ...

2020-04-10 15:43:12 478

原创 1.[Connectivity]-(Gps vendor实现的接口)

static const GpsInterface mtk_gps_inf = { sizeof(GpsInterface), gpsinf_init, gpsinf_start, gpsinf_stop, gpsinf_cleanup, gpsinf_inject_time, gpsinf_inject_location, gps...

2020-03-13 17:34:10 154

转载 1.[Platform bus]-(对platform_get_resource的理解)[转]

转自:https://www.cnblogs.com/sky-heaven/p/4800848.html。在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一...

2020-03-11 09:39:32 565

原创 1.[Gpio]-(dts中gpio的获取方法)

1.在dts中建立一个设备节点1.1 kernel/arch/arm/boot/dts/sharkle.dtsi++++cust_gpios: cust_gpios { /*[label:] node-name[@unit-address],其中labe可以省略,使用label只是为了方便下面对该节点的引用*/ compatible = "gpio...

2020-03-09 16:05:53 1789

原创 1.[Lights]-(Android 8.1 lights分析)

lightsService 注册:路径:frameworks/base/services/java/com/android/server/SystemServer.java // Manages LEDs and display backlight so we need it to bring up the display. traceBeginAndSlog("...

2019-11-06 15:55:48 636

原创 1.[Others]-(virtualbox extension package virtualbox-扩展包地址)

virtualbox 扩展包下载地址大全https://download.java.net/virtualbox/

2019-10-23 16:54:44 174

原创 1.[Linux Driver Misc]-(DEVICE_ATTR demo与理解)

源码如下: 其实就是定义了一个结构体__ATTR填充结构体:kernel-4.9/include/linux/sysfs.h#define __ATTR(_name, _mode, _show, _store) { \ .attr = {.name = __stringify(_name), \ .mode = VERIFY_OCTAL_PERMISSIONS(_mode)...

2019-10-12 18:01:03 285

原创 2.[Linux Driver Misc]-(使用cmdline从lk向kennerl传递参数demo)

cmdline demo1.使用cmdline_append()添加cmdline选项 if (1) cmdline_append("is_smartpa_detect=0");s else cmdline_append("is_smartpa_detect=1"); #endif2.k...

2019-09-03 21:23:28 1225 1

原创 1.[Git 学习]-(git 命令使用记录)

1.从一个将一个分支上的某个commit应用到另外一个分支。1.1 git log --oneline ---获取要被应用的commit id1.2 git checkout xxx(brnach) ---切换到要应用的分支1.3 git cherry-pick commitId ---应用其他分支的commit 到当前分支2.添加远程分支应用场景:...

2019-08-15 20:52:04 113

原创 3.[Linux Driver Misc]-(Jz2440完全移植从零开始)

uboot1.工程:u-boot-2012.04.01.tar.bz22.Patch:u-boot-2012.04.01_100ask.patch3.编译环境:gcc-3.4.5-glibc-2.3.6解压打patch1. tar -xjf u-boot-2012.04.01.tar.bz22. cd u-boot-2012.04.01/3. patch -p << ....

2019-05-18 23:10:56 301

原创 2.[Others]-(个人对链表的一些理解)

一.链表的作用:个人理解:链表与数组相同点:把所要存储的数据连起来,不同点:链表的是把地址不连续的数据载体链接在一起,链表可以动态链接,链表的大小不是定的,而数组不可以,数组的大小是分配好了的,后续不可以再增加(可以增加的方式是申请一个数组指针,然后动态分配内存,但是不灵活,也不好操作)。官方理解一、链表是什么1、链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是...

2019-05-09 15:59:46 195

原创 1.[Input子系统]-(添加一个按键)

参考学习链接:http://blog.csdn.net/tkwxty/article/details/43338921keycode 对应的是frameworks/native/include/android/keycodes.h 中的键值http://blog.csdn.net/yuanzihui/article/details/52871652输入子系统:首先要先设置具备的key类...

2019-05-09 15:46:49 411

busybox-32.exe

下载改文件:eg:目录:D:\Program Files\busybox 1.设置环境变量:计算机->属性->高级系统设置->环境变量 1.1adminstrator 环境变量 如果变量PATH不存在,则添加变量名PATH路径为D:\Program Files\busybox,如果存在PATH则直接分号再加路径;D:\Program Files\busybox 1.2系统变量Path后面添加分号再添加路径;D:\Program Files\busybox 3.Win+R 打开终端执行: busybox sh 之后你就可以正常的适应busybox下面的指令了,诸如ls find等。

2019-06-04

gat-win32-3.1501.1.c.zip

操作系统:win7及以上 MTK官网下载gat-logviewer工具。

2019-06-03

GBK字库制作软件.zip

GBK字库制作软件: 1.打开软件 2.点击打开文件->选择gbk_ziku.txt文件 3.然后选择扫描模式之内的选项 4.保存 字模的查询方式:可以用如下代码实现: #include #include #define UNICODE_TEST #if defined(UNICODE_TEST) #define GB2312_CH_H_BEGIN 0x81 #define GB2312_CH_L_BEGIN 0x40 #define ONE_PAGE_GB2312 192 static int LCD_UnicodeSwitch(int unicode) { unsigned char h_tmp,m_tmp,l_tmp,shift = 0; int re_unicode = 0; h_tmp = (unicode >> 8) & 0xFF; m_tmp = ((unicode >> 4) & 0x0F) - (GB2312_CH_L_BEGIN >> 4); l_tmp = unicode & 0x0F; unicode = (h_tmp - GB2312_CH_H_BEGIN)*ONE_PAGE_GB2312 + m_tmp *16 + l_tmp + shift; printf("0x%.2X 0x%.2X 0x%.2X \n",h_tmp,m_tmp,l_tmp); printf("unicode:%d \n",unicode); } #endif int test[2] = {1,2}; int test1[2]; int main() { #if defined(UNICODE_TEST) LCD_UnicodeSwitch(0xB0A1); #endif }

2019-06-03

空空如也

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

TA关注的人

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