记事
文章平均质量分 59
haokaihaohe110
这个作者很懒,什么都没留下…
展开
-
心路历程
研究生阶段:研一:2009 2010上半年 上学期:上课,看了一点FPGA的东西 下学期:FPGA实验包括altera noisii,51单片机学习,ucosii书研二:2010 2011上半年 上学期:继续51单片机学习,学习了GPRS模块sim300和wismo228,linux系统环境ubuntu下程序设计,bit下载书,ucosii移植实践原创 2011-12-14 14:04:39 · 516 阅读 · 0 评论 -
设备驱动开发技术及应用 书
第七章:#include 硬件设备驱动程序中可能存在以不同目的使用相同资源的情况,为了避免冲突,linux内核提供了管理输入输出空间的函数:check_region 确认是否属于可注册的IO空间;request_region 注册IO空间;release_region;输入输出使用的内存空间也需要竞争处理:check_mem_region(); request_mem_re原创 2012-04-08 11:25:25 · 463 阅读 · 0 评论 -
shell基础知识
find grep等一些命令必须熟悉,环境变量的设置,读取等。一些shell脚本程序要能够看懂。查看版本信息:uname -a //查看内核版本号及系统名称cat /proc/version //同上文件系统和linux内核版本有关系吗?有五个方面的联系:1、就是3楼说的的编译器的问题:需要用相同的编译器。2、kernel中必须配置对根文件系统类型的支持原创 2012-03-28 18:53:05 · 642 阅读 · 0 评论 -
模块测试函数基于linux2.6
#include #include #include static int hello_init(void){ printk("....\n"); return 0;}static void hello_exit(){ printk("...");}module_init(hello_init);module_exit(hello_e原创 2012-04-07 20:42:58 · 479 阅读 · 0 评论 -
linux系统移植 书
第五章flash硬件方案比较,nor,nand。基于flash的文件系统有jffs2(日志文件系统,主要用于nor,基于mtd驱动层),yaffs(主要用于nand),cramfs(使用时解压缩到ram,因此写操作困难,它是只读的),romfs(只读,顺序)。ramdisk是划分一块内存作分区使用,不是一个实际的FS,而是将实际FS装入内存的一种策略。第六章 LCD驱动程序移植st原创 2012-04-08 20:22:42 · 697 阅读 · 0 评论 -
ubuntu10.10 later install jdk6
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"add-apt-repository ppa:ferramroberto/javasudo apt-get update sudo apt-get install sun-java6-jdk原创 2012-05-24 10:13:41 · 539 阅读 · 0 评论 -
开机自动启动 Ubuntu iBus 输入法
Ubuntu的默认输入法是ibus,但是发现系统启动时它不会自动启动。Google 的说法是:Ubuntu 系统安装后虽然自带了 ibus输入法,但在英语环境下默认不启动。要开机启动,其实也很简单,只要在〔System〕->〔administration〕->〔LanguageSupport〕里选择〔Keyboard input methodsystem〕为〔ibus〕就可转载 2012-09-05 22:00:05 · 895 阅读 · 0 评论 -
cvs用法总结(4)--cvs命令checkout,commit,update
一.checkout 签出 cvs checkout [-ANPRcflnps] [-r rev| -D date] [-d dir] [-j rev1] [-j rev2] [-k kopt] modules... -A 重置所有粘性标记/日期/kopts -N 如果指定了-d选项,不要使用短模块路径 -P 删除空目录转载 2012-09-09 16:28:35 · 2692 阅读 · 0 评论 -
Ubuntu11.04解决外接显示器分辨率低的问题
我的笔记本是thinkpad,外接显示器设置分辨率为1680x1050.首先,熟悉一下命令:xrandr 命令行可以很方便地切换双屏,常用方式如下,其他的可以自己探索:xrandr --output VGA --same-as LVDS --auto打开外接显示器(最高分辨率),与笔记本液晶屏幕显示同样内容(克隆)xrandr --output VGA --same-as LV原创 2012-10-04 11:09:39 · 2606 阅读 · 1 评论 -
request_region
void request_region(unsigned long from, unsigned long num, const char *name) 这个函数用来申请一块输入输出区域。 如果这段I/O端口没有被占用,在我们的驱动程序中就可以使用它。在使用之前,必须向系统登记,以防止被其他程序占用。登记后,在/proc/ioports文件中可以看到你登记的io口。转载 2012-10-31 22:48:37 · 898 阅读 · 0 评论 -
ISP DSP diff
ISP 是Image Signal Processor 的简称,也就是图像信号处理器。而DSP是Digital Signal Processor 的缩写,也就是数字信号处理器。ISP一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Bl转载 2012-12-08 01:28:08 · 3023 阅读 · 2 评论 -
学习计划
1.已经有了uboot,先编译一个linux,下载运行试试(这里面涉及linux内核的一些修改,包括时钟啊,支持的文件系统等,和uboot参数也要对应。具体查看linux移植方法)参考:http://user.qzone.qq.com/1057481936/infocenter#!app=2&pos=1311696745内核已经简单移植了,但是出现错误:No oob scheme de原创 2012-04-05 22:11:46 · 675 阅读 · 0 评论 -
源码控制工具
CVS,SVN,GitGit使用多个分布式存储库,基于改变集进行历史跟踪。步骤:安装,建立Git存储库,向库中添加内容,操作库中文件,合并,其他。GNU/Linux环境编程一书 Gnuplot古老但流行的可视化程序,可与Ruby,Python,Smalltalk绑定。 pause会把进程挂起,直到接收到信号。返回继续运行。kill向一个或多个进程发送信号原创 2012-04-07 16:14:50 · 553 阅读 · 0 评论 -
ARM基本指令
伪指令:ENTRY 伪指令用于指定汇编程序的入口点。在一个完成的汇编程序中至少要有一个ENTRY,但在一个源文件里最多只能有一个ENTRY(也可以没有)。AREA伪指令用于定义一个代码段或数据段。其中,段名若以数字开头,则该段名需要”|”括起来i,如|1_test|。EQU伪指令用于为程序中的常量,标号等定义一个等效的字符名称,类似于C语言中的#define。 名称 EQU表达原创 2012-04-07 12:17:48 · 652 阅读 · 0 评论 -
QT库的安装方法
目前我已经安装过Ubuntu下的QT,安装很简单,只需要几个命令即可搞定。或者在软件库里面搜索安装。ubuntu已经自带了QT库,只需要下载QT creator即可。我还在windows下编译安装了QT库,我机器上是VS2005,在CMD命令行或者VS命令行下,输入一些配置命令,类似于Configure -debug-and-release -opensource -static-no-q原创 2011-12-25 15:49:57 · 4289 阅读 · 0 评论 -
Linux内核编程(The Linux Kernel Primer)书
第二章 linux内核探索工具集。内核中常见数据类型(链表,树,查找),汇编示例,内联汇编,内核探索工具(objdump/readelf、hexdump、nm、objcopy、ar)、printk、dmesg、var/log/messages、__init、likely()/unlikely()。第三章 进程:程序执行的基本模型。讲了程序、进程描述符、进程创建(fork()/vfolk()/c原创 2012-03-28 18:47:23 · 1583 阅读 · 0 评论 -
ARM体系结构与编程 书
第一章 ARM概述和基本编程模型。7种运行模式:用户,快速中断,外部中断,特权,abort,undefined,系统模式。37个寄存器:31通用寄存器(未备份0~7,备份8~14,R8、R9有用户和快速两种,栈 R13,连接寄存器R14,PC 即R15),6个状态寄存器(程序状态寄存器CPSR,每种模式下的备份程序状态寄存器SPSR)。复位,SWI软件中断(用户定义的中断指令,实现系统调用原创 2012-03-29 11:35:37 · 1111 阅读 · 0 评论 -
深入理解linux内核 书
第一章 绪论。操作系统,文件系统,linux介绍。单内核与微内核(VxWorks,微内核通常包含几个同步原语,一个简单调度程序和进程间通信机制,运行在微内核之上的几个系统进程实现如内存分配,设备驱动程序,系统调用等操作系统级功能。)linux采用模块来弥补。内核本身不是一个进程,而是进程的管理者。除用户进程之外,unix系统还包括几个所谓内核线程的特权进程,其特点是:1以内核态运行在内核地址空原创 2012-03-29 22:18:37 · 679 阅读 · 0 评论 -
linux
超级块是对一个文件系统的描述;索引节点是对一个文件物理属性的描述;而目录项是对一个文件逻辑属性的描述。除此之外,文件与进程之间的关系是由另外的数据结构来描述的。一个进程所处的位置是由fs_struct来描述的,而一个进程(或用户)打开的文件是由files_struct来描述的,而整个系统所打开的文件是由file结构来描述。如图8.4给出了这些数据结构之间的关系。转载 2012-03-31 12:06:29 · 434 阅读 · 0 评论 -
ubuntu11.10下linux内核主机编译
目前,最新的linux内核版本为3.3版,开始我下载的是2.6.23版发现在这个版本的ubuntu下编译不了,说是这个自带的gcc4.6编译器版本不支持内核编译的一些属性,但是修改之后还是不对,错误越来越多。试了一上午,没有结果,决定改用其他版本内核,我选用了linux2.6.35.13版。对比其与之前版本的差别,发现文件结构及makefile等内容均有较大差别。1.直接去官网下载,或者使用w原创 2012-04-03 15:31:26 · 1153 阅读 · 0 评论 -
linux下编译工具的用途
GNU binutils是一组二进制工具集。Binutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip.ar用于建立、修改、提取档案文件(archive)objcopy可以将一种格式的目标文件转化为另外原创 2012-04-03 17:35:17 · 1433 阅读 · 0 评论 -
平台设备驱动
来自精通Linux设备驱动程序开发:平台设备驱动中的平台可看做一种伪总线,通常用于将集成进片上系统的轻量级设备和Linux设备模型连接在一起。平台由平台设备和平台设备驱动程序组成。(来自:http://blog.tianya.cn/blogger/post_show.asp?BlogID=862226&PostID=21247170)设备驱动中,平台设备作为一个虚拟的设备和总线可以大大简化原创 2012-04-04 12:50:42 · 4123 阅读 · 0 评论 -
在ubuntu下获取对应内核源码命令
输入:apt-cache search linux-source //查看内核版本输入:apt-get install linux-source-3.0.0 //获取对应版本的内核,默认安装在/usr/src目录下见:Ubuntu下构建内核源码树的方法 ubuntu下编译本机模块是否需要下载内核源码呢?答案是可以的。dmesg | tai转载 2012-04-04 22:06:09 · 20132 阅读 · 0 评论 -
sourceinsight建立linux源码浏览
用Source Insight建立一个Linux内核代码工程具体步骤如下:(一)打开Source Insight,单击【项目】按钮,弹出下拉菜单。(二)单击【新项目】按钮,弹出【新项目】对话框,输入项目名和存放路径,单击【确定】按钮。(三)弹出【添加删除文件】对话框,在内核源代码路径下选择全部 2.6.25内核代码,单击【关闭】按钮。(四)弹出【转载 2012-04-04 17:34:42 · 6999 阅读 · 0 评论 -
LIVE555 概述
liveMedia项目(http://www.live555.com/)的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是: UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。UsageEnvironment和TaskScheduler类用于事件的调度转载 2012-12-15 16:43:44 · 1387 阅读 · 0 评论