自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (5)
  • 收藏
  • 关注

转载 Linux下PCI设备驱动程序开发

原文:https://www.ibm.com/developerworks/cn/linux/l-pci/PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。Linux的内核能较好地支持PCI总线,本文以Intel 386体系结构为主,探讨了在Linux下开发PCI设备驱动程序的基本框架。

2017-09-24 19:52:47 696

转载 linux之DMA-BUF API使用指南

DMA-BUF API使用指南by JHJ([email protected])转载出自:http://blog.csdn.net/crazyjiang本文将会告诉驱动开发者什么是dma-buf共享缓冲区接口,如何作为一个生产者及消费者使用共享缓冲区。任何一个设备驱动想要使用DMA共享缓冲区,就必须为缓冲区的生产者或者消费者。如果驱动A想用驱动

2016-12-19 21:51:48 1163

翻译 专题一-简介

Introduction介绍The Linux DRM layer contains code intended to support the needs of complex graphics devices, usually containing programmable pipelines well suited to 3D graphics acceleration.

2016-12-15 23:31:22 814

转载 Linux brightness diagnostic techniques

Disabling the ACPI backlight driverIn some cases the ACPI BIOS provides the interfaces required to control the backlight through the generic ACPI interface, but the actual methods are not implem

2016-12-14 22:03:55 682

转载 Linux内核编译安装和卸载内核

linux开行版的自带内核不一定能满足linux学习和某些特殊的要求,这时我们就不得不根据自己的需求重新安装内核。这里我介绍一些常用编译内核的步骤。内核编译安装:​一、一定是下载满足需求的内核啦。​官网:https://www.kernel.org/p.s.学习最新的内核,可以克隆linus在github的代码:https://github.com/torvalds/linux

2016-11-23 15:41:40 4900

转载 RHEL7.2和RHEL6.5的配置网络yum源和本地yum源

RHEL7.2配置本地yum源[root@localhost ~]#monut /dev/sr0 /mnt      #挂载光盘[root@localhost ~]# rm -rf /etc/yum.repos.d/*[root@localhost ~]# vim /etc/yum.repos.d/rhel7.repo[rhel7-yum]                    

2016-11-15 15:35:16 1148

转载 30分钟玩转Shell-Shell文件包含

像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。Shell 中包含脚本可以使用:. filename或source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:

2016-10-27 23:03:18 289

转载 30分钟玩转Shell-Shell输入输出重定向

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file这样,输出到显示器的内容就可以被重定向到文件。

2016-10-27 23:02:03 328

转载 30分钟玩转Shell-Shell函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...带参数的函数示例:#!/bin/bashfunWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second

2016-10-27 23:01:00 295

转载 30分钟玩转Shell-Shell函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:function_name () { list of commands [ return value ]}如果你愿意,也可以在函数名前加上关键字 function:fu

2016-10-27 22:59:55 293

转载 30分钟玩转Shell-Shell break和continue命令

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。break命令break命令允许跳出所有循环(终止执行后面的所有循环)。下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。#!/bin/bashwhile

2016-10-27 22:58:51 428

转载 30分钟玩转Shell-Shell until循环

until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。until 循环格式为:until commanddo Statement(s) to be executed until command is truedo

2016-10-27 22:58:10 397

转载 30分钟玩转Shell-Shell while循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:while commanddo   Statement(s) to be executed if command is truedone命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true

2016-10-27 22:57:14 493

转载 30分钟玩转Shell-Shell for循环

与其他编程语言类似,Shell支持for循环。for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。

2016-10-27 22:56:22 554

转载 30分钟玩转Shell-Shell case esac语句

case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in模式1) command1 command2 command3 ;;模式2) command1 command2

2016-10-27 22:55:28 685

转载 30分钟玩转Shell-Shell if else语句

if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。1) if ... else 语句if ... else 语句的语法:if [ expression ]then Statem

2016-10-27 22:53:29 422

转载 30分钟玩转Shell-shell printf命令

printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。如同 echo 命令,printf 命令也可以输出简单的字符串:$printf "Hello, Shell\n"Hello, Shell$printf 不

2016-10-27 22:52:12 404

转载 30分钟玩转Shell-Shell echo命令

echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式:echo arg您可以使用echo实现更复杂的输出格式控制。显示转义字符echo "\"It is a test\""结果将是:"It is a test"双引号也可以省略。显示变量name="OK"echo "$name It is

2016-10-27 22:51:15 1023

转载 30分钟玩转Shell-Shell数组

Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:    array_name

2016-10-27 22:49:54 283

转载 30分钟玩转Shell-Shell字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

2016-10-27 22:48:44 266

转载 30分钟玩转Shell-Shell注释

以“#”开头的行就是注释,会被解释器忽略。sh里没有多行注释,只能每一行加一个#号。只能像这样:#--------------------------------------------# 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写:# https://github.com/webfrogs/xcode_shell/blob/master/ipa-

2016-10-27 22:47:47 257

转载 30分钟玩转Shell-Shell运算符

Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total v

2016-10-27 22:46:42 244

转载 30分钟玩转Shell-Shell替换

如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 1

2016-10-27 22:44:57 287

转载 30分钟玩转Shell-Shell特殊变量

前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表

2016-10-27 22:43:41 242

转载 30分钟玩转Shell-Shell变量

Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help

2016-10-27 22:41:15 213

转载 30分钟玩转Shell-第一个Shell脚本

打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。输入一些代码:#!/bin/bashecho "Hello World !"“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。

2016-10-27 22:39:39 650

转载 在linux上给grub添加内核启动参数

如果你想在系统启动时加载一个内核参数,需修改GRUB的配置模板(/etc/default /grub),添加"名称=值”的键值对到GRUB_CMDLINE_LINUX变量,添加多个时用空格隔开,例如GRUB_CMDLINE_LINUX="...... name=value"(如果没有GRUB_CMDLINE_LINUX变量时,用GRUB_CMDLINE_LINUX_DEFAULT替代即可).

2016-10-19 08:19:30 15377

转载 使用SplitterWnd时,拖动窗口导致View间歇性消失

创建静态拆分窗口的方法:1. 在父框架中嵌入一个CSplitterWnd成员变量。2. 重载父框架的CFrameWnd::OnCreateClient成员函数。3. 从重载的OnCreateClient函数中调用类CSplitterWnd的Create或CreateStatic成员函数,并调用CreateView来创建视图。 其中重载CFrameWnd::O

2016-09-29 23:09:42 772

转载 Debug Android and Linux suspend and resume (中文)

攒了一些关于调试Android和Linux下面的suspend 和 resume的经验, 在这里和大家分享一下。希望可以有些帮助, (下面没有写Android专用的, 就是Linux通用的)。1. no_console_suspend  在kernel启动参数里面加上no_console_suspend, 这个是最基本的, 因为kernel在把console suspend掉以后, 不

2016-09-22 13:56:36 293

转载 Build Your Own Kernel

This page will describe how to easily build the kernel. The majority of users that are interested in building their own kernel aredoing so because they have installed Ubuntu on their system and

2016-09-07 11:18:27 559

转载 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)

1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮助文档tar包下载地址:http://sourceforge.net/pr

2016-09-06 17:19:38 248

转载 Linux Kernel suspend and resume

转自:http://blog.csdn.net/myarrow/article/details/8136109,并在此基础上添加一些注释一、对于休眠(suspend)的简单介绍   在Linux中,休眠主要分三个主要的步骤:   1) 冻结用户态进程和内核态任务   2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺序   3) 休眠核心设备和使CPU进入休

2016-09-02 23:37:53 1556

原创 KGDB debug on linux

1. 编译内核&modulemake menuconfig   : Kernel Hacking-->                    Compile the kernel with frame pointers勾选                    KGDB:kernel debugging with remote gdb勾选

2016-09-01 13:48:37 482

原创 ubuntu 控制台输出到串口

1. vim /etc/default/grub2. add console=ttyS0,19200 console=tty0 in cmd line3. update-grub

2016-09-01 13:29:46 3065

转载 stm32 NVIC中断管理实现[直接操作寄存器]

cortex-m3支持256个中端,其中包含了16个内核中断,240个外部中断。stm32只有84个中断,包括16个内核中断和68个可屏蔽中断。stm32f103上只有60个中断,f107上才有68个中断。     中断是stm32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设。理解stm32的中断,必须要先从stm32的中断优先级分组是怎么回事。要理解优先级分组,就要先理解什

2016-08-31 22:21:04 4254

原创 stm32 printf的实现

嵌入式系统开发中,常常使用串口将重要的数据或者字符信息打印到PC,为系统的调试带来了很大的便利。本文简单介绍一下printf在stm32上的实现,当然也不仅限于stm32,只要把串口发送函数稍加改动就可以移植其他任何微控制器环境上。提到printf,首先简单介绍一下可变参数的实现va函数:va_list arg_ptr;void va_start( va_list arg_pt

2016-08-30 22:01:17 3133

转载 stm32 PVD 可编程电压监测器

PVD (Programmable Votage Detector) ,即可编程电压监测器 。stm32库函数手册中没有细讲这个模块,只是在 PWM一章中列出了两个相关函数。但是这个功能在实际项目中会有较大的作用,当电压过低时,对系统的一些数据使用掉电不丢失的 EEPROM 或 Flash 保存起来,同时对外设进行相应的保护操作。      PVD的作用是监视供电电压,在供电电压下降到

2016-08-30 21:39:42 6953 4

转载 stm32 SWD 下载 调试配置

找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:     我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而

2016-08-30 21:39:02 2894 1

转载 stm32 UCGUI 完美移植

UCGUI是一种嵌入式应用中的图形支持系统。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。         它的设计架构是模块化的,由不同的模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。UCGUI可以在任何的CPU上运行,

2016-08-30 21:38:17 16537 2

转载 stm32 DA 数模转换

stm32并不是所有的型号都有DAC功能,只有stm32f103xC/D/E系列 才有DAC转换功能。由于库函数手册中没有相关说明,所以只能通过在MDK提供的相关库文件 stm32f10x_dac.c 中找到相应的DAC函数,做了一番尝试。    折腾了一天,实现了DAC的转换和三角波的输出。我使用的是 stm32rct6的芯片,有两个DAC通道,在PA4和PA5两个引脚上。

2016-08-30 21:37:44 13314 3

Linux虚拟内存管理

E文,想自残可以下载。

2016-08-26

Linux Graphics Stack

系统讲解显卡硬件,软件的基础知识。全英文。斟酌。

2016-08-25

UEFI shell application example

UEFI shell application pciio

2011-06-28

UEFI shell application example

UEFI shell application example : helleword

2011-06-28

UEFI spec 2.3

unified extensible firmawre interface specification, verison2.3

2011-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除