- 博客(115)
- 资源 (146)
- 收藏
- 关注
转载 开始3D编程前需注意的十件事
转载自CSDN官方博客:http://www.csdn.net/article/2013-06-21/2815949-3d-programming原文作者Vasily Tserekh是名3D编程爱好者,他发表了一篇博文《 Ten Things to Achieve When Starting 3D Programming》文中他分享了创建3D编程必做的十件事。开发者想要启动3D
2013-06-24 08:55:41 1794
原创 Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置
接博文《Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)》。上篇博文中,仅简单介绍使用串口的Kgbd的流程(kgdboc方式),本文将重点介绍KGDB调试Linux内核的原理。内核版本在2.6.26以前的Linux,kgdb是通过补丁安装的,过程非常复杂,而且问题比较多.Linux内核从 2.6.26开始已经在内部集成kgdb,只需要配置kgdb并重新编译2.6.26(或更高)
2013-06-20 23:49:13 10588 2
原创 Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
如何单步调试Linux内核一直困扰着linux驱动开发人员,内核有其代码量大、逻辑复杂、与硬件交互的特性。因此,有着不同于应用程序的调试方法,据统计Linux内核开发者使用最普遍的调试方法是printk方法,而其他的方法大多是在特殊情况下才会使用。本文介绍的Kgdb调试方法是一种源码级的Linux内核调试器。使用Kgdb调试内核时,需要结合gdb一起使用,使用他们可以对内核进行单步调试,设置断点,
2013-06-18 18:27:00 17606 1
转载 OpenGL中glPushMatrix和glPopMatrix的原理
glPushMatrix、glPopMatrix操作其实就相当于栈里的入栈和出栈。 许多人不明白的可能是入的是什么,出的又是什么。例如你当前的坐标系原点在你电脑屏幕的左上方。现在你调用glPushMatrix,然后再调用一堆平移、旋转代码等等,然后再画图。那些平移和旋转都是基于坐上角为原点进行变化的。而且都会改变坐标的位置,经过了这些变化后,你的坐标肯定不再左上角了。 那如果想
2013-06-14 09:53:33 4032 1
原创 Linux Vim替换字符串的方法总结
使用Linux环境进行开发工作的程序猿经常有编辑器之争,是vim牛还是emacs棒。二者都是程序猿的开发神器,不管用好哪一个都会使你的工作事半功倍。本文重点介绍Vim的替换字符串方法技巧,这些方法技巧不过是Vim的众多使用技巧的九牛之一毛,本文中描述的技巧大多来自互联网。目的是为了方便自己使用时能够及时找到及与网友交流之用。1. 基本替换:s/str1/str2/ 替换当前行第一个st
2013-06-11 11:06:32 4936
原创 Makefile之Linux内核模块的Makefile写法分析
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8771621,作者:gqb666 六一快乐,作为从小学开始关注鲁能的山东鲁能球迷,等着今天晚上与广州恒大的天王山对决。不过说实话,以恒大目前的实力及状态,其他球队想在天河赢球真的很困难,不论如何能踢得精彩就行了。 言归正传,前些
2013-06-01 10:31:10 9730
原创 Linux网络编程之使用UDP传输文件
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8970207,作者:gqb666 接上篇博文Linux网络编程之使用TCP传输文件。最近在写Linux网络方面的demo,用UDP实现了一个简单的传输文件程序,适用于网卡设备及TCP/IP协议栈及网络环境测试时使用。当然这里要说的是,
2013-05-26 14:59:36 14076 7
原创 Linux网络编程之使用TCP传输文件
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8976263,作者:gqb666 最近在写Linux网络方面的demo,用TCP实现了一个简单的传输文件程序,适用于网卡设备及TCP/IP协议栈及网络环境测试时使用。用法容易,代码简洁,已经测试成功。其功能是使用TCP协议从clien
2013-05-26 14:59:19 16622 11
转载 socket阻塞与非阻塞,同步与异步I/O模型
作者:huangguisu 原文出处:http://blog.csdn.net/hguisu/article/details/7453390socket阻塞与非阻塞,同步与异步1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:
2013-05-22 14:40:36 2144
原创 Makefile之写demo时的通用Makefile写法总结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8956523,作者:gqb666 前面的一篇博文Makefile之大型工程项目子目录Makefile的一种通用写法介绍了大型项目子目录Makefile的一种通用写法,然而最近在写Linux网络方面的demo,一个目录下有几个文件,如果手工输命令显得
2013-05-21 18:52:22 4442 2
原创 u-boot之u-boot-2009.11启动过程分析
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8931775,作者:gqb666注:本文使用的u-boot源码版本为u-boot-2009.11 u-boot同其他bootloader一样,其启动过程分为stage1和stage2两个阶段, stage1主要完成基本硬件设备初始化
2013-05-15 19:36:41 5649
转载 嵌入式系统硬件电路的各种接地方法总结
转载日志——电路中的地 转至电子发烧友一、地的分类工程师在设计电路时,为防止各种电路在电路正常工作中产生互相干扰,使之能相互兼容地有效工作。根据电路的性质,将电路中“零电位”———“地”分为不同的种类,比如按交直流分为直流地、交流地,按参考信号分为数字地(逻辑地)、模拟地,按功率分为信号地、功率地、电源地等,按与大地的连接方式分为系统地、机壳地(屏蔽地)、浮地。不同的接地方式在电路中应用
2013-05-14 12:38:41 3487
原创 Makefile之大型工程项目子目录Makefile的一种通用写法
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8902133,作者:gqb666 管理Linux环境下的C/C++大型项目,如果有一个智能的Build System会起到事半功倍的效果,本文描述Linux环境下大型工程项目子目录Makefile的一种通用写法,使用该方法,当该子目录内的文件有增
2013-05-09 10:50:42 5748 1
原创 C/C++语言二维数组的传参方法总结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8886687,作者:gqb666C/C++语言将二维数组作为参数传递容易使人迷惑且易出错,本文将常用的几种方法列出,以方便用时查阅。三种方法总结如下(GCC验证成功):方法一:形参为二维数组并给定第二维长度 此方法是最简单最直观的方法,形参与
2013-05-05 14:53:49 24605 3
转载 Linux网络编程入门(经典)
(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地方获取文件的时候,是我
2013-05-03 09:02:23 2270 1
原创 Linux驱动开发之主设备号找驱动,次设备号找设备
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8805179,作者:gqb666一、引言 最近成都地震令大家心神不宁,可能过了今天就没明天了,导致早打算写的东西现在才发出来。不禁感叹:在自然灾害面前,人是那么渺小,人面对自然灾害就好像脚下的蚂蚁面对人,人不经意间就能踩死一片蚂蚁,自然
2013-04-26 11:13:12 7121 11
原创 Arm-Linux根文件系统网络配置小结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8802184,作者:gqb666 本文分三点来记录嵌入式Linux根文件的一些网络配置技巧:1、对开发板配置静态IP: 将根文件系统/etc/network/interface文件中auto eth0iface eth0 ine
2013-04-16 09:42:51 4269
原创 Android/Linux内核驱动相关经典书籍大合集(Linux驱动工程师必备)
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8790680,作者:gqb666 博主从事嵌入式Linux内核驱动开发工作,在工作学习中收集了一些Linux内核驱动开发相关的经典书籍,最近将这些经典书籍陆续以资源的形式传到了CSDN上,希望能给同行以帮助,但因为博主下载积分级别关系,还有些经典书
2013-04-12 09:04:25 8364 14
原创 Android/Linux驱动开发之使用dev_dbg调试设备驱动
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8789807,作者:gqb6661、最近在写I2C下EEPROM的驱动程序,但发现使用i2c_new_probed_device函数无法枚举到设备,于是想调试该函数(位于driver/i2c/i2c-core.c内),看到其中有些调试信息如下:
2013-04-12 08:57:36 7038 1
原创 C语言"#","#@"和"##"在宏定义中的使用技巧
C语言博大精深,每一个细节都蕴含者着很多技巧特性,相信C程序员的同行首次遇到"#","#@"和"##"之类的技巧时也是不知所云。本文总结"#","#@"和"##"在宏定义中的使用技巧,以备需要时查阅,并希望能帮助其他同行。一、一般用法#把宏参数变为一个字符串,#@把宏参数变为一个字符,##把两个宏参数贴合在一起。 #include #include #define STR(s)
2013-04-07 16:27:52 2513 2
原创 VC6快捷键
VC快捷键(总结下方便查找,免得用的时候找不着文档,并不断补充)F1: 帮助一、编译调试类F7 :BuildCtrl+F7 :CompileCtrl+F5 :RunCtrl+Break:Stops the buildF5 :GoCtrl+F10 :Run to cursorF11 :step intoAl
2013-03-29 14:14:07 1609
翻译 LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(三、四)
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8698856,作者:gqb666终于翻译完了,有不准确的地方,还请大家多多指教。上接博文:LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(一、二) 原文件位置:linux源码目录\Documentation\i2c\
2013-03-22 14:00:19 4051
转载 v4l2驱动编写篇
v4l2驱动编写篇一--介绍 原文网址:http://lwn.net/Articles/203924/ 笔者最近有机会写了一个摄像头的驱动,是“One laptop per child”项目的中摄像头专用的。这个驱动使用了为此目的而设计的内核API:the Video4Linux2 API。在写这个驱动的过程中,笔者发现了一个惊人的问题:这个API的文档工作做得并不是很好,而用户
2013-03-21 11:16:43 2366 1
翻译 LinuxI2C子系统之一实例化IC2设备(Client)的四种方法(一、二)
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8668670,作者:gqb666 最近的项目工作中需要调试维护I2C控制的视频采集设备驱动代码,于是花了些时间来研究I2C驱动框架,发现其复杂度不亚于ALSA-ASOC驱动框架(仅个人感觉,勿怪)!并打算将自己的研究心得记录下来,一是自己想看时
2013-03-20 11:38:15 3672 1
原创 解决VC6.0 open崩溃的问题及OpenGL glut32.lib库的问题
一、VC6.0 open 崩溃 最近学习OpenGL,并尝试用VC6调试,但发现装了VC6后ADD和OPEN工程无法使用,于是将最简单的解决方法总结一下,这种方法很常见,只是为了以后自己再遇到后可以直接到自己博客就可以找到。 (1) 首先FileTool.dll文件拷贝至 "VC6安装路径"\Common\MSDev98\AddIns 文件夹下FileTool.dll可
2013-03-19 01:27:53 4402
原创 Linux 命令行快捷键大全
Linux命令行常用的快捷键,在别人的基本增加了一些!编辑命令Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k
2013-03-01 15:10:55 2184
转载 /sys/class/gpio 文件接口操作IO端口(s3c2440)
在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —>
2013-02-28 10:26:35 5920
转载 Linux内核驱动之GPIO子系统-GPIO的使用
一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用
2013-02-28 10:25:14 5518
转载 Linux的时间与时钟中断处理
本文主要介绍在Linux下的时间实现以及系统如何进行时钟中断处理。一. Linux的硬件时间PC机中的时间有三种硬件时钟实现,这三种都是基于晶振产生的方波信号输入。这三种时钟为:(1)实时时钟RTC ( Real Time Clock) (2)可编程间隔器PIT(Programmable Interval Timer )(3)时间戳计数器TSC(Time Stamp
2013-02-28 10:11:08 2908
转载 Busybox内置的tftpd, ftpd, telnetd, udhcpd, udhcpc配置
Busybox内置的tftpd, ftpd, telnetd, udhcpd, udhcpc配置转自:http://blog.csdn.net/tqyou85/article/details/6240975Tftpd,ftpd可以由inetd来管理,telnetd理论上也可以由inetd来管理,但是目前开发板上我还没调通,只能telnetd独立运行。1. Tftpd配置步骤:
2013-02-28 09:31:11 3526
转载 UDA1341声卡移植
内核版本:linux-2.6.30.4平台:TQ2440在文件 linux/arch/arm/mach-s3c2440/mach-tq2440.c中添加如下信息添加头文件添加平台设备在数组tq2440_devices[]中添加上面构造的平台设备。我认为平台设备&s3c_device_iis并没有用到,我将它注释掉了,声卡仍能工
2013-01-29 10:39:30 1160
转载 再读声卡驱动(2)
数据流: 声卡设备的主设备号为:文件core.h中#define CONFIG_SND_MAJOR 116文件sound.c中static int major = CONFIG_SND_MAJOR;这个主设备号关联一个上层的 file_operations,snd_fops。在文件sound.c中:static
2013-01-29 10:36:42 1236
转载 再读声卡驱动(1)
声卡驱动体系极其复杂我虽然一读再读也只能理出一个大体脉络。声卡设备模型建立流程: 在继续讨论之前先来看几个结构体:文件s3c24xx_uda134x.cstatic struct snd_soc_dai_link s3c24xx_uda134x_dai_link = { .name = "UDA134X",
2013-01-29 10:34:23 1909
转载 Linux内核启动过程中注册platform驱动模型
一、platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等)。linux在引入了platform机制之后,内核假设所有的这
2013-01-28 15:19:21 2460
转载 linux platform 驱动模型分析
linux platform 驱动模型分析一. 概述 platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等
2013-01-28 15:16:51 1390
转载 vmware添加新硬盘 挂载新硬盘 硬盘扩容
平时都用虚拟机做实验,做一些linux方面的开发应用,但是很烦人的是经常遇到预先装好的linux虚拟机的硬盘空间过小现在好多软件都没法安装了。自己重新装一个吧,又挺麻烦。于是,上网搜了下关于vmware硬盘扩容的方法。网上也有好多人给出了一些指点,但是总有些些许许的小问题。笔者通过实验,总结了添加新硬盘 挂载新硬盘 硬盘扩容的一些方法,仅供大家做个参考.一:首先介绍硬盘扩容
2013-01-25 12:55:18 1083
转载 source insight快捷键及使用技巧
source insight快捷键及使用技巧 退出程序 : Alt+F4重画屏幕 : Ctrl+Alt+Space完成语法 : Ctrl+E复制一行
2013-01-23 22:10:05 1239
转载 linux内核启动设备探测过程
前段时间研究nandflash驱动,很好奇,到底是怎么探测nandflash,以及驱动等等。好吧,现在开始不说了。首先在板级文件里面必须添加设备信息,static struct resource s5pv210_nand_resource[] = {[0] = {.start = 0xB0E00000,.end = 0xB0E00000 + 0x00100000 -
2013-01-16 10:58:55 1521
转载 Ubuntu下配置samba服务
Ubuntu下配置samba服务一.samba的安装: sudo apt-get insall samba // (sudo get temp root auth) sudo apt-get install smbfs二. 创建共享目录: mkdir /home/john/share
2013-01-10 09:14:03 1267
转载 Linux内核大讲堂之设备驱动的基石驱动模型(7)
转自:无为和尚的Linux内核大讲堂系列。http://blog.csdn.net/z2007b/article/details/6388753终于快讲完了,这一节其实就是让上节我们所说的四大天王露下小脸。源码分析请自行完成吧。我建议大家可以试着先看一下代码,如果能看懂,那就把我写的那破玩意删掉,自已实现一遍,如果不能看懂,那马上回过去从第一小节重新看过,耐心,一定要有耐心,没耐心,啥
2012-12-29 09:06:54 1148
(Shadow Volume)阴影体技术介绍.docx
2013-09-03
OpenGL超级宝典(中文第五版带目录清晰扫描版).pdf
2013-08-24
OpenGL超级宝典中文第三版带目录清晰扫描版.pdf
2013-08-24
LPC1769_68_67_66_65_64_63.pdf
2013-08-18
ARMv7-M+Architecture+Application+Level+Reference+Manual.pdf
2013-08-18
深入Linux内核架构(中文版).pdf
2013-08-03
The_OpenGL_Graphics_System_A_Specification.pdf
2013-07-26
UML建模工具Enterprise+Architect.rar
2013-07-22
glew-1.9.0.zip(用于OpenGL超级宝典第五版环境配置)
2013-07-19
Introduction_to_Algorithms_3rd_Edition_算法导论第三版.pdf
2016-05-08
emacs集成多插件配置文件.emacs
2014-06-22
Emacs命令全集Emacs_command_tables.pdf
2014-06-22
Linux_alsa_example_6735.tgz
2013-11-22
LinuxSystemProgramming+Linux系统编程中英文合集
2013-10-26
Linux Shell脚本攻略.pdf
2013-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人