中断按键控制

#include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/poll.h> #include <linux/irq.h> #include <asm/irq.h> #include <linux/interrupt.h> #include <asm/uaccess.h> #include <mach/regs-gpio.h> #include <mach/hardware.h> …</mach/hardware.h></mach/regs-gpio.h></asm/uaccess.h></linux/interrupt.h></asm/irq.h></linux/irq.h></linux/poll.h></linux/delay.h></linux/init.h></linux/fs.h></linux/kernel.h></linux/module.h>

针对Ubuntu14.04简单配置samba服务器

★1.更新源 sudo apt-get update ★2.安装samba sudo apt-get install samba samba-common由于Ubuntu版本问题也许会用到 sudo apt-get install samba sudo apt-get install smbfs ★3.创建一个文件夹 mkdir ~/fzh_share sudo chmod 777 ~/fzh_share ★4.创建用户…

内核符号导出,内核模块版本不匹配时

/proc/kallsyms 记录了内核中所有导出的符号的名字与地址. 导出内核符号的意义 内核之间有依赖关系的时候需要导出被依赖的函数此例中有2个内核模块 calculate.c 和 hello.chello.c #include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("GPL"); extern int add_integar(int a</linux/init.h></linux/module.h>…

内核模块参数设置

内核模块参数设置 通过宏 module_param 来指定模块参数,模块参数用于在加载模块时传递参数给内核模块. 定义如下 module_param(name,type,perm) name 是模块参数的名称. type 是这个参数的类型. perm 是模块参数的访问权限 type常见值 bool布尔 int整型 charp…

内核模块的安装和卸载

* 加载内核模块 insmod hello.ko * 卸载内核模块 rmmod hello * 查看内核模块 lsmod * 含有依赖的内核模块加载 modprobe hello与insmod区别在于,此命令会根据文件/lib/modules//modules.dep 来查看要加载的模块,看是否依赖于其他模块,如果需要modprobe会首先…

内核模块程序结构以及编译内核模块(单个文件以及多个文件)

单个文件编译的内核模块例子 #include <linux/module.h> #include <linux/init.h> static int __init hello_init() { printk("Hello world!\n"); } static int __exit hello_exit() { printk("<7>Hello <0>exit!\n"); } module_init( hello_init); module_exit( hello_exit); 1.模块加载函</linux/init.h></linux/module.h>…

笔记专用

笔记专用文档 http://pan.baidu.com/s/1csnX4y ltp

另一种安装helm-gtags的方法,以及helm的键位绑定和一些小技巧

1.首先备份自己的~/.emacs.d 2.安装helm-gtags git clone https://github.com/tuhdo/emacs-c-ide-demo ~/.emacs.d 3.修改~/.emacs.d/init.el添加行号显示和光标所在行有下划线 ;;行番号表示 (global-linum-mode t) ;;下划线 (setq hl-line-face 'underline) …

emacs最基本的操作

首先是常用的按键定义如下 C = Control M = Meta = Alt | Esc Del = Backspace RET = Enter 1.光标移动 上 C-p 下 C-n 左 C-b 右 C-f 行頭 C-a 行末 C-e 后翻页 C-v 前翻页 M-v 移动到某一行 M-x goto-line(M-g g)移到句首 M-a 移到句尾 M-e 移动到下一单…

uITRON .cfg文件

CRE_TSK(TSK1, {TA_HLNG , 0, task1, 1, 1024, NULL}); CRE_TSK(TSK2, {TA_HLNG|TA_ACT, 0, task2, 2, 1024, NULL}); #if 0 CRE_TSK(TSK3, {TA_HLNG|TA_ACT, 0, task3, 3, 1024, NULL}); CRE_TSK(TSK4, {TA_HLNG, 0, task4, 4, 1024, NULL}); CRE_TSK(TSK5, …

source insight常用使用方法

1.查看函数和变量定义 摁住ctrl 鼠标点击可以选中一个变量,然后右键,Jump to Definition,跳转到定义。 2.跳到某行 ctrl+g 3.显示中的每个字符宽度一致 Alt+F12 4.View菜单 调出或者关闭各种窗口。比如Relative Window可以显示出方法中调用的方法。 5.查找…

makefile简单概述

首先写一个简单的makefile hello: main.o func1.o func2.o (TAB)gcc main.o func1.o func2.o -o hello main.o : main.c (TAB)gcc -c main.c func1.o : func1.c (TAB)gcc -c func1.c func2.o : func2.c (TAB)gcc -c func2.c .PHONY : clean clean: (TAB)rm -f…

GDB使用方法

例子程序tst.c #include <stdio.h> void main() { int i; long result = 0; for ( i=1; i <= 100; i++) { result += i; } printf("result = %d\n",result); } 1.首先编译程序tst.c生成可执行程序tst gcc -g tst.c -o tst 2.启动GDB gdb tst 3.在main处设置断点 (b=bre</stdio.h>…

小技巧

查找技巧 1.当前目录查找.h和.c文件下的内容为sta_tsk find ./ -name "*.[ch]" | xargs grep --color=auto -nH "sta_tsk" 2.全盘查找文件内容有sta_tsk的地方 find / -type f | xargs grep --color=auto -nH "sta_tsk" 3.全盘计数文件内容有sta_tsk的地方 fi…

emacs中文乱码解决

1.长期修改 用Emacs打开的时候看到的也是乱码,不过好解决,在~/.emacs.d/init.el文件中添加一行设置: (set-language-environment "Chinese-GB") 2.暂时修改 如果没有识别正确,可以用下面命令对文件的编码进行修改: M-x revert-buffer-with-coding-system…

ubuntu 12.04LTS 安装emacs24.5+helm.gtags

关于emacs版本 emacs23就是原装版本,由gnu发布的emacs。 emacs-lucid是由ubuntu调整过的版本。 emacs-nox是不带X system的emacs版本。除非只在终端下用,否则不建议安装。其它的版本带 -nw 参数启动也可以达到类似的效果。 e3是一个很微型的编辑器,带了好…