自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(283)
  • 资源 (26)
  • 收藏
  • 关注

原创 x4412开发板&ibox卡片电脑项目实战20-C库函数文件操作实验

我们不仅可以使用linux的文件操作函数,还可以直接使用标准的C库函数文件。C库函数的文件操作实际上是独立于具体的操作系统平台的,不管是在 DOS、Windows、Linux 还是在 VxWorks 中都是这些函数。这极大地方便了用户层的调试。1.1.1    创建和打开FILE *fopen(const char *path, const char *mode);fopen()实现打

2014-10-12 13:00:40 1342

原创 x4412开发板&ibox卡片电脑项目实战19-linux文件操作实验

linux的文件操作包括创建,打开,读写,定位,关闭等。在WINCE或是WINDOWS系统下,我们通常称这些接口为API函数。下面我们将分别介绍这些系统函数的使用方法。1.1.1    创建int creat(const char *filename, mode _ t mode);参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中u

2014-10-12 12:57:50 1673

原创 x4412开发板&ibox卡片电脑项目实战17-模块传参实验

在很多情况下,在加载驱动时我们需要接收外部的指令。我们可以通过加载模块传递参数的方式实现。在驱动中,通过“module_param(参数名,参数类型,参数读/写权限)”为模块定义一个参数,在加载模块时,向其传递参数。如果不传递,则参数为驱动中定义的默认值。参数类型可以是 byte、short、ushort、int、uint、long、ulong、charp(字符指针)、bool 或 invbo

2014-10-12 12:53:27 1384

原创 x4412开发板&ibox卡片电脑项目实战18-驱动中导出符号

在驱动调试时,经常需要驱动互调,即在A驱动中调用B驱动中的相关函数。这时,驱动中的导出符号功能就可以大显身手了。/proc/kallsyms文件对应着内核符号表,它记录了符号以及符号所在的内存地址。模块可以使用如下宏导出符号到内核符号表:EXPORT _ SYMBOL(符号名);EXPORT _ SYMBOL _ GPL(符号名);       其他模块需要使用导出的符号时,只需声明

2014-10-12 12:53:14 1119

原创 x4412开发板&ibox卡片电脑项目实战16-将hello x4412驱动编译成模块

在内核根目录执行make menuconfig,进入Device Drivers-> Character devices菜单界面,找到hello X4412 driver配置选项,按空格键将它配置成模块[M],保存退出。执行如下指令,保存配置好的内核配置文件:cp .config arch/arm/configs/x4412_android_defconfig       再在整个源码

2014-10-12 12:44:44 1355

原创 x4412开发板&ibox卡片电脑项目实战15-移植第一个hello x4412内核驱动

前面我们学习了Linux驱动的调试方法,加载方法以及编写步骤,本章节我们将从零开始,编写第一个字符设备驱动。在kernel/drivers/char/x4412目录下新建Makefile,Kconfig以及hello-x4412.c三个文件,Makefile文件内容如下:obj-$(CONFIG_HELLO_X4412_DRIVER) += hello-x4412.oKconfig文件

2014-10-12 12:42:00 1133

原创 x4412开发板&ibox卡片电脑项目实战14-linux驱动的编写步骤

从零开始编写linux驱动时,无论采用linux的何种架构,基本上都可以归纳为以下驱动八要素。1.1.1    建立Linux驱动框架Linux内核在使用驱动时首先要装载驱动,在装载过程中进行一些初始化动作,如建立设备文件、分配内存等。在驱动程序中需提供相应函数来处理驱动初始化工作,该函数须使用module_init宏指定。Linux系统在退出时需卸载Linux驱动,在卸载过程中进行一些退

2014-10-12 12:20:55 1434

原创 x4412开发板&ibox卡片电脑项目实战12-linux驱动的加载方法

在类unix操作系统中,驱动加载方式一般分为:静态加载和动态加载。静态加载就是把驱动程序直接编译到内核里,系统启动后直接被调用。静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译下载内核,效率较低。动态加载利用了LINUX的module特性,可以在系统启动后用insmod命令把驱动程序(.ko文件)添加上去,在不需要的时候用rmmod命令来卸载。下面我们通过蜂鸣器驱动实例分别对其进行详

2014-09-27 23:40:08 4855

原创 x4412开发板&ibox卡片电脑项目实战11-linux驱动的调试方法

驱动程序开发的重点就在于驱动、系统的调试了,因此,掌握linux驱动的调试方法,是linux系统工程师必须掌握的技能。这里介绍驱动开发中常用的几种调试手段:l 利用printkl 查看OOP消息l 利用stracel 利用内核内置的hacking选项l 利用ioctl方法l 利用/proc 文件系统l 使用kgdb1.1.1    利

2014-09-27 23:35:48 3134

原创 x4412开发板&ibox卡片电脑项目实战10-使用buildroot搭建linux文件系统

上一章节我们讲述了最简单的文件系统的搭建方式,在实际应用场景中,我们需要添加很多第三方文件,比如busybox,tslib,qt,vim,交叉编译工具等,如果我们手动移植里面的任何一个源码包,都会花费我们少则半个小时,多则半天,甚至一天,大大的浪费了我们宝贵的时间。buildroot可以很方便的解决这些问题。我们只需要通过menuconfig配置我们需要的功能,不需要的功能去掉,再执行make指令

2014-09-27 23:30:49 3217

原创 x4412开发板&ibox卡片电脑项目实战9-搭建最简单的linux文件系统

Linux文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。有了文件系统,用户就可以很方便的和Linux设备进行数据交互了。随着实际需求的不断提高,Linux文件系统也变得越来越庞大。无论它如何千变万化,归根结底,都是基于最基本的linux文件系统不断丰富而来。因此,我们完全有必要了解最基本的文件系统的搭建过

2014-09-27 23:20:12 2289

原创 x4412开发板&ibox卡片电脑项目实战8-Linux下的C语言编程风格

谈起linux的编程,我们首先就会想到GNU。GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。它在编写linux的时候自己制作了一个标准成为 GNUC标准。ANSI,全称为美国国家标准协会,它对C做的标准后来被国际标准协会接收成为标准C ,所以 ANSI C即标准C。GNU C对标准C进行了一系列扩展,以

2014-09-27 22:45:14 2188

原创 x4412开发板&ibox卡片电脑项目实战7-Linux内核的引导

linux的启动框架如下:

2014-09-27 22:29:34 1259

原创 x4412开发板&ibox卡片电脑项目实战6-配置内核

我们可以使用如下四条命令的任意一条来配置内核:

2014-09-27 22:24:25 1215

原创 x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO

由于我们linux,android都共用一套uboot和内核,因此默认linux系统启动时,显示的仍然是一个android机器人图标。我们可以从这个机器人图标入手,修改成我们自己想要的LOGO。具体步骤如下:第一步:在kernel/drivers/video/logo/Kconfig 中添加配置文件: config LOGO_X4412_CLUT224 bool "224-color X

2014-09-23 16:15:24 1380

原创 x4412开发板&ibox卡片电脑项目实战4-在uboot中添加开机LOGO

在uboot中添加开机LOGO,基本上可以归纳为以下四个步骤:一:初始化LCD控制器相应的寄存器;二:初始化LCD控制器对应的时钟源;三:填充framebuffer;四:打开背光。在uboot\board\samsung\x4412\x4412.c中,我们在函数board_late_init中添加显示开机LOGO的函数x4412_framebuffer_init(),该函数内嵌

2014-09-23 16:07:59 1780

原创 x4412开发板&ibox卡片电脑项目实战3-文件系统编译脚本解析

mk脚本中包含了android文件系统和linux文件系统的编译,这里我们只讲解linux文件系统的编译脚本。

2014-09-23 16:00:17 1551

原创 x4412开发板&ibox卡片电脑项目实战2-内核编译脚本解析

内核的编译脚本如下:build_kernel(){ # Compiler kernel cd ${BS_DIR_TOP}/kernel || return 1 //进入内核目录 make ${BS_CONFIG_KERNEL} || return 1 //配置内核 make -j${threads} || return 1 //编译内核 # Copy zImage to r

2014-09-23 15:58:53 1572

原创 x4412开发板&ibox卡片电脑项目实战1-uboot编译脚本解析

x4412&ibox平台所有源码包统统可以使用一个mk脚本编译。编译uboot的脚本如下:build_uboot(){ # Compiler uboot cd ${BS_DIR_TOP}/uboot || return 1 //进入uboot根目录 make distclean || return 1 //清除缓存 make ${BS_CONFIG_BOOTLOADER_UBOOT

2014-09-23 15:56:54 2107

原创 android4.0平台通过IOCTL控制LED-基于x210v3开发板

1.1     使用IOCTL测试LED前面的实验中,我们通过sys文件系统,在sys/devices/platform/x210-led目录下建立了四个对应led的文件,通过改变这四个文件的状态控制LED灯。本章节我们重新编写驱动,另外再编写测试应用程序,通过IOCTL控制LED。1.1.1    LED驱动在kernel/drivers/char目录下建议led2目录,在led2目

2013-09-10 13:44:11 4802

原创 android4.0平台通过echo命令控制LED-基于x210v3开发板

第一步:编写LED驱动在kernel/drivers/char目录新建led目录,在led目录下建立如下四个文件:x210-led.cKconfigMakefile各自内容见开发板源码包。第二步:修改kernel/drivers/char/Kconfig文件,添加如下代码: source "drivers/char/led/Kconfig" 第三步:修改ke

2013-09-09 15:44:37 2835

原创 基于x210v3/s5pv210开发板的裸机教程发布,含26个精美实例

1.1     x210v3裸机开发1-LED流水灯实验1.1     x210v3裸机开发2-蜂鸣器实验1.1     x210v3裸机开发3-按键控制LED灯实验1.1     x210v3裸机开发4-按键控制蜂鸣器实验1.1     x210v3裸机开发5-串口输入输出实验1.1     x210v3裸机开发6-LED测试程序1.1     x210v3裸机开发7

2013-09-03 10:25:57 4999

原创 android4.0.4平台关闭自动休眠功能-基于x210ii开发板

frameworks\base\packages\SettingsProvider\res\values\defaults.xml这里记录了很多默认的设置值找到60000将60000改为-1即可。编译时删除x210_ics_rtm_v11/out/target/product/smdkv210/obj/APPS/Settings_intermediates目录,再./mk -s

2012-10-30 14:30:50 1616

原创 x210ii开发板支持几乎全视频格式视频解码[独家支持]

x210ii全视频播放测试方法准备工作:先从网上下载最新的映像文件,再使用fastboot更新system.img,重启开发板。下载地址: http://xboot.org/thread-6920-1-1.html测试步骤:第一步:将视频源文件如*.rmvb,*.rm等拷贝到SD卡,然后将SD卡插入开发板的右侧卡槽。可以通过串口终端查看视频源文件:

2012-08-29 12:01:25 2270

原创 x210ii开发板使用fastboot下载出现没有权限的问题

使用fastboot烧写映像时,出现如下错误信息:jjj@ubuntu-server:~/s5pv210/android_gingerbread_v10/android/out/release$ fastboot flash system system.img 或是jjj@ubuntu-server:/etc/udev/rules.d$ fastboot devicesno

2012-08-28 12:04:10 2389

原创 s5pv210平台WCDMA模块[华为E1750]调试成功-基于x210ii开发板

集成E1750源码包的映像,启动界面如下:可以看到,在左上脚,有CHN-UNICOM的标识,即联通WCDMA卡已经识别。进入WIFI设置界面,最下面有个移动网络,点击进去:启用数据访问功能,网络运营商选择自动,连接成功后,在任务栏会有一个G的标识。这时,就可以开启浏览器上网了:实物图如下:

2012-08-28 10:49:34 1947

原创 x210ii DM9000驱动调试成功-基于x210ii/s5pv210开发板

//----------------------------------------------------------------------------------------------------------------------------// 作者:armeasy// 版权:www.9tripod.com// 平台:九鼎创展x210ii/s5pv2

2012-04-20 17:05:52 4147 4

转载 百度、Google.yahoo排名机制和优化规则

由于搜索引擎数量太多,我在这里只能分析百度,GOOGLE,YAHOO之间区别。百度是中文用户市场份额最大的一个,不过由于竞价排名的原因,大多数SEO都不注重百度的SEO。GOOGLE是SEO们奋斗的焦点,而YAHOO,最近一段时间则默默无闻,由于YAHOO和GOOGLE的相似程度比较高,所以,GOOGLE SEOER们喜欢YAHOO,也比喜欢百度多一些。  这一课的题目写的是分析,可这

2012-02-11 23:04:48 5046

转载 Google左侧排名优化

首先,是全球使用量最大、技术最先进、排名公正性最好、影响力最大的优秀搜索引擎。2003年11月18日,著名网站访问统计调查机构OneStat的最新数据表明,Google的搜索市场占有率从55.2%上升到56.1%,同时Yahoo!以21.5%位居第二。Google左侧排名为自然排名,即根据你的网站重要性等参数来排列的,花多少钱也买不来。你的排名高,意味着你在行业的影响力远远超过同行。

2012-02-11 23:03:55 1171

转载 Android LOG机制流程图

以下只是Android LOG机制流程图,关于Android LOG机制的更多详细内容请参阅《Android LOG机制详解》

2012-02-09 11:35:25 1200

转载 在Android的c/c++代码中使用LOG

在Android中,Java代码通过android.util.Log输出Log信息,同样的本地c/c++代码也提供了相对应而且是更多的接口。Android直接在头文件(system/core/include/cutils/log.h)里定义了一些日志输出的宏,这些宏比android.util.Log提供了更多的日志输出接口。因此,使用这些宏,就可以进行和java代码中一样的日志输出。宏LOGD()

2012-02-09 11:34:09 5149

转载 Android.mk的用法和基础

一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中列出头文件和依赖文件。NDK编译系统将会为你自动处理这些问题。这也意味着,

2012-02-06 08:50:43 870

原创 android编译单独模块时异常提示

lqm@lqm:~/android_gingerbread$ make ledtestapp============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.3.1TARGET_PRODUCT=genericTARGET_BUILD_VARIANT=engTARGET_

2012-02-01 17:39:20 1306

转载 misc_register和register_chrdev的区别

注册杂项字符设备,该类设备使用同一个主设备号10杂项字符设备使用的数据结构struct miscdevice  {    int minor;    const char *name;    struct file_operations *fops;    struct list_head list;    struct device *dev;    struct

2012-01-13 09:57:56 2463

转载 register_chrdev,class_create()

int register_chrdev(unsigned int major, const char *name,             struct file_operations *fops);    其中,major是为设备驱动程序向系统申请的主设备号,如果为0则系统为此驱动程序动态地分配一个主设备号。name是设备名。fops就是前面所说的对各个调用的入口点的说明。此函数返回

2012-01-13 09:34:52 2796

原创 android平台按键驱动[基于x210开发板]

按键驱动源码在kernel/arch/arm/mach-s5pv210/button-smdkv210.c中,源码很简单,在s3c_button_probe函数中设置相关按键的寄存器,再开启定时器定时扫描。在定时器中断函数s3cbutton_timer_handler中判断相应IO口的电平,达到监控按键的作用。值得注意的是,当我们需要修改按键的功能时,需要和android层的按键匹配起

2011-12-28 14:39:20 2063

原创 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]

第一掌:编译KO文件,生成rt3070sta.ko编译时提示如下错误:错误:./include/generated/autoconf.h:708: fatal error: /home/lqm/share/V210/samsung/kernel/include/config/modversions.h: No such file or directory这是因为内核中没有开启模块版

2011-12-23 10:11:21 7481 2

原创 android平台矩阵键盘驱动[基于x210开发板]

矩阵键盘驱动源文件:kernel/drivers/input/touchscreen/keyboard/s3c-keypad.ckernel/drivers/input/touchscreen/keyboard/s3c-keypad.hkernel/arch/arm/mach-s5pv210/mach-smdkc110.ckernel/arch/arm/plat-s5p/devs.

2011-12-19 10:39:09 4658

原创 android平台init.rc脚本修改-[基于x210开发板]

很多时候,我们需要修改init.rc来满足不同的应用需求。这里提供两种修改方法:一:普通修改方法    在device/samsung/smdkv210目录下,有init.rc和init_sdmmc.rc两个文件。如果映像存放在SD卡中,需修改init_sdmmc.rc,如果映像存放在nand中,则需修改init.rc文件。修改完后,执行./mk -s,修改后的文件会打包到out/

2011-12-19 09:46:01 9348

原创 android平台busybox的终极解决方案---基于x210开发板

之前写过一篇博客,名为给android添加busybox,给出了四种移植方法,但是仍然不是很完美,需要后期处理,不能一次性解决所有问题,下面给出上文的补丁,即android平台busybox的终极解决方案,具体步骤如下:第一步:交叉编译busybox这里选择busybox-1.19.0,当然可以用更高的版本。修改makefile文件,修改的内容如下:ARCH ?= armC

2011-12-15 14:47:33 1936

x4418开发板硬件手册

九鼎创展s5p4418开发板硬件手册,详细的描述了S5P4418芯片相对Exynos4412的差异,以及S5P4418的优点。

2015-06-27

九鼎创展x4418开发板裸机教程

九鼎创展s5p4418开发板近20个炫丽的裸机示例,从最简单的LED到蜂鸣器,按键,中断,shell,printf,到LCD图片,LCD动画,由简到难,循序渐进,很值得一读。

2015-06-27

九鼎创展s5p4418核心板简介

九鼎创展x4418核心板简介,描述了x4418核心板详细管脚图,使用方法

2015-06-27

九鼎创展s5p4418开发板android平台用户手册

九鼎创展 三星四核s5p4418核心板开发板android平台用户手册,详尽的操作实例

2015-06-27

I210开发板硬件手册

九鼎创展i210开发板硬件手册,全功能企业级开发板,芯片管脚全引出,板载VGA

2015-06-27

x4412开发板裸机开发教程

九鼎创展x4412开发板详尽的裸机示例教程,从简单到复杂,从LED到中断,LCD,动画,应有尽有,全部开源!

2014-08-19

X4412开发板硬件手册

九鼎创展x4412开发板硬件手册,三星四核开发板设计

2014-07-31

x4412开发板android4.2平台用户手册

九鼎创展x4412开发板android4.2平台详细使用手册,强烈推荐

2014-07-31

x210v3裸机开发教程

基于九鼎创展x210v3开发板的裸机开发实例,内含26个精品实例,源码,详细讲解,非常适合嵌入式开发初学者学习

2013-09-03

x210v3 linux平台用户手册.pdf

x210v3 linux平台用户手册 qt,qtopia

2013-08-21

嵌入式Linux截图工具的移植

嵌入式平台下的截图工具的移植,很有用,在QT,android上均可使用。

2011-05-23

基于嵌入式Linux平台的最小文件系统的制作

linux文件系统的制作,最小文件系统的制作,6410文件系统

2011-05-23

基于ARMEasy6410的TSLIB1.4的移植详解

TSLIB1.4,LINUX触摸屏驱动移植

2011-05-23

字符设备驱动学习笔记(2.6.23)

linux,char driver,从基础开始,原来linux驱动就是这么简单!

2010-04-02

使用JLink烧写S3C2440开发板的Flash

采用JLINK烧写NAND,NOR的方法,本人测试通过

2010-04-02

通过powerButton驱动分析WINCE的中断实现.rar

基于S3C2440的详细的KEY驱动说明文档。初学CE驱动的好资料!

2010-04-01

空空如也

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

TA关注的人

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