嵌入式linux
倾斜的正弦波
这个作者很懒,什么都没留下…
展开
-
网络文件系统
挂载网络文件系统 想先从linux驱动入手进行整理,前面最基础的环境搭建啥的就不进行总结了,买的每个开发板子实际都会有说明文档的,按照要求做就可以了。 调试驱动的话,还是要说说网络文件系统的,要不调试程序,每次把程序烧录到开发板就能把人搞死,有了nfs就好多了。我现在手里面的开发板子是韦东山 先说说网络文件系统是啥。NFS就是Network FileSystem的缩写,它的最大功能就是可以通原创 2017-07-20 16:06:17 · 353 阅读 · 0 评论 -
ubuntu18.04 -安装opencv
1 下载opencv https://opencv.org/releases.html 我安装的3.202 进入 opencv的目录 新建文件夹 在新建的文件夹里面构建opencv 进行编译,这样不容易出错 mkdir build cd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX...原创 2018-07-04 16:06:13 · 6913 阅读 · 0 评论 -
Ubuntu 18.04--qemu模拟ARM开发板
用开发板做应用调试很麻烦,有时候根本没办法搭建硬件的环境,今天用qemu在PC模拟ARM开发板,这样以后做应用的调试和研究内核就容易多了,一台电脑搞定。步骤:安装qemu模拟器安装arm交叉编译链下载kernel和编译内核下载busybox制作根文件系统跑起来安装qemu模拟器 sudo update sudo apt-get install qemu-syst...原创 2018-07-03 12:57:10 · 2208 阅读 · 1 评论 -
按键驱动(一)-中断
想写linux的按键驱动,那么需要补充许多的基础知识,比如linux的中断申请,linux 等待队列,linux定时器、异步通知等。我们会依依的简单复习一下。我们再来明确一下目标,一会就奔着目标去。 目标:按键通过中断,异步通知上层应用,驱动点亮led并上报按下的状态。 Linux中断子系统向驱动程序提供了一系列的API,其中的一个用于向系统申请中断:这时内核2.6.30之后的api,内核原创 2017-07-26 12:41:32 · 612 阅读 · 0 评论 -
linux-自旋锁
自旋锁,就像名字一样,自旋。我们可以把自旋锁看作是一个变量,这个变量把临界区标记以下,如果进程正在运行去访问变量,另一个进程也想过去访问,那么因为有自旋锁的存在,另一个进程就要原地打转,等正在运行的运行结束再去访问。就像是一个陀螺一样,不停的打转,等着变量空闲再去访问。 自旋锁的内核接口//初始化自旋锁,将自旋锁设置为1,表示有一个资源可用。spin_lock_init(lock) /原创 2017-07-25 21:34:07 · 294 阅读 · 0 评论 -
linux-原子操作
何为原子操作?以前认为原子是组成物质的最小单位,是不可分割的。因此就利用原子这个词,表示某个操作也是原子的,不可分割的,不能被打断,这就是原子操作。原子操作又分为整型原子操作 和 位原子操作。如果我们想使用原子操作,linux的内核都给我们做好了,我们只需要搞定原理然后去用就好了。linux 的原子操作都依赖底层的CPU的原子操作来实现,所以和CPU架构密切相关。原子操作在不同体系架构实现的方法不同原创 2017-07-25 20:53:01 · 702 阅读 · 0 评论 -
字符设备驱动(四)-led实例
前面已经讲解了字符设备驱动的基本框架,接下来我们就写一个led的驱动程序,一步步的了解字符设备驱动。我们还是先从应用程序开始。 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> /* firstdrvtest on *原创 2017-07-25 15:03:16 · 578 阅读 · 0 评论 -
字符设备驱动(三)
上一篇说了cdev和file_operation 结构体,分析完毕就需要用起来,那么怎么用呢?linux内核已经给了许多接口函数我们直接用就可以了。先大致了解一下。初始化cdevvoid cdev_init(struct cdev *, struct file_operations *); cdev_init()//函数用于初始化 cdev 的成员,并建立 cdev 和 file_operat原创 2017-07-22 00:32:53 · 310 阅读 · 0 评论 -
字符设备驱动(二)
上一篇讲了应用层的程序,接下来我们继续往下走。 先来看看从应用层到驱动的调用过程。open会最终执行sys_open函数. sys_open -> do_sys_open -> do_filp_open ->do_last-> nameidata_to_filp -> __dentry_open-> open = f->f_op->open(即调用chrdev_open)-> filp->f_原创 2017-07-21 22:11:53 · 311 阅读 · 0 评论 -
字符设备驱动(一)
文中所用到的文字和图片,有自己的部分也有别人的部分,我算是站在巨人的肩膀上进行融合,感谢他们。我先把我参考的文章列地址出来! http://blog.jobbole.com/86531/ http://blog.csdn.net/lwbeyond/article/details/49840215写字符设备之前,我们先来看看linux驱动的整体框架吧,直接上图。 linux系统主要将设备原创 2017-07-21 15:40:16 · 646 阅读 · 0 评论 -
Ubuntu18.04挂载nfs失败....
VFS: Unable to mount root fs via NFS, trying floppy.内核 配置 和传参都检测了很多遍 没查出问题我去,搞了一晚上… 做开发千万别随意升级系统Ubuntu 18.04 nfs 默认为协议3和协议4,但是 我的uboot 默认启动的是协议2的形式如: /srv/homes hostname1(rw,sync,no_subtree...原创 2019-01-06 01:20:25 · 2122 阅读 · 3 评论