- 博客(73)
- 收藏
- 关注
原创 ARM汇编指令学习---基于启动文件startup.S分析
本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析。以 . 开头一般是伪汇编/操作指令,形如:.section伪操作来定义一个段,形如:.section .testsection //定义一个testsection段汇编系统预定义了一些段名:.text:代码段.data:初始化数据段.bss:未初始化的数据段.rodata:只读数据段.global:定义一个全局符号,通常是为ld使用。例子如下:.global _start_start: //_start符号,汇编器
2022-10-24 22:37:12
2607
原创 msm8953 LK通过cmdline向Kernel传递LCD参数过程分析
基于高通msm8953 LK通过cmdline 传递LCD参数到Kernel的过程分析
2022-08-13 00:26:00
1661
原创 LCD DRM驱动框架分析二
本文是基于rk3566 / rk3568平台从LCD代码层面上对LCD DRM框架进行分析。一、uboot阶段1、涉及的驱动文件2、uboot代码流程分析2.1)各probe函数的加载2.1.1)各bind函数是在设备和驱动匹配时(uboot启动阶段)加载的。2.1.2)各probe函数是在rockchip_display_probe中解析设备树时,通过uclass_get_device_by_xxx(uclass_get_device_by_ofnode/uclass_get.
2022-08-09 12:25:52
4347
5
原创 LCD DRM component 框架分析
基于rk平台,以 DRM LCD 驱动为对象,对linux kernel下的component 框架进行分析。
2022-08-08 09:00:00
1510
1
原创 学习资源之mk
1、Android.mk 资源BUILD_JAVA_LIBRARY|极客笔记Android.bp Build Docs (android-8.0.0-r9) · 零壹軒·笔记
2022-04-18 19:54:22
2533
原创 svn 指令学习
1、代码检出checkout将svn服务器上的代码下载到我们电脑上svn checkout svn://xxx.com/xxx/xxx# 指定存储目录svn checkout svn://xxx.com/xxx/xxx save-dir# 指定用户名密码。svn checkout svn://xxx.com/xxx/xxx --username xxxx --password xxx2、提交代码commit把本地修改提交到svn服务器# 描述是必须的,但是可以填写空字符串,不指定sv.
2022-01-18 14:37:48
922
原创 wince 串口 编程
串口的操作一般分为打开串口、配置串口、读写串口和关闭串口一、打开串口 CreateFile函数原型:HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTem
2022-01-09 23:22:18
997
原创 常用 资源
1、android stduio 官方下载网址http://www.android-studio.org/2、bluez网址http://www.bluez.org/3、btstack github源码https://github.com/bluekitchen/btstack4、数据格式转换 以及 常用算法https://i.goto327.top/Tools1/Format.aspx5、android 源码下载(清华源)方法https://mirrors.tuna.t
2022-01-08 22:56:10
1972
原创 Linux ar命令说明
ar命令可以用来创建、查询、修改库。库是一单独的文件,里面包含了按照特定的结构组织起来的源文件。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。命令选项:-d:删除库文件中的成员文件-m:变更成员文件在库文件中的次序-p:显示库文件中的成员文件内容-q:将文件附加在库文件末端-r:将文件插入库文件中-t:显示库文件中所包含的文件-x:从库文件中取出成员文件-a<成员文件>:将文件插入库文件中指定的成员文件之后-b<成员文件>:将文件插入库文件中
2022-01-02 16:59:07
3410
原创 Wince Lib 和 DLL介绍及使用
一、LIB和DLL介绍DLL:动态链接库(dynamic link library)LIB:有两种情况:1)一种是LIB仅包含索引信息(函数所在的DLL文件和文件中函数位置的信息)且无实现,代码由运行时加载在进程空间中的DLL提供2)一种时LIB既包含索引也包含实现(函数代码本身),在编译链接时直接将代码加入程序当中注:1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。2)如果有dll文件,那么lib一般是一些
2021-12-08 16:00:22
277
原创 wince 流驱动
1、动态链接库的入口函数DllEntry(HINSTANCE DllInstance, INT Reason, LPVOID Reserved);说明:每个动态链接库都需要输出这个函数,它只在动态库被加载和卸载时被调用,也就是设备管理器调用LoadLibrary而引起它被装入内存和调用UnloadLibrary将其从内存释放时被调用,因而它是每个动态链接库最早被调用的函数,一般用它做一些全局变量的初始化。参数:DllInstance:DLL的句柄,可以通过它在得到DLL中的一些资源,例如对话框,
2021-12-03 16:54:21
979
原创 wince 注册表说明
注册表WinCE注册表(Registry)是一个系统数据库,用来保存应用程序、驱动程序、用户的设定以及其它一些系统的配置信息,通常还存储着操作系统运作和调用程序的状态信息。wince 支持四个根键:HKEY_LOCAL_MACHINE:硬件和驱动配置数据HKEY_CURRENT_USER:用户配置数据HKEY_CLASSES_ROOT:OLE和文件类型匹配配置数据HKEY_USERS:适用于所有用户的数据注:驱动只能放在HKEY_LOCAL_MACHINE。注册表操作的函数:RegOp
2021-12-03 15:45:16
830
原创 ubuntu切换内核
1:查看当前安装的内核dpkg -l | grep linux-image2:查看可以更新的内核版本:sudo apt-cache search linux-image3:安装新内核sudo apt-get install linux-image-3.13.0-74-generic linux-image-extra-3.13.0-74-generic4:卸载不要的内核sudo apt-get purge linux-image-3.13.0-xx-generic linux-image-ex
2021-09-20 11:18:29
698
原创 linux下 svn服务器搭建及使用
1、安装svn命令:sudo apt-get install subversion2、创建目录和svn仓库1) mkdir /home/zx/test_svn2)svnadmin create /home/zx/test_svn/bluedroid3)修改conf/svnserve.conf,如下图:4)修改conf/passwd文件,增加用户及密码,如下图:5)修改conf/authz文件,配置用户/组权限,如下图:3、启动svn服务killall svnservesvnserv
2021-09-13 18:32:35
10318
原创 git学习 之 实用方面
1、介绍几个概念工作区:未git add之前,当前的本地暂存区:git add 后,git commit 之前的期间本地版本库:git commit 后远程库:git push 后2、介绍相关命令1)git status //查看仓库的当前状态(可以查看工作区或暂存区的状态)zx@zx:~/test/test_git$ git statusOn branch masterUntracked files: (use "git add <file>..." to include
2021-09-12 17:30:29
109
1
原创 补丁生成及使用的学习
git 关于补丁方面的介绍1、通过git format-patch命令生成补丁说明:Administrator@Win10-2021JPKOR MINGW64 /f/tmp/gitTest/test1 (develop)$ git format-patch master0001-add-1.txt.patchAdministrator@Win10-2021JPKOR MINGW64 /f/tmp/gitTest/test1 (master)$ patch -p1 < 0001-add-1
2021-09-12 10:24:17
611
原创 Android Studio 修改默认配置
Android Studio安装好以后会在系统盘用户目录下产生以下几个文件夹:.Android这个文件夹是Android SDK生成的AVD(Android Virtual Device Manager)即模拟器存放路径.AndroidStudio这个文件夹是Android Studio的配置文件夹,主要存放一些AndroidStudio设置和插件和项目的缓存信息.gradle这个文件夹是构建工具 Gradle的配置文件夹,也会存储一些项目的构建缓存信息下面介绍具体文件夹的修改方...
2021-06-05 16:16:25
1466
2
原创 window 重装系统学习
本文章主要是介绍如何使用ISO的方式 重装系统,以下为具体的步骤:一、制作U盘启动工具使用大白菜 / 老毛桃 等制作PE启动工具(一般是默认的一键制作即可)二、下载ISO镜像在itellyou 网站上通过迅雷下载,下载成功后 拷贝到U盘启动器中三、重装系统两种方式:第一种:1、将U盘中的ISO镜像拷贝到电脑的非系统盘(如:DEF),打开桌面上的虚拟光驱,并选择装载,如下:2、选择ISO镜像路径,并选择“直接欸将映像文件映射到 虚拟磁盘”选项,最后点击确定,如下:3、打开WinNTSe
2021-06-03 16:34:58
249
原创 Android 组件学习
Android 服务说明1、startService方法Intent startIntent = new Intent(this, testServer.class);startService(startIntent);执行顺序:testServer(构造方法)–》onCreate–》onStartCommand–》onStart2、stopService方法Intent stopIntent = new Intent(this, testServer.class);stopService(
2021-02-18 17:05:42
122
原创 git 和 svn 学习
svn学习1、检出(svn checkout)checkout操作是用来从版本库上创建一个本地工作副本。本地工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到远程库中。2、更新(svn update)更新本地副本到远程最新提交的节点3、复查变化(svn status)检查本地工作副本修改的变化内容(注:只会列出变化列表、不会提供详细的变更内容)4、修复错误(svn revert .)重置本地工作副本的修改,可以重置一个或多个文件/目录。当然也可以重置整个工作副本,在这种情况下,r
2021-02-06 15:25:47
158
原创 Android AIDL学习与分析
一、简介AIDL(Android Interface definition language/android 接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,可以使用AIDL来生成这样的代码来伪装传递各种参数。使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口
2021-01-31 21:53:36
209
原创 Android 消息机制--Handle
一、handle的基本用法Handler负责我们的消息发送和处理,一般我们创建一个Handler对象,只需要重写它的handleMessage()方法进行处理我们的业务逻辑。 private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { } }; handler.sendEmptyMessage(0);二、常用的发送消息的方法及其实现publi
2021-01-31 17:54:52
326
原创 c语言指针学习
首先指针是个变量,指针的值是另一个变量的地址。指针的类型:(1)int* ptr的指针类型为int*(2)char* ptr的指针类型为char*(3)int** ptr的指针类型为int**(4)int(*ptr)[4]的指针类型为int(*)[4]注:将指针声明中的指针名去掉,就是该指针的指针类型指针指向的类型:(1)int* ptr的指针指向的类型为int(2)char* ptr的指针指向的类型为char(3)int** ptr的指针指向的类型为int*(4)int(*ptr
2021-01-31 14:54:39
74
原创 Linux 进程学习及使用
一、进程的相关概念进程:正在执行的程序程序:可执行的二进制文件僵尸进程:当前进程运行结束,但其资源没有被回收。产生僵尸:子进程退出父进程不使用wait 父进程不能退出。孤儿进程:当前进程的父进程提前结束,此进程被称为孤儿进程。孤儿进程会被1号进程收养,并最终由1号进程回收资源。进程的内存结构:采用虚拟内存管理技术,使得每个进程都有独立的地址空间。该地址空间是大小为4GB的线性虚拟空间。4GB的地址空间被分为两个部分,用户空间和内核空间,0-3GB是用户空间,3-4GB为内核空间。用户进程在通常情
2021-01-24 19:00:49
150
原创 unix Socket进程间通信
结构体部分介绍typs.h# define __STD_TYPE typedef#define __U32_TYPE unsigned int__STD_TYPE __U32_TYPE __socklen_t;unistd.htypedef __socklen_t socklen_t;linux/un.h#define UNIX_PATH_MAX 108struct sockaddr_un { sa_family_t sun_family; /*
2021-01-23 21:45:36
579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人