linux 简单的DMA例程】的更多相关文章

一个简单的使用DMA 例子 示例:下面是一个简单的使用DMA进行传输的驱动程序,它是一个假想的设备,只列出DMA相关的部分来说明驱动程序中如何使用DMA的. 函数dad_transfer是设置DMA对内存buffer的传输操作函数,它使用流式映射将buffer的虚拟地址转换到物理地址,设置好DMA控制器,然后开始传输数据. int dad_transfer(struct dad_dev *dev, int write, void *buffer,                 size_t c…
原文链接:linux简单之美(一) 话说windows也有syscall,这是必须的.但是win的syscall可以直接call吗?可以是可以但是破费周折,搞成SDT之类的复杂概念.下面看看linux是如何做的吧. section .data msg db "hello hopy!",0x0a section .text global _start _start: mov ecx,msg int 0x80 int 0x80 关键是系统调用号要知道,开始找的是usr/include/as…
原文链接:linux简单之美(二) 我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用C标准库中的函数快速做一些"复杂"的事: section .data ft db section .text extern puts extern exit extern sleep extern printf global main main: again: dec edi push edi push ft call printf call sleep jnz ag…
原文链接:linux简单之美(三) 在linux简单之美(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式来搞呢?显然可以! section .data ft db section .text global _start _start: again: dec edi mov eax,edi add eax,0x30 ],al mov ecx,ft int 0x80 mov ebx,esp int 0x80 jnz again mov ecx,msg int 0x80 int…
配置Linux简单的脚本文件自启动 在Linux中使用shell脚本解决一些问题会比单独执行多条命令要有效率,脚本文件规定命名以.sh结尾,最基本的规则就是其内容是命令,想要脚本文件开机自启动,就需要把脚本文件放到/etc/init.d/目录下,此目录下的脚本文件是开机自启动脚本,脚本文件执行的基本要求是把命令单独放到命令行执行不会报错 1.执行命令cat /etc/init.d/sshd查看脚本文件 [root@localhost ~]# cat /etc/init.d/sshd #!/bin…
五大Linux简单命令解决系统性能问题 2010-12-17 10:07 James Turnbull TechTarget中国 字号:T | T 管理Linux主机的性能看起来经常象是在变魔术一样.许多管理员在遇到性能问题的时候常常简单化处理,依靠硬件的更新换代,更大的内存和更强的CPU来解决问题.事实上,利用一些简单的命令,可以发现许多管理主机的细节问题并且能迅速而简单地解决性能问题. AD:2014WOT全球软件技术峰会北京站 课程视频发布 管理Linux主机的性能看起来经常象是在变魔术一…
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空间占用率大于90%发送邮件警告 2. 思路 对于上述目的或任务,可以自定义一个脚本文件,让系统定时执行,比如说一分钟执行一次.针对MySQL数据库和Apache Web服务器是否运行的问题,先使用ps aux命令检查系统中运行中的进程,然后过滤掉包含与MySQL数据库或Apache Web服务器相关…
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 本篇内容属于<瑞吉外卖>的知识科普部分,有兴趣可以查看一下<瑞吉外卖>的相关文章内容 Linux简介 本节将会简单介绍Linux的前言以及相关历史 操作系统 首先我们需要了解操作系统是干什么的: 操作系统是是一组主管并控制计算机操作.运用和运行硬件.软件资源和提供公共服务来组织用户交…
第零章:扯扯淡 特此总结一下写的一个简单字符设备驱动程序的过程,我要强调一下“自顶向下”这个介绍方法,因为我觉得这样更容易让没有接触过设备驱动程序的童鞋更容易理解,“自顶向下”最初从<计算机网络 自顶向下方法>这本书学到的,我觉得有时候这是一种很好的方式. 第一章:测试程序 咦?你怎么跟别人的思路不一样???自顶向下嘛,我就直接从测试程序来说啦,这样那个不是更熟悉吗?看看下面的测试程序的代码,是不是很熟悉? #include <stdio.h> #include <unist…
lsof -i lsof -i:211.判断apache查找httpd路径: ps aux | grep httpd 结果:  /usr/local/apache/bin/httpd /usr/local/apache/bin/httpd -V | grep “SERVER_CONFIG_FILE” 结果: 即可找到编译时加载的配置文件路径 httpd.conf-V 参数可以看到编译时配置的参数 2.判断nginx首先执行命令找到nginx路径 ps aux | grep nginx 结果:/u…
一, GNU工具链简介: (1)编译代码步骤: 预处理 -> 编译 -> 汇编 -> 链接: 预处理:去掉注释,进行宏替换,头文件包含等工作: gcc -E test.c -o test.i 编译:   不同平台使用汇编语言不同,汇编将高级语言编译成汇编语言: gcc -S test.c -o test.s 汇编:   将汇编语言翻译成二进制代码: gcc -c test.c -o test.o 链接:   包含各函数库的入口,得到可执行文件: gcc -o test test.c (2…
如果在文本模式当中,突然想要作一些简单的加减乘除,偏偏手边又没有计算器!这个时候要笔算吗? Linux有提供一支计算程序,那就是bc.你在命令列输入bc后,屏幕会显示出版本信息, 之后就进入到等待指示的阶段.如下所示: bc默认仅输出整数,如果要输出小数点下位数,那么就必须要运行 scale=number ,那个number就是小数点位数,例如:…
本文简单整理了一下如何在Linux服务器上安装.配置SendMail发送邮件的步骤,此文不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如遇特殊平台有所差别,请以实际情况为准则. Linux 系统版本查看 检查.了解系统版本信息,主要是如果使用rpm安装时,需要下载合适的版本. [root@mylnx06 ~]# more /etc/redhat-release CentOS Linux release 7.2.1511 (Core)…
1. 这周一直在鼓捣linux上面的环境测试. 简单的将 我们的产品部署到了linux上面 详情见前面的 blog 2. 有时候下班了 或者是 在WC (科技园wc排队 说多了都是泪) 或者是眼睛不舒服了出去溜达 有人让清缓存 重启服务的话就很尴尬了. 3. 所有坚决办法: 3.1 手机上面安装 公司的vpn 3.2 安装一个 web shell 小工具 3.3 设置命令别名 alias fuck="systemctl restart gscloud && redis-cli f…
一 . VMware与CentOS系统安装 下载CentOS系统的ISO镜像 # 官方网站,国外网站,下载速度会很慢 www.centos.org # 由于国外的下载速度慢,我们可以使用国内的镜像源 https://opsx.alibaba.com/mirror #阿里云官方镜像站, 搜索镜像,选择版本就可以下载了 二 . 安装VMware虚拟机 # 下载安装地址 http://www.zdfans.com # 可以在里面搜索其他版本 # 我用的VM12 下载地址 http://www.zdfa…
1.简单优化 #关闭firewalld,selinux,NetworkManager systemctl(管理服务的命令) stop(关服务) firewalld (服务名称,d是demo的意思) systemctl(管理服务的命令) disable(取消开机启动) firewalld (服务名称,d是demo的意思) systemctl(管理服务的命令) enable(开启开机启动) firewalld (服务名称,d是demo的意思) #selinux安全策略 临时关安全策略setenfor…
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. Linux的发行版 Linux的发行版说简单点就是将Linux内核与应…
1. centos 安装 参照:https://www.cnblogs.com/tiger666/articles/10259102.html 安装过程注意点: 1. 安装过程中的选择安装Basic Web Server 2. 网路类型选择 1. 桥接网络: 虚拟机和大家都在同一个局域网 2 . 网络地址转换NAT: 虚拟机在独立的一个局域网 安装完成之后: (1 .查看ip 的3种方式 查看服务器的IP信息 ip add show ifconfig ip addr  如果没有显示ip ,解决方…
如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. 生成 SSH 公钥 每个需要使用git服务器的工程师,自己需要生成一个ssh公钥进入自己的~/.ssh目录,看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa. .pub 文件是公钥,另一个文件是密钥.假如没有这些文件(或者干脆连 .ssh 目录都没有),你可以用 ssh-keygen 的程序来建立它们,该程序在 Linux/Mac 系统由 SSH 包提…
在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼中,也利用了实验楼的环境完成了实验. 在实验楼里模拟出来的环境的确方便了学习,但是因为会有时间限制,有些知识就学的不够精通,于是又在自己的电脑上的虚拟机再次练习尝试,结果就发现遇到了很多问题. 编译原理 首先需要了解vim.gcc和gcd的分别的作用是什么. vim:用来编写程序使用,写入代码的.c源文件 g…
在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理命令的使用,注意哈(无论什么时候使用rm -rf  ./* 的时候都要谨慎,啊,要不然就会有被打断小狗腿儿的风险(因为一部分服务器使用linux系统)) 当然,这个脑图写的有点凌乱,毕竟写的时候有点,emmm,你懂吧 首先,我们先看一下常用的目录管理命令 cd , mkdir ,rmdir ,ls…
linux特点1.免费的.开源的2.支持多线程.多用户的3.安全性好4.对内存和文件管理优越 缺点:操作相对困难 linux最小只需要4m -> 嵌入式开发 我们使用 vm[虚拟机] 虚拟了一个 linux startx 进入图形化界面图形界面注销回到命令行 linux命令 shutdown -h now 立刻进行关机shotdown -r now 重启计算机reboot 重启计算机 su - 登陆时尽量少用root登陆,因为它是系统管理员,最大的权限,避免操作失误,可以利用普通用户登录,登陆后…
1.hello_drv.c (1) 初始化和卸载函数的格式是固定的,函数名自定义 (2) printk是内核的打印函数,用法与printf一致 (3) MODULE_LICENSE:模块代码支持开源协议(必须包含此项) MODULE_AUTHOR:模块作者 MODULE_DESCRIPTION:模块简单描述 MODULE_VERSION:模块代码版本 MODULE_ALIAS:模块的别名 MODULE_DEVICE_TABLE:模块支持什么设备 // 模块化程序必须包含的两个头文件 #inclu…
1.linux上怎么快速删除一个目录在linux中删除一个目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可解决.直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除  -f 就是直接强行删除,不作任何提示的意思  删除文件夹实例:rm -rf /var/log/httpd/access  将会删除/var/log/httpd/access目录以及其下所有文件.文件夹  需要…
本文转自 https://www.cnblogs.com/pyyu/articles/9314206.html Linux命令行的组成结构 [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# [root@oldboy_python ~]# Linux系统命令操作语法格式 命令 空格 参数 空格 [文件或路径]需要处理的内容 rm   -rf   /tmp/*…
man ls:查看ls的帮助文档 ls --help:查看ls的帮助文档,简单查看 help cd: 查看内置命令(man)不可以查看内置命令 touch [filename]:创建一个文件 pwd: 查看当前所在路径 ls: 查看当前路径下包含的内容 -l 查看详细信息 -a 查看全部文件信息,包含隐藏文件 -h 人性化的查看信息(大小标注单位等) tty:查看当前的终端设备 cat filename: 查看文件内容 more filename: 查看文件部分内容 mkdir dir: 创建一…
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. linux基本思想有两点,1.一切都是文件:2.每个软件有确定的用途. linux目录结构 /root :该目录为系统管理员,也称作超级权限的用户主目录: /bin :该目录存放常用的命令: /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序; /boot :该目录存放启动linux时的核心文件,包括一些连接文件和镜像: /…
目录 Bash Shell 简单了解 Bash Shell基础语法 一 文件管理 二 用户管理 三权限管理 四 软件管理 什么是Bash Shell 命令的解释,用来翻译用户输入的命令 Bash Shell 能做什么? 文件管理 软件管理 用户管理 权限管理 网络管理 Bash Shell 单行命令 脚本命令 4 linux 的登录提示符 [root@liuun2 /]# root 当前登录的用户 liuun2 当前主机名称 / 当前用户所在的路径 # 表示超级管理员 $ 表示普通用户 Bash…
Linux CentOS运维中,常用的操作和命令记录下: 1.DNS设置 在Linux服务器上,当我们ping出现这个错误时:ping: unknown host,很大可能是系统的DNS没有设置或者设置错误.在 /etc/resolv.conf 中,设置下即可: # cat /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 2.FTP客户端配置 当我们需要在Linux服务器上连某个FTP,输入ftp命名提示这个错误时:-bash: ft…
==============linux下快捷键==================ctrl+insert 复制shift +insert 粘贴 输入文件名的前三个字母,按tab键自动补全文件名 在vi中i是写入 u是撤销一步,回到上一步(要先Esc出来再按u)home键 行首end键 行尾=============================================如何查看linux系统是32位还是64位? 可以用命令“getconf LONG_BIT”查看, 如果返回的结果是32则…