摘要: ARM处理器从cortex系列开始集成NEON处理单元,该单元可以简单理解为协处理器,专门为矩阵运算等算法设计,特别适用于图像、视频、音频处理等场景,应用也很广泛。 本文先对NEON处理单元进行简要介绍,然后介绍如何在内核态下使用NEON,最后列举实例说明。 一.NEON简介 其实最好的资料就是官方 阅读全文
posted @ 2017-11-17 11:25 liuwanpeng 阅读(11453) 评论(2) 推荐(0) 编辑
摘要: 14.1 网络设备驱动结构 网络协议接口层:硬件无关,标准收发函数dev_queue_xmit()和netif_rx(); 注意,netif_rx是将接收到的数据给上层,有时也在驱动收到数据以后调用。 网络设备接口层,net_device,统一接口名称,使上层独立于具体硬件。 设备驱动功能层,实现n 阅读全文
posted @ 2017-09-07 16:24 liuwanpeng 阅读(5950) 评论(0) 推荐(0) 编辑
摘要: 18.1 设备树的起源 linux 2.6及之前,大量板级信息被硬编码到内核里,十分庞大,大量冗余代码; linux 2.6之前,引入了设备树; 设备树源于OpenFirmware,描述硬件的数据结构。由一些列节点node和属性property组成,通常包括下列信息: 本质上是画一棵CPU、总线、设 阅读全文
posted @ 2017-08-28 11:29 liuwanpeng 阅读(14120) 评论(2) 推荐(0) 编辑
摘要: 结合实际代码和书中描述,可能跟书上有一定出入。本文后续芯片相关代码参考ZYNQ。 15.1 总体结构 如下图,i2c驱动分为如下几个重要模块 核心层core,完成i2c总线、设备、驱动模型,对用户提供sys文件系统访问支持;为i2c内部adpter等提供注册接口。 adpter,适配器,实际就是CP 阅读全文
posted @ 2017-08-23 11:31 liuwanpeng 阅读(9441) 评论(0) 推荐(0) 编辑
摘要: 本章重点讲解思想、思想、思想。 12.1 linux驱动的软件架构 下述三种思想,在linux的spi、iic、usb等复杂驱动里广泛使用。后面几节分别对这些思想进行详细说明。 思想1:驱动与设备分离,linux采用总线、设备和驱动模型,驱动只管驱动,设备只管设备,总线负责匹配设备和驱动;驱动从标准 阅读全文
posted @ 2017-08-08 16:43 liuwanpeng 阅读(1663) 评论(0) 推荐(0) 编辑
摘要: 10.1 中断与定时器 中断一般有如下类型: 内部中断和外部中断:内部中断来自CPU,例如软件中断指令、溢出、除0错误等;外部中断有外部设备触发 可屏蔽中断和不可屏蔽中断 向量中断和非向量中断,ARM一般是非向量中断,因为现在的中断源很多,如果做成向量,那中断向量表会很大。不过ARM的总异常还是按照 阅读全文
posted @ 2017-08-03 15:30 liuwanpeng 阅读(4752) 评论(0) 推荐(0) 编辑
摘要: 8.1 阻塞与非阻塞IO 8.1.0 概述 阻塞:访问设备时,若不能获取资源,则进程挂起,进入睡眠状态;也就是进入等待队列 非阻塞:不能获取资源时,不睡眠,要么退出、要么一直查询;直接退出且无资源时,返回-EAGAIN 阻塞进程的唤醒:必须有地方能够唤醒处于睡眠状态的阻塞进程,否则就真睡不醒了。一般 阅读全文
posted @ 2017-07-27 17:03 liuwanpeng 阅读(2252) 评论(0) 推荐(0) 编辑
摘要: linux的GPIO通过sysfs为用户提供服务,下面是linux kernel里的说明文档,学习一下。 阅读全文
posted @ 2017-06-01 13:46 liuwanpeng 阅读(957) 评论(0) 推荐(0) 编辑
摘要: linux中并发无处不在,底层驱动需要考虑。 7.1 并发与竞争 7.1.1 概念 并发:Concurrency,多个执行单元同时、并行执行 竞争:Race Condistions,并发的执行单元对共享资源(硬件、软件全局变量和静态变量等)的访问很容易导致竞争 7.1.2 产生并发的情况 SMP下多 阅读全文
posted @ 2017-05-27 16:54 liuwanpeng 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 磁盘操作是块设备的必备操作,需要认真掌握。 一、硬盘 1.硬盘文件 默认串口硬盘的设备文件为sda(第一块硬盘)、sdb(第二块硬盘).... 默认并口硬盘的设备文件为hda(第一块硬盘)、hdb(第二块硬盘).... 2.物理分区和逻辑分区 每块硬盘最多有四个主分区(包括真正的分区和扩展分区),编 阅读全文
posted @ 2017-05-25 10:08 liuwanpeng 阅读(4979) 评论(0) 推荐(0) 编辑