- 博客(23)
- 资源 (10)
- 收藏
- 关注
原创 linux 基本操作
uname -r 查看内核版本号uname -n 查看用户名【18】关机指令 sudo shutdown -h now 立即关机延迟50分钟关机 sudo shutdown -r now 立即重启 sudo reboot now60分钟后重新启动【3】vi 命令 在命令行模式下 h向左移动一个字符 j向下移动一行 k向上移动一
2016-07-20 13:05:06 595
原创 系统运行步骤
uboot:README文件目录结构:平台相关:arch board平台无关:common doc driver fs tools配置和编译:配置:make xxx_config xxx是开发板的名字 比如: make origen_config 顶层目录MakefileMKCONFIG
2016-07-20 13:03:32 373
原创 uboot的启动流程
uboot的启动流程:通用的ubootctags -R 在当前目录下生成tags的索引文件ctrl +] 跳转ctrl + o 后退启动代码:arch/arm/cpu/armv7/start.o (.text*) 第一个阶段: 构建异常向量表 ||\/b reset设置cpu的工作模式关闭中断||\/ bl cp
2016-07-20 13:02:43 278
原创 linux内核的编译过程
linux内核的编译过程:uImage:进入顶层目录的Makefile文件中:504 include $(srctree)/arch/$(SRCARCH)/Makefile ====》 arch/arm/Makefile || \/ 进入arch/arm/Makefile中 必备变量: machine-$(CONFIG_ARCH
2016-07-20 13:02:06 389
原创 内核的调试方法
内核的调试方法: 1、点灯 2、通过串口输出 内核解压阶段, 使用putstr打印(arch/arm/boot/compressed/misc.c) 启动汇编中: printascii console_init()之后: 使用printk函数进行输出 int printk(const char *fmt, ...)int printk(消息级别 c
2016-07-20 13:01:21 384
原创 驱动开发
字符设备: 传输字符流的设备 不允许随机访问(一般) 块设备:数据块 允许随机访问 例如硬盘,U盘网络设备:可以使用网络的设备字符设备驱动:ctrl+N自动补齐生成tags一、模块:组成:1、许可证声明 MODULE_LICENSE("GPL"); 1) 不写内核会产生抱怨 2) 不写则内核很多函数无法使用2
2016-07-20 12:58:36 216
原创 驱动互斥中断
互斥机制: 1、屏蔽中断 2、原子操作 定义原子变量 atomic_t v; 初始化 atomic_t v = ATOMIC_INIT(0); 操作 atomic_t v = ATOMIC_INIT(1); open { if(atomic_dec_and_test(&v)) {
2016-07-20 12:54:36 376
原创 数据结构
数据结构【1】 数据:数据元素的集合; 数据元素:数据中的一项 数据项:描述数据元素的 结构:一种关系 数据结构:研究组成数据的数据元素之间的关系的学科 关系:逻辑关系:线性关系(一对一),树形关系(层次关系)(一对多),网状关系(图状关系)(多对多),集合关系(离散关系) 存储关系:顺序存储,链式存储,索引存储,散列存储; 顺序存储:地址连续,查找方便。不方便频繁的
2016-07-20 10:43:12 554
转载 C#:文件创建、复制、移动、删除
//创建文件夹Directory.CreateDirectory(Server.MapPath("a"));Directory.CreateDirectory(Server.MapPath("b"));Directory.CreateDirectory(Server.MapPath("c"));//移动b到aDirectory.Move(Server.MapPath("b"),
2016-07-19 17:10:56 466
原创 linux内核中内存的使用
Linux内核中内存的使用: 分配内存: unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); mask : order : 决定分配到内存的大小范围是0~10,分配到内存的范围为4K * 2的order次方 4K ~ 4M 返回值为分配到内存的虚拟
2016-07-19 12:44:41 247
原创 LED灯驱动的编写
LED灯驱动的编写:一、原理图 LED2 GPX2_7 LED3 GPX1_0 LED4 GPF3_4 LED5 GPF3_5 输出---0灭、1亮二、芯片手册 GPX2CON 0x11000C40 [31:28] GPX2DAT 0x11000C44 [7] GPX1CON 0x11000C
2016-07-19 12:43:38 759
原创 蜂鸣器驱动
蜂鸣器驱动: 1、原理图 GPD0_0PWM TOUT0 2、芯片手册 CPD0CON 0x114000A0 1 (1)[3:0] c TCFG0 139D0000 2 (2)[7:0] TCFG1 139D0004 (3)[3:0] TCON 139D0008 (6)[3:0]
2016-07-19 12:42:13 969
转载 linux3.x 内核如何强制卸载模块?
一、问题现象:在insmod时调用的init函数代码执行过程中出现oops,导致rmmod卸载失败,此时不得不重启目标板?No!下面是《精通linux设备驱动程序开发》中模拟鼠标的输入设备驱动的内核模块vms.c代码:[html] view plaincopy在CODE上查看代码片派生到我的代码片 #include #include
2016-07-19 12:41:19 1781
原创 LINUX设备模型
一,基于总线的编程 platform_bus 总线:是一条虚拟总线,外设通过总线与cpu相连。所有片内外设设备,通过smc与cpu相连的设备可以使用platfrom_bus总线。 platform_bus_type : platform_driver:驱动的一个结构体代表驱动(去寻找platform_device)eg:driver.name="a"
2016-07-19 12:40:17 610
原创 在Android源码中添加厂商的产品信息
1、 需要在device目录下创建一个以公司命名的目录。比如说:wuhan,然后在wuhan目录下创建一个产品目录,比如是wh1s,在产品wh1s目录下, 我们需要添加一个vendorsetup.sh,内容是:add_lunch_combo wh1s-eng。至此,我们使用lunch命令,就可以才lunch菜单中看到我们的产品配置信息2、 需要在产品目录下创建一个文件,wh
2016-07-19 12:39:20 1321
转载 安卓底层之launcher的更改
auncher,也就是android的桌面应用程序。下图是我正在使用的魅族手机的launcher应用程序: 接下来我们要开发一个自己的launcher,使其替代系统的默认launcher。怎样使我们的应用程序成为一个launcher? 首先我们要有一个自己的Android应用,在这里,我使用最简单的应用程序Hello,使用eclipse创建Android项目
2016-07-19 12:38:06 2202 3
原创 进程
【1】进程 进程是一个抽象实体,当系统在执行某程序时,分配和释放的各种资源 进程是一个程序的一次执行的过程【2】进程和程序的区别进程:动态的,占用内存,占有系统分配资源,具有进程,分级创建的,在启动流程最后。会加载init进程(liunx的第一个进程)其他所有进程都是从此开始每一个PID表示唯一的一个进程,进程号是有限资源【3】进程的相关操作
2016-07-19 12:37:09 568
翻译 Android 传感器
在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。 1#define SENSOR_TYPE_ACCELEROMETER1 //加速度2#define SENSOR_TYPE_MAGNETIC_FIELD2 //磁力
2016-07-19 12:30:25 271
转载 Android ContentProvider的介绍
一、ContentProvider的概念ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的 ContentProvider1、ContentProvider使用表的形式来组织数据 无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格 2、ContentProv
2016-07-19 12:28:42 189
原创 liunx内核睡眠机制
一,手动睡眠 使用灵活二,简单睡眠 使用简单简单睡眠的实现: 1,定义等待队列头 wait_queue_head_t readq;2,初始化等待队列头 init_waitqueue_head(wait_queue_head_t *); 例如: init_waitqueue_head(&readq
2016-07-19 10:57:38 358
原创 I/O模型
1、UDP流程2 提醒:客户端的sendto永远成功,即使服务端没运行,也不报错,所以有了第二种流程。 服务器 客户端 socket(SOCK_DGRAM) socket(SOCK_DGRAM) |
2016-07-19 10:55:05 687
原创 函数和指针
【1】GDB调试 gcc -g test.c -o test gdb ./test l 查看文件 b n 设置断点 info b 查看断点信息 r
2016-07-19 10:51:45 188
countersignature.rar
2021-07-29
WPFPdfViewer.zip C# WPF中打开PDF
2021-07-14
网吧登陆界面,windows应用可以捕捉键盘事件
2021-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人