- 博客(17)
- 资源 (17)
- 收藏
- 关注
原创 android fragment的使用
一.Fragment 是什么Android Fragment最初是为适应大屏幕只需要更新一部分视图的情况而产生的, Fragment可以当作一个界面的一个组成部分,它小于Activity,一个Activity可以包含多个Fragment,且不同的时刻可以自由地控制一个Activity中呈现出哪些Fragment。就像Linux中进程与线程的关系一样。这就意味着Fragment可以有自己的生
2015-06-21 19:02:40
624
原创 在linux系统的fsysfs中创建总线,以及为总线增加设备和驱动
注册总线三步曲:注册总线bus_register(&my_bus_type);创建属性文件bus_create_file(&my_bus_type, &bus_attr_version);注册总线设备device_register(&my_bus);总线由struct bus_type结构来表示,如第一步的my_bus_type, 定
2012-09-20 17:07:51
863
原创 linux设备模型中的kobject使用
要在目录/sys/下创建一个目录,就需要向内核注册一个kobject结构。该结构就是该目录的一个载体。而该结构的属性由struct kobj_type来保存。注册kojbect的方法为:/*初始化 kobject结构*/void kobject_init(struct kobject * kobj);/*将kobject对象注册到linux系统*/Int kob
2012-09-20 17:04:09
532
原创 混杂设备驱动程序的编写
混杂设备定义:linux中把无法归类的五花八门的设备定义为混杂设备,像LED,按键等。所有的混杂设备都被分配一个主设备号10,但每个设备可选择一个单独的次设备号。混杂设备用一个struct miscdevice结构体来描述,混杂驱动只需要调用misc_register()即可完成字符驱动的所有步骤: #include 建一个miscdevice结构体stati
2012-09-11 17:29:51
568
原创 linux设备驱动程序自动创建设备文件
自动创建设备文件方法: 设备驱动和应用程序之间通过/dev目录下的设备文件来通讯,这个设备文件可以由用户使用mknod来手工创建,也可以由设备驱动程序在初始化时自动创建。 这种工作一般是这样的:#include staticint memdev_init(void){struct class *myclass;… myclass = cl
2012-09-10 15:50:18
531
原创 阻塞型字符设备驱动的编写
设置一个阻塞型字符设备驱动在设备的读操作中加入阻塞函数:...While(!have_data){ if (filp->f_flags & O_NONBLOCK) return -EAGAIN; wait_event_interruptible(dev->inq,have_data);
2012-09-10 15:47:55
676
原创 简单字符设备驱动的编写
linux下的每一个字符设备都有一个struct cdev结构体,所以编写字符设备驱动就是把这个结构体填好。该结构体如下:linux-2.6.22/include/linux/cdev.hstruct cdev { struct kobject kobj; //每个 cdev都是一个kobject struct module *owner;
2012-09-10 15:41:23
444
转载 andorid移植好文
http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1_PortingGuides
2012-08-22 14:56:35
632
原创 ioctl初步理解
ioctl系统调用是为用户空间建立的一种控制硬件设备的通道。比如控制串口的波特率,马达的转速等等。是用户空间和内核空间进行通讯的方式之一。要实现一个ioctl,需要用户空间和内核空间两方面的配合。如果想要一个硬件支持ioctl,则要在其驱动函数中加入ioctl的实现,应用
2011-09-20 18:22:55
947
1
原创 Linux下从unicode到UTF-8的转换,含实例
有关unicode及UTF-8和其它字符编码的介绍请参考阮一峰的日志:字符编码笔记:ASCII,Unicode和UTF-8原以为直接使用widechartomultibyte就可以直接搞定,到后来才发现这个程序是在windows平台下用的,Linux下根本找不到。后来
2011-08-10 09:21:28
6692
原创 MultiByteToWideChar和WideCharToMultiByte用法详解
MultiByteToWideChar: 函数功能:该函数映射一个字符串到一个宽字符(unicode)的字符串。由该函数映射的字符串没必要是多字节字符组。 函数原型:int MultiByteToWideChar(UINT CodePage, DWOR
2011-08-07 16:32:04
677
原创 Android 2.2 源码结构分析
Android 2.2 源码结构分析Android 2.2 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build
2011-07-28 14:44:57
450
原创 Linux内核源代码目录
Linux内核源代码的组成如下(假设相对于linux目录): arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。 include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录
2011-07-28 14:39:54
638
原创 hexdump - ”十六“进制查看器使用方法
用途说明hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii, decimal, hexadecimal, octal dump“,这也就是本文标题为什么要将”十六“给引起来的原因,而且它能查看任何文件,而不只限于二进
2011-07-28 09:40:09
1846
原创 正确使用sizeof和strlen
sizeof 是用来计算一个数组占用多少空间,如果操作数是一个指针,则反回的是一个指针的大小。下面看一些例子: char ss[10]; sizeof(ss) == 10;表示在内存中的大小为 10*1 char ss[] =
2011-07-25 19:19:26
575
原创 串口设置问题
上一周已经确定供应商给提供的程序不是在Linux下台下的,所以底层的通讯函数都不能用,需要全部重写。花了好长时间研究了串口的相关设置,由于今天刚始没有摆正心态认真对待该问题,所以在最初写串口程序的时候走了一些弯路,导致效率低下和时间的浪费。在重复尝试多次失败生决定全部重写串口通讯
2011-07-25 19:15:16
564
原创 You have not yet configured your kernel!
<br />主要是编译2.6.29内核,按照友善之臂提供的内核源码包,make menuconfig选 Load an Alternate Configuration File <br />来load config_mini2440_n35,结果总是<br /><br />HOSTLD scripts/kconfig/conf<br />scripts/kconfig/conf -s arch/arm/Kconfig<br />***<br />*** You have not yet configured
2011-02-27 11:26:00
3551
qtmqtt-5.14.0 sourcecode 源代码
2020-03-16
The Buildroot user manual
2017-12-13
国嵌嵌入式(linux)培训课件项目实战
2011-01-07
国嵌培训课件Linux驱动程序设计
2011-01-07
国嵌嵌入式(Linux)开发培训课件 内核开发与系统移植
2011-01-07
国嵌嵌入式(linux)培训课件ARM程序设计与系统移植
2011-01-07
基于S3C2440 ARM Linux图像采集系统的研究
2010-09-12
基于ARM的图像模糊边缘检测*
2010-09-12
基于嵌入式ARM的LCD图像显示系统设计.pdf
2010-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人