鉴于51博客的专业程度和活跃程度与CSDN均略逊一筹,即日搬家到csdn博客。
这几天一直在练习驱动,搭建一个简单的交叉编译环境,交叉编译工具链和开发板的源码都导进去linux的目录中,并且解压,但是执行一个简单的交叉编译命令总会出现一个奇怪的错误提示:as:unrecongnized option 'mcpu=XXX';百思不得其解,后来经过一个实验室的师兄的提示,终于明白了。这里有一个背景需要交代一下:我是在windows下面的unbuntu虚拟机中进行的驱动开发练习。首
在windows下的VMware的虚拟机中安装VMtools时好多人包括笔者本人都遇到了安装失败的问题,下面就我个人的经验来说下,该如何解决这个问题:1.右击你安装好的虚拟机,选择安装VMtools或者重新安装VMtools,然后下面会提示你这样的信息:在客户机中装在虚拟驱动,在终端启动,使用tar解压安装程序。2.然后你需要做的就是:如果在/mnt目录下面没有cdrom,则需要手动创建一个目录,
检查安装VMware的时候是否同时安装了vmtools,方法很简单,只要右键点击创建的虚拟机,出现“安装VMtools”即可确定是没有安装上,反之,则已经安装。右击创建好的虚拟机,选择“设置”选项,选“高级”,选择共享文件夹,添加文件夹的路径。(如果不能设定的话,尝试关掉虚拟机的运行)确定好安装了VMware之后,按组合键ctrl+alt+t进入中断命令行模式,输入cd /mnt之后,ls所有的文
这次主要记一些关于linux的文件属性和目录配置的东西:1.什么是用户组?首先要明确,linux是一个多用户多任务的操作系统。那么什么是多用户多任务操作系统呢?多任务好理解,就是计算机可以同时执行多个任务,并行处理;而多用户就是操作系统允许多个用户共享使用同一台计算机资源,也就是在一台计算机上联接几台几十台终端,终端机可以没有cpu没有内存,只要有键盘和显示器就可以操作此操作系统,计算机按固定的时
从今天开始记录整理一些自己学linux过程中的一些笔记和疑问的解答。菜鸟的成长就从今天开始,希望能坚持下去,以后回来看的时候,虽然觉得当时有点青涩,但还是能体会到一种用心之后的成就感。首先,什么是操作系统?个人总结就是正确控制计算机硬件运行的一种系统。但是,用户怎么与操作系统进行交流,以达到使此操作系统正确控制硬件运行的目的呢?所以用鸟哥的话来讲,就是操作系统必须包含两个组件,一个就是“核心与其提
从名字上看,老的unix系统的CC程序叫做C Compiler。但GCC这个名字按GNU的说法叫做Gnu Compiler Collection。因为gcc包含很多编译器(C, C++, Objective-C, Ada, Fortran,and Java)。所以它们是不一样的,一个是一个古老的C编译器,一个是编译器的Gnu的编译器的集合(Gcc里的C编译器比CC强大太多了,所以你没必要用CC
在学习特殊的变量之前,不得不先学习一下隐规则。隐规则可以理解为make对输入数据产生的默认动作。回顾之前任务二是的makefile#任务二的makefilehello: hello.o func.o gcc hello.o func.o -o hellohello.o: hello.c gcc -c hello.c -o hello.ofunc.
上一节我们学会了如何写最简单的makefilehello: hello.c gcc hello.c但,若hello变成其它名称,则要一个一个编辑过来,或者查找且替换,着时麻烦,那该如何改进呢?没错,就是变量。在makefile里定义变量: 变量名 = 值调用变量: $(变量名)那么,上面的makefile可以转化为NAME = helloCC = gcc$(NAME):
makefile对于溺于IDE下的朋友们一定接触的不多,因为IDE把建立makefile的任务一手包办了,但常期以往沉浸于IDE的溺爱是对发展非常不利的,特别是在unix下和makefile打交道是更为普遍,所有学会写makefile是非常有必要的。在IDE下,系统之所以能井然有序的对众多源代码进行编译和链接,是因为IDE很明确的告诉系统先做什么而后做什么。而makefile就是一个传播这些信息媒
了解linux驱动程序技巧学习的方法很重要,学习linux操作系统时,你可能会遇到关于驱动方面的问题,这里将介绍学习linux驱动程序的方法,在这里拿出来和大家分享一下。1.学会写简单的makefile2.编一应用程序,可以用makefile跑起来3.学会写linux驱动程序的makefile4.写一简单char驱动,makefile编译通过,可以insmod,lsmod,rmmod.在驱动程序的
所有挂接到SPI接口的SPI设备都是作为字符设备存在于内核,这些字符设备的操作函数集在文件spidev.c中实现。static struct file_operations spidev_fops = { .owner = THIS_MODULE, .write = spidev_write, .read = spidev_read, .unlocked_ioctl = spidev_
驱动程序中ioctl函数的函数原型如下: int (*ioctl)(struct inode *inode, struct file *filp,unsigned int cmd, unsigned long arg);其中cmd和arg参数是ioctl与其它驱动程序函数不同的地方。cmd是预先定义好的一些命令编号,对应要求ioctl执行的命令。arg是与cmd配合使用的参数。ioc
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号