嵌入式学习
thinkerleo7798
这个作者很懒,什么都没留下…
展开
-
linux内核结构体中的.owner = THIS_MODULE是什么
其实这是Linux内核代码中一种特殊的结构体初始化方式---指定初始化。因为才谭浩强的书上也没有提到过,看过了一些C语言书也没有提到过。今天一查,原来这个是C99标准,这个目前也是最新的标准,之前我也清楚这件事,但是没意识到这是一个差别。在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定转载 2016-09-09 01:08:09 · 3050 阅读 · 0 评论 -
Linux下搭建ARM交叉编译环境的步骤
1.将交叉编译工具链 arm-2009q1.tar.gz 复制到某目录下(这里为/opt/Tools),输入 sudo tar zxvf arm-2009q1.tar.gz 解压到当前文件夹2.设置环境变量,切换到root用户,修改 /root/.bashrc,在文件最后添加如下内容CROSS_COMPILE=arm-none-linux-gnueabi-PATH="/opt/To原创 2016-09-01 00:04:52 · 986 阅读 · 0 评论 -
linux设备驱动中file_operations结构体分析
struct module *owner第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针. 这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在 中定义的宏.loff_t (*llseek) (struct file *, loff_t, int);llseek 方转载 2016-09-24 10:23:49 · 408 阅读 · 0 评论 -
在Ubuntu 64位环境下编译Liunx内核出现 Can't use 'defined(@array)' 错误的解决办法
在编译嵌入式Linux内核时出现了以下错误提示:Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.起初一头雾水,仔细看了错误提示后删掉了kernel/timeconst.pl 文件中 373行的@val = @{$canned_v原创 2016-09-02 11:00:12 · 24886 阅读 · 3 评论 -
简单的字符设备驱动模型
字符设备是指在I/O传输过程中以字符为单位进行传输的设备,这种设备没有缓存,例如键盘,打印机等。#include< linux/module.h>#include< linux/sche.h>#include< linux/kernel.h>#include< linux/init.h>static loff_t test_llseek(struct file *filp, loff_t of原创 2016-10-13 23:46:46 · 247 阅读 · 0 评论 -
linux驱动程序makefile文件的解释
linux驱动程序makefile文件的解释原创 2016-10-25 17:07:27 · 486 阅读 · 0 评论 -
网络文件系统nfs文件系统使用
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/30/1768474.html一、NFS简介1、NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将转载 2016-10-27 14:23:03 · 561 阅读 · 0 评论 -
Linux 中的 /dev/null 和 /dev/zero 设备
Linux 中的 /dev/null 和 /dev/zero 设备原创 2016-10-27 15:00:38 · 1076 阅读 · 0 评论 -
在Linux下搭建51单片机的开发烧写环境
在Linux下搭建51单片机的开发烧写环境原创 2016-11-13 01:09:02 · 18873 阅读 · 6 评论