- 博客(7)
- 资源 (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 1318
原创 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 1646
原创 x4412开发板&ibox卡片电脑项目实战17-模块传参实验
在很多情况下,在加载驱动时我们需要接收外部的指令。我们可以通过加载模块传递参数的方式实现。在驱动中,通过“module_param(参数名,参数类型,参数读/写权限)”为模块定义一个参数,在加载模块时,向其传递参数。如果不传递,则参数为驱动中定义的默认值。参数类型可以是 byte、short、ushort、int、uint、long、ulong、charp(字符指针)、bool 或 invbo
2014-10-12 12:53:27 1360
原创 x4412开发板&ibox卡片电脑项目实战18-驱动中导出符号
在驱动调试时,经常需要驱动互调,即在A驱动中调用B驱动中的相关函数。这时,驱动中的导出符号功能就可以大显身手了。/proc/kallsyms文件对应着内核符号表,它记录了符号以及符号所在的内存地址。模块可以使用如下宏导出符号到内核符号表:EXPORT _ SYMBOL(符号名);EXPORT _ SYMBOL _ GPL(符号名); 其他模块需要使用导出的符号时,只需声明
2014-10-12 12:53:14 1105
原创 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 1346
原创 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 1122
原创 x4412开发板&ibox卡片电脑项目实战14-linux驱动的编写步骤
从零开始编写linux驱动时,无论采用linux的何种架构,基本上都可以归纳为以下驱动八要素。1.1.1 建立Linux驱动框架Linux内核在使用驱动时首先要装载驱动,在装载过程中进行一些初始化动作,如建立设备文件、分配内存等。在驱动程序中需提供相应函数来处理驱动初始化工作,该函数须使用module_init宏指定。Linux系统在退出时需卸载Linux驱动,在卸载过程中进行一些退
2014-10-12 12:20:55 1423
九鼎创展x4418开发板裸机教程
2015-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人