dev

linux DMA接口

淺唱寂寞╮ 提交于 2020-02-09 22:49:04
1.两种DMA映射类型 1.1. 一致性DMA映射(Consistent DMA mappings ) 主要用于映射长时间使用的区域。 CPU和DMA controller不需要考虑cache的影响。 这里的consistent实际上是coherent的概念,不能保证consistent,也就是说需要memory barrier来保证memory order。 1.2 流式DMA映射(streaming DMA mapping) 主要用于一次性DMA传输,传输完成后就会释放。 2.指定DMA设备的寻址范围 include/linux/dma-mapping.h 1 // 用于一致性内存映射的映射范围 2 static inline int dma_set_coherent_mask(struct device *dev, u64 mask) 3 // 用于流式内存映射的映射范围 4 static inline int dma_set_mask(struct device *dev, u64 mask); 3.DMA映射接口 3.1一致性DMA接口 分配较大DMA buffer 1 // dev DMA控制器设备 2 // size 要分配的DMA buffer大小 3 // dma_handle 返回DMA buf的物理地址 4 // flag 分配标志 5 // 返回值 DMA

Linux磁盘分区工具的使用

别等时光非礼了梦想. 提交于 2020-02-09 15:32:14
----------fdisk分区工具---------- 一、.下面来介绍fdisk分区工具的命令格式: fdisk是传统的Linux硬盘分区工具,也是Linux系统中最常用的一种硬盘分区工具之一,它的命令格式如下: 其中常用命令选项的说明如下: -b sectorsize: 定义磁盘扇区的大小,有效值包括512、1024和2048,这个选项只对老版本的Linux操作系统有效。 -C cyls: 定义磁盘的柱面数,一般情况不需要对它进行定义,使用默认的就好。 -H heads: 定义分区表所使用的磁盘的碰头数,一般为255或16。 -S sects: 定义每条磁道的扇区数,一般为63。 -l :这是最常用到的一个命令选项,它是显示指定磁盘设备的分区表信息,例如查看/dev/sdb1这个磁盘设备的分区表信息就是:fdisk -l /dev/sdb1 -u :在显示分区表时,以扇区代替柱面作为显示的单位 -s partition: 在标准输出中以block为单位显示分区的大小。 -v :显示fdisk的版本信息。 device:就是磁盘的设备名称,IDE类型的磁盘设备名为[dev/hd[a-h]];而SCSI或SATA类型的磁盘设备名为[dev/sd[a-p]]。 假如我要查看我电脑上的第一块磁盘的分区表信息(呵呵,我就一块硬盘)可以使用如下命令:fdisk -l /dev/sda

周立功IMX287开发套件之数码管驱动(linux下74HC595多级串联驱动,数码管驱动)

怎甘沉沦 提交于 2020-02-09 14:19:49
疫情待在家里很无聊,发现吃土的开发板。好久好久没干linux相关开发了,还是在安美数字的时候干的linux网络应用和部分内核开发,现在忘得差不多了,试着捡起来吧。 硬件:如上图短接帽接法 软件:驱动下面直接贴出来(直接同时驱动四个断码比较水),应用层直接write就行 如果要四位显示不同数据需要改驱动和应用层,驱动增加数码管位使能,应用层需要一个单独进程一直跑显示,另一个传数据。我太懒了,就不写了! #include <linux/cdev.h> #include <linux/init.h> #include <linux/module.h> #include <mach/gpio.h> #include <asm/io.h> #include "mach/../../mx28_pins.h" #include <mach/pinctrl.h> #include "mach/mx28.h" #include <linux/fs.h> #include <linux/io.h> #include <asm/uaccess.h> #include <linux/miscdevice.h> #include <linux/irq.h> #include <linux/sched.h> #include <linux/interrupt.h> #include <linux/timer

Linux命令-挂载命令:mount

旧城冷巷雨未停 提交于 2020-02-09 11:08:11
设置虚拟机放入光盘,并且选中“已连接” mkdir /mnt/cdrom 设置光盘目录 ll /dev/cdrom 查看cdrom的软连接长格式信息 mount -t iso9660 /dev/sr0 /mnt/cdrom/ 将设备名称/dev/sr0安装到/mnt/cdrom挂载点下面(也可以使用mount -t iso9660 /dev/cdrom /mnt/cdrom/) mount /dev/sr0 /mnt/cdrom/ 省略参数 -t 也是可以的(重复挂载会出错) umount /dev/sr0 卸载挂载设备名称/dev/sr0(也可以使用挂载点名称卸载umount /mnt/cdrom) mount /dev/cdrom /mnt/cdrom 将设备名称/dev/cdrom安装到/mnt/cdrom挂载点下面 cd /mnt/cdrom 进入挂载点目录 ls 显示当前目录下面的所有信息 注意:不能在当前挂载点下面卸载它自己(设备名称/dev/sr0) cd 回到宿主目录 umount /mnt/cdrom 卸载挂载点/mnt/cdromcd /mnt/cdrom 回到/mnt/cdrom目录下面ls 查看当前目录所有信息(没有了) mount 查看所有挂载信息mount -l (也可以) 来源: https://www.cnblogs.com/qiyebao/p

linux 分区格式查看

江枫思渺然 提交于 2020-02-09 11:07:01
Linux分区格式查看 两个文件 /etc/fstab 和/etc/mtab /etc/fstab是用来存放文件系统的静态信息的文件,当系统启动的时候。 系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。 /etc/mtab则显示的是已经被挂载的fs的清单文件。 每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况。 域说明: 转载自: http://www.linuxidc.com/Linux/2012-04/59111.htm 文件的六个域,分别为: <file system>、<mount point>、<type> 、<options>、<dump>、<pass>。下面将详细介绍这六个域的详细意义。 1、<fie sysytem>。这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。做过嵌入式linux开发的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs

fstab文件详解

故事扮演 提交于 2020-02-09 11:05:24
一、fstab详解   /etc/fstab 文件负责配置Linux开机时自动挂载的分区,某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,linux是无法使用新建的分区的。磁盘分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作,而fstab正是负责这一配置。需要在根目录上挂载上一个磁盘分区,Linux分区交换也需要独立使用一个分区,因此,安装一个Linux至少需要两个分区(如果电脑的物理内存足够大,交换分区并不是必须的)。   如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。   fstab中的文件挂载操作如下:   <file system> <mount point> <type> <options> <dump> <pass>   <file system>:描述要挂载的特殊的块设备或远程文件系统,如/dev/cdrom /dev/sdb等,远程文件系统使用<host>:<dir>.   <mount point>:描述文件系统的挂载点;如果是一个交换分区(swap

linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)

主宰稳场 提交于 2020-02-09 11:01:45
mkfs 命令 linux格式化磁盘命令    linux mkfs 指令:mkfs   使用权限 : 超级使用者   使用方式 : mkfs [-V] [-t fstype] [fs-options] file sys [blocks] [-L Lable]   说明 : 建立 linux 档案系统在特定的 partition 上   参数 :   device : 预备检查的硬盘 partition,例如:/dev/sda1   -V : 详细显示模式   -t : 给定档案系统的型式,Linux 的预设值为 ex t2   -c : 在制做档案系统前,检查该partition 是否有坏轨   -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面   block : 给定 block 的大小   -L:建立lable 补充说明: mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。例如,若在"-t" 参数中指定ext2,则 mkfs会调用 mke2fs 来建立文件系统.使用时如省略指定【块数】参数,mkfs会自动设置 适当的块数.   例子 :   在 /dev/hda5 上建一个 msdos 的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来 :   mkfs -V -t msdos -c /dev

页面性能分析-Chrome Dev Tools

穿精又带淫゛_ 提交于 2020-02-09 10:42:44
一、分析面板介绍 进行页面性能快速分析的主要是图中圈出来的几个模块功能: Network : 页面中各种资源请求的情况,这里能看到资源的名称、状态、使用的协议(http1/http2/quic...)、资源类型、资源大小、资源时间线等情况 Performance : 页面各项性能指标的火焰图,这里能看到白屏时间、FPS、资源加载时间线、longtask、内存变化曲线等等信息 Memory : 可以记录某个时刻的页面内存情况,一般用于分析内存泄露 JavaScript Profiler : 可以记录函数的耗时情况,方便找出耗时较多的函数 Layers : 展示页面中的分层情况 二、分析步骤说明 首先,我们在分析的时候,建议使用隐身模式打开页面,排除一些插件等因素对页面性能情况的影响。然后,我们把页面缓存勾选去掉,要测 disable cache 的情况,再把网络情况调整一下,我们用电脑打开页面的时候一般都连着 wifi 等,要更真实一些去测页面的性能,还是把网络调到 3G 等情况比较好,如图: 调整好之后,我们切到 Performance 面板: 手动开始记录,开始后需要手动结束 自动重启页面,并记录整个页面加载的过程。这个是最常用的,一般大概分析页面性能的时候都是点这个就够了 清除性能录制的记录 上传页面性能录制的数据 下载页面性能录制的数据 选择要展示的性能记录

linux加载硬盘过程

戏子无情 提交于 2020-02-09 08:24:50
查看系统可用磁盘大小: [root@i-mbyar7df ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 7.3G 12G 39% / tmpfs 32G 72K 32G 1% /dev/shm 查看服务器可用磁盘: [root@i-mbyar7df ~]# fdisk -l Disk /dev/sdb: 8589 MB, 8589934592 bytes 64 heads, 32 sectors/track, 8192 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size

linux面试题

孤街浪徒 提交于 2020-02-09 08:07:09
1、Linux挂载Winodws共享文件夹:   1)在windows下建立一个共享文件夹。   2)确认你的linux安装了samba软件包及其客户端程序(smbclient),因为samba就是提供linux与windows互访的程序。   3)开始查看windows下的共享文件目录:smbclient –L //192.168.1.1,如果连接正常,就可以看到windows下的共享目录了(字符形式)。   4)挂载共享目录:mount –t cifs –ousername=“”,passwd=“”//192.168.1.1/共享文件夹/ /mnt/ 2、查看http的并发请求数及其TCP连接状态:   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' 3、用tcpdump嗅探80端口的访问看看谁最高: tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print$1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr|head -20 1)tcpdump -i eth0 -tnn dst port 80 -c 1000:统计本机中目标端口为80的数据包,-tnn:直接以IP及port