![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Smart210 学习
文章平均质量分 79
Grace、
这个作者很懒,什么都没留下…
展开
-
笔记本电脑、VM虚拟机、开发板三者网线连接互ping
笔记本电脑、VM虚拟机、开发板三者网线连接互ping笔者在做NFS挂接练习时,发现网上的资料大部分是笔记本电脑(以下简称PC)和虚拟机PING、PC和开发板PING,这样的方式不是我想要的。笔者需要使用无线网卡上网,使用有线网卡进行三者互PING。在开始正文之前我们要先确定三者在同一网段:PC:192.168.7.7虚拟机:192.168.7.5开发板:192.168.7.9一、使用网线连接PC与开发板,配置PC有线IP1、在没有使用网线连接PC与开发板时,PC机的网络连接如下图,转载 2021-10-19 22:55:03 · 1395 阅读 · 1 评论 -
建立开发板与PC机之间的nfs服务器
文章目录前言一、配置1. 安装 NFS 相关组件2. 建立NFS共享文件夹3. 设置共享目录 修改主机 /etc/exports 文件,添加如下代码4. 服务操作指令二、测试三、ARM开发板和PC机挂接 前言ARM开发板与PC通过NFS 网络文件系统挂接,很方便文件的移动,也为我们的开发带来了方便。接下来,我就详细的介绍下如何建立ARM与PC机的挂接。我是用的UBu...原创 2019-10-29 11:11:36 · 459 阅读 · 0 评论 -
Smart210学习记录(十六) 之Linux i2c驱动
文章目录一、Linux i2c子系统简介1. Linux 的 I2C 体系结构分为 3 个组成部分2. i2c中四个主要结构体(i2c.h)3. 我们怎么写一个i2c驱动二、以at24c08为例写一个i2c设备驱动:(Smart210 linux3.0.8)三、其他资源 一、Linux i2c子系统简介1. Linux 的 I2C 体系结构分为 3 个组成部分I2...原创 2019-10-29 10:17:44 · 243 阅读 · 0 评论 -
Smart210学习记录(十五) 之nor flash驱动
文章目录前言驱动代码 前言 nor flash驱动与nand flash驱动的差别不大,只是设置不同的结构体而已.。 驱动代码#include <linux/module.h>#include <linux/types.h>#include <linux/kernel.h>#include <linux...原创 2019-10-29 09:52:27 · 97 阅读 · 0 评论 -
Smart210学习记录(十四) 之nand flash驱动
文章目录一、资料一、资料原创 2019-10-29 09:47:02 · 159 阅读 · 0 评论 -
Smart210学习记录(十三) 之竞态与并发
文章目录一、自旋锁二、 信号量三、自旋锁VS信号量:四、总结: 一、自旋锁 若一个进程要访问临界资源,测试锁空闲,则进程获得这个锁并继续执行;若测试结果表明锁扔被 占用,进程将在一个小的循环内重复“测试并设置”操作,进行所谓的“自旋”,等待自旋锁持有者释 放这个锁。自旋锁与互斥锁类似,但是互斥锁不能用在可能睡眠的代码中,而自旋锁可以用在可睡 眠的代码中,典型的应用是...原创 2019-10-28 17:24:11 · 169 阅读 · 0 评论 -
Smart210学习记录(十二) 之块设备
文章目录一、 前言二、内容 一、 前言本章的目的用尽可能最简单的方法写出一个能用的块设备驱动。所谓的能用,是指我们可以对这个驱动生成的块设备进行mkfs,mount和读写文件。为了尽可能简单,这个驱动的规模不是1000行,也不是500行,而是100行以内。这里插一句,我们不打算在这里介绍如何写模块,理由是介绍的文章已经满天飞舞了。如果你能看得懂、并且成功地编译、运行...原创 2019-10-28 17:00:31 · 450 阅读 · 0 评论 -
Smart210学习(十一) 之LCD驱动
文章目录一、帧缓冲设备1、简述2、Linux帧缓冲相关数据结构与函数2.1 fb_info结构体2.2 fb_ops 结构体2.3 fb_var_screeninfo 和 fb_fix_screeninfo 结构体2.4 文件操作结构体二、注册与注销帧缓冲设备三、LCD驱动实例四、总结 一、帧缓冲设备1、简述 帧缓冲(framebuffer)是 Linux 系统为...原创 2019-10-28 16:23:38 · 635 阅读 · 0 评论 -
Smart210学习记录(十) 之paltform总线
文章目录一、概述:二、platform机制分为三个步骤1、总线注册阶段:2、添加设备阶段3、驱动注册阶段三、platform设备开发过程 一、概述: 通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC、看门狗等)都被当作平台设备来处理。从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platfor...原创 2019-10-28 15:56:31 · 290 阅读 · 0 评论 -
Smart210学习记录(九) 之Linux定时器
文章目录一、内核定时器:1、 timer_list2、初始化定时器3、增加定时器4、删除定时器5、修改定时器的 expire二、内核中延时的工作delayed_work三、内核延时四、秒设备驱动程序五、应用测试程序 一、内核定时器:Linux 内核所提供的用于操作定时器的数据结构和函数如下:1、 timer_list在 Linux 内核中,timer_list 结...原创 2019-10-28 15:33:10 · 155 阅读 · 0 评论 -
Smart210学习记录(八) 之Linux驱动中断
文章目录一、Linux 中断概述1、申请和释放中断1.1 申请中断 :1.2 释放中断2、使能和屏蔽中断3、底半部机制3.1 tasklet3.2 工作队列3.3 软中断二、实例测试1、按键中断驱动程序2、测试主程序2.1 poll 中断测试程序2.2 异步通知fasync中断测试程序 一、Linux 中断概述 Linux 的中断处理分为两个半部,顶半部处理紧急的硬...原创 2019-10-28 15:10:16 · 216 阅读 · 0 评论 -
Smart20学习记录(七) 之异步通知
文章目录一、异步通知二、Linux 异步通知编程1、信号的接收2、信号的释放:三、驱动程序 一、异步通知 阻塞与非阻塞访问(select、epoll、poll函数)提供了较好地解决设备访问的机制(应用程序主动访问)。异步通知:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上“中断”的概念,比较准确的称谓是...原创 2019-10-28 11:49:03 · 104 阅读 · 0 评论 -
Smart210学习记录(六) 之中断
文章目录一、向量中断控制器1、概述2、关键特性3、注意二、寄存器三、中断参考程序 一、向量中断控制器1、概述 主要有4个VIC,4个TZIC还有一个很特殊的ARM PrimeCell PL192。主要的VIC和TZIC可以支持93个中断源。其中TZIC是为TrustZone技术所准备的,ARM TrustZone® 技术是系统范围的安全方法,针对高性...原创 2019-10-28 11:23:35 · 415 阅读 · 0 评论 -
Smart210学习记录(五) 之beep字符设备驱动
文章目录前言问题前言 今天搞定了beep linux字符设备驱动,心里还是很开心的,哈哈。但在完成的过程中却遇到了一个非常棘手的问题,花费了我大量的时间。 问题 首先还是把问题描述一下吧,好像这个问题很普遍的,网上许多解决方法,但是我还是没看懂,只能慢慢找.。...原创 2019-10-28 10:37:30 · 337 阅读 · 0 评论 -
Smart210学习记录(四) 之LED驱动
文章目录前言一、驱动程序二、应用程序三、实例测试 前言 经过几天的学习,终于linux驱动的基本框架弄清楚了。。。真的很艰辛,,,不过终于还是熬过来了,虽然还是最基础的,,,今晚也完成了我第一个linux驱动,,,心里还是有点小兴奋的,哈哈O(∩_∩)O 一、驱动程序LED 驱动没有什么好讲的,主要是把设备驱动框架弄清楚就可以了。这里直...原创 2019-10-25 20:12:21 · 277 阅读 · 0 评论 -
Smart210学习记录(三) 之Linux设备驱动结构
文章目录字符设备驱动的结构cdev 结构体怎么去操作cdev结构体Linux 字符设备驱动主要部分 字符设备驱动的结构cdev 结构体struct cdev { struct kobject kobj; /* 内嵌的 kobject 对象 */ struct module *owner; /*所属模块*/ struct file_operati...原创 2019-10-25 20:01:26 · 147 阅读 · 0 评论 -
Smart210学习记录(一) 之linux内核模块
文章目录一、怎样配置以及编译内核二、怎么去编写内核模块1、Linux 2.6 内核的配置系统2、编译模块时要做什么3、一个 Linux 内核模块主要组成部分3.1 模块加载函数3.2 模块卸载函数3.3 模块参数3.4 导出符号3.5 模块声明与描述3.6 模块的使用计数 一、怎样配置以及编译内核1、配置内核 Linux 驱动工程师需要牢固地掌握 Linux 内核的编译方法以为...原创 2019-10-25 16:28:39 · 373 阅读 · 0 评论 -
Smart210学习记录(二) 之文件操作
文章目录一、linux文件操作1. 创建2. 打开3. 读写4. 定位5. 关闭6. 测试实例二、c库文件操作1. 创建与打开2. 读写3. 关闭:4. 测试实例 一、linux文件操作1. 创建int creat(const char* filename, mode_t mode)filename 表示要创建的文件名mode表示对该文件的读写权限int...原创 2019-10-25 17:13:20 · 271 阅读 · 0 评论