- 博客(34)
- 资源 (20)
- 收藏
- 关注
原创 VS code 可视化调试Linux kernel内核
本文向大家介绍通过VS code 来调试linux kernel内核,结合源代码实现可视化的单步调试。
2023-02-12 00:43:13
2274
原创 VScode 结合clangd 构建linux源代码阅读环境
vscode + clangd对linux kernel代码进行解析,实现全局搜索、自动跳转、代码补全等功能
2023-02-11 22:38:48
5369
9
原创 VScode 结合Global构建linux源代码阅读环境
向大家介绍使用Global构建linux源代码阅读环境,对linux kernel代码进行解析,实现全局搜索、自动跳转、代码补全等功能。
2023-02-04 18:50:42
6351
3
原创 代码编辑神器--VSCode之插件
代码编辑神器–VSCode之插件Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、Linux 和 macOS 等操作系统的免费代码编辑器,在2019年的Stack Overflow组织的开发者调研中,VS Code被认为是最受开发者欢迎的开发环境。VS Code之所以如此收欢迎一个最主要的特点是有众多的插件,使用者可以自由的安装各类型插件,配置满足个人需求的开发编辑环境,个性化的配色、个性化的图标等都可以通过插件来完成,这篇文章我结合日常工作使用经验,教
2021-12-18 23:48:37
5756
1
原创 代码编辑神器--VSCode
代码编辑神器–VSCodeVSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,最主要的特性是支持插件扩展,安装不同的插件可以配置出个性独特的代码编辑界面,同时软件跨支持 Windows、Mac 、Linux全系列操作系统。VS Code 是目前最受欢迎的一个代码编辑器,经过不同工具之间的比较,我最终选择 VS Code 的
2021-12-12 22:46:05
996
原创 Qemu模拟ARM64使用GDB调试linux kernel
大家在学习linux kernel时,需要购买硬件开发板,这是一笔不少的投入,今天就介绍大家如何使用模拟器来模拟ARM硬件,并且使用GDB来调试linux kernel。
2021-12-12 16:35:55
3862
1
原创 buildroot使用介绍
在进行嵌入式终端开发过程中,如果使用的是linux系统的话,移植适配完成linux kernel后,我们还需要制作linux的启动文件系统,而文件系统通常要包含很多第三方软件,比如udhcpc,tftp,apache,sqlite,PHP,iptable,DNS等,为了避免繁杂的移植工作Buildroot应运而生。
2021-12-11 22:13:48
1400
1
原创 gps模块协议NMEA-0183的解析----android4.2下的gps hal层
这些天调试了一款GPS模组,对GPS的数据格式协议NMEA-0183有了一些了解,现把这些天的心得体会记录下来。GPS 模块硬件介绍:国内的一款GPS模组,使用uart接口与主控进行通信,这款GPS模组只需要供电、使能就能够工作,不需要下载固件、配置文件等。GPS模组上报给主控的GPS数据是有一定的协议的,目前国际上主要的gps数据协议是NMEA-0183,具体的我就不
2014-03-13 00:06:14
7509
1
原创 camera 框架接口函数调用流程,基于android4.0
这段时间对android的camera框架进行了分析,现将这些天的所得记录如下:android的camera框架和其他外设的framework层一样,大致可以分为三层:应用层、cameraservice层、hal层,应用层通过binder机制与运行于后台的cameraservice进行通信,而cameraservice通过hal层最终调用到linux camera驱动。虽然这里可以分为三层,但是代
2013-06-30 00:07:27
2598
原创 android boot.img 拆包,修改adb 具有root权限,以i9250为例
Android 系统的rom最主要的就是3个文件:boot.img、system.img、userdata.img。其中boot.img 存放着内核以及Android系统的配置信息,比如android系统各文件夹的读写权限,adb 的权限。所以如果你要修改文件夹的写权限,adb的root权限,修改boot.img对应的地方就ok了。system.img中存放的是系统的各种库,系统预装的app等,u
2013-01-23 00:41:48
7995
原创 win7电脑无线网变身WiFi热点
网上找的,亲测可行,将win7电脑无线网变身WiFi热点,让手机、笔记本共享上网. 用win7建立无线局域网,可以共享上网可以局域网游戏。开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器购买费。 以操作系统为win7的笔记本或装有无线网卡的台式机作为主机。 主机设置
2012-11-16 00:07:30
2005
原创 the functional interface to the i2c busses.
/* ---------------------------------------------------- * the functional interface to the i2c busses. * ---------------------------------------------------- */int i2c_transfer(struct i2c_ada
2012-09-18 22:26:26
2299
原创 Android 防止异常中断脚本
#!/bin/bash#FileName get-android.shPATH=./bin:$PATHrepo init -u git://android.git.kernel.org/platform/manifest.git -b masterrepo syncwhile [ $? = 1]; doecho "============sync failed,re-syn
2012-08-28 10:16:47
2157
原创 Android 4.03 编译系统------lunch
前面分析了Android 4.03编译系统-------envsetup.sh,今天来说lunch命令。 在Android目录下执行了envsetup.sh后,下一部就是执行:lunch。lunch是在envsetup.sh里面定义的函数,函数原型如下:/**********************************************begin**********
2012-08-27 01:10:32
3730
原创 修改Android镜像文件 ramdisk.img、system.img、userdata.img获取root权限
首先,介绍一下这三个文件。 ramdisk.img 是你make android源代码后,生成的/out/target/product/generic/root目录下经过打包压缩而成的。 system.img 是你make android源代码后,生成的/out/target/product/generic/system目录下经过打包压缩而成的。
2012-08-26 18:33:53
11456
原创 Android 4.03 编译系统------envsetup.sh
接触Android的也快半年了,一直都忙着学习android 的framework、HAL,对Android的编译系统一点都不了解,在编译系统时带来了很多的不便,所以花时间详细的了解了一下,下面记录一下学习心得(由于时间仓促,有的地方理解有误,请不吝赐教)。 Android编译环境的建立以及源码的下载,Android官网给了详细的说明:http://source.android.
2012-08-21 00:15:57
3453
原创 linux I2C 驱动之----i2c_driver的注册 .
在 linux I2C 驱动之----i2c_client 的注册中介绍了i2c_client的注册,现在再来说说i2c_driver的注册过程。 每一个驱动程序都有 module_init(xxxx_init) 这个语句,它代表系统启动的时候会自动执行 xxxx 这个函数,也就是说驱动的人口函数是由module_init来定义的。当然还有module_exit(XXXX),它代表
2012-05-03 23:30:57
3967
转载 android init.rc 分析
init.rc由许多的Action和Service组成。 每一个语句占据一行,并且各个关键字被空格分开。c规范中的(如 /n)反斜杠将被忽略(backslash escapes)而被认为是一个空格 ,双引号用来保证空格不会把一个文字串分分为多个关键字。行最后的反斜杠用作续行。 由 # (前面允许有空格)开始的行都是注释行(comment)。 一个a
2012-04-20 16:15:01
2205
原创 linux I2C 驱动之----i2c_client 的注册
我们知道,linux的设备模型将设备分成了driver,device两大部分,driver即是设备的驱动,device即是硬件设备的具体描述,比如说:设备所拥有的中断,地址等,这里分析一下I2C驱动中device,也即i2c_client的注册。 (注:这里所说明的是linux 系统i2c设备新采用的方法。) 在注册i2c驱动的时候,会去linux系统中的全局变量
2012-04-19 23:24:26
6596
1
转载 Linux下Patch的应用和制作方法介绍
<!--@page {margin:2cm}h1 {margin-top:0.11cm; margin-bottom:0.33cm; color:#000000; text-align:left; widows:2; orphans:2; page-break-after:auto}h1.western {font-family:"Arial",sa
2012-03-15 17:15:07
2327
原创 EVIOCGNAME:Get Device Name
通过ioctl命令EVIOCGNAME,能获取dev/input/event*对应的Device Name。 实例:openInput(const char* inputName) { int fd = -1; const char *dirname = "/dev/input"; char devname[PATH_MAX]; char *
2012-03-15 11:25:35
2725
转载 i2c 具体设备驱动
Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,因为凡是系统中使用到的I2C设备,几乎都需要编写相应的I2C驱动去配置和控制它,例如 RTC实时时钟芯片、音视频采集芯片、音视频输出芯片、EEROM芯片、AD/DA转换芯片等等。 Linux I2C驱动涉及的知识点还是挺多的,主要分为Linux I2C的总线驱动(I2C BUS Driver)和设备驱动(I2C
2012-03-07 13:24:37
1900
原创 Linux驱动I2C分析
一:前言 I2c是philips提出的外设总线。I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线。另外,I2C是一种多主机控制总线。它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以。而I2C是基于multi master机制。一同总线上可允许多个master.关于I2C协议的知识,这里不再赘述。可
2012-03-07 13:14:37
2421
1
转载 android 根文件系统 init
<!--@page {margin:2cm}p {margin-bottom:0.21cm}a:link {}-->在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢?我们只有RFSC(ReadtheFucking
2012-03-06 16:01:35
1792
转载 Android Sensor 适配层的书写--主要是对函数的介绍
[cpp] view plaincopySensor 适配层的书写-----大家多讨论 前文说了,适配层的基本的接口。现在将接口中的内容扩展说下,其实在sensors.h文件中已经说的很明确了,这里只不过是怕自己有遗忘翻译了一下。 /** * Every device data structure must begin with hw_device_t * followed by mo
2012-03-05 13:14:22
1822
转载 Android的传感器HAL层的书写---基础篇
关于传感器,大家在日常的生活中用的很多。比如楼宇的楼梯灯,马路上的路灯等等。那么我们手机里的传感器又可以起到哪些作用呢?现在看下我们的Android中给提供了哪些吧。有加速度传感器,磁场,方向,陀螺仪,光线,压力,温度,接近传感器。 -----------------------------------文件分布----------------------------------------
2012-03-05 13:13:01
1896
转载 android系统Android.mk写法
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CL
2012-03-05 13:01:08
1655
转载 linux查找命令、find、grep
find 命令语法:find 搜索路径 匹配表达式功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔(1)匹配表达式1 -name filename:要查找的文件名。可以使用通配符“*”,“?”,但要用双引号将文件名引起来 例子:【root@localhost tmp】# find –name “h*”
2012-03-05 09:19:09
925
转载 软件包 sun-java6-jdk 还没有可供安装的候选者 ubuntu 11.04
1、通过Ubuntu10.10 相关软件库在Ubuntu11.04中安装Java(JRE/JDK和Java插件)按住ALT+F2组合键,输入gksu /usr/bin/software-properties-gtk然后在“其他软件”—“添加”下面的内容:deb http://archive.canonical.com/ubuntu maverick partner现在,更新下软
2012-03-02 09:22:03
4221
转载 QT 主要的类
Qt常用类(2011-04-26 13:11:30) QChar 表示一个字符的类,包含于QtCore 判断: bool isDigit() const;//判断是否是十进制数字('0'-'9') bool isLetter() const;//判断是否是字母
2011-11-24 13:14:06
947
原创 奇数阶的魔方阵分析
奇数n阶的魔方阵有如下规律算法:魔方阵的排列规律(奇数阵): ⑴将1放在第一行中间一列。 ⑵从2开始直到n×n止各数依次按下列规则存放:每一个数存放的行比前一个数的行数减1,列数加1。 ⑶如果上一个数的行数为1,则下一个数的行数为n,列数加1。如果上一个数的列
2011-10-12 18:03:38
1295
原创 动态分配二维数组,且能如数组一样访问
int **a; // a[NR][NC] -- *a[NR] -- a[j][i]// 动态分配a = (int **) malloc(sizeof(int *) * NR);for (j=0;j{a[j] = (int *) malloc(sizeof
2011-10-12 16:34:17
471
原创 类似于 sqrt 库函数没有定义
在linux下,如果你#inlcude了库文件,但是还是提示没有定义,比如你已经 #include 了,但是还是提示 sqrt 没有定义,主要原因是没有指定函数的链接库路径。解决方法:首先对函数进行查找:在linux下输入命令:nm -o /lib/*
2011-10-12 14:13:45
1347
三维坐标系中已知A、B,C三点坐标,AD,BD,CD距离,C语言求D点坐标; C语言求解三元二次方程组的解
2022-04-24
android4.2 gps hal
2014-03-13
uyaffs2 解压yaffs2 格式的img:system.img userdata.img
2012-08-26
单片机的贪吃蛇游戏,c语言写的
2010-07-31
c51与proteus 波形发生器的设计与仿真
2010-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人