- 博客(115)
- 资源 (146)
- 收藏
- 关注
原创 Emacs安装配置全攻略之一编译安装简单配置
. 准备工作(1)安装svn、sshsudo apt-get install ssh subversion(2)安装texinfo(为了编译man包)sudo apt-get install texinfo(3)安装编译所需的支持包,依环境而定sudo apt-get build-dep emacs21 libgtk2.0-dev xserver-xorg-
2014-06-22 14:12:51 8740 1
原创 Linux内核启动及根文件系统加载过程
检测机器码类型是在汇编子函数__lookup_machine_type (同样在文件head-common.S实现) 中完成的。与__lookup_processor_type类似,通过代码:“bl __lookup_machine_type”来实现对它的调 用。该函数返回时,会将返回结构保存放在r5、r6 和r7三个寄存器中。其中r5寄存器返回一个用来描述机器(也就是开发板)的结构体地址
2014-05-25 14:12:13 29275 2
原创 Linux从低版本向高版本平滑升级(Fedora 11到Fedora 12为例)
这个需要先下载 Fedora-12-i386-DVD.iso ,然后从中提取 images 和 isolinux 文件夹。在非Linux安装分区(如Windows可见的F盘等,有些人说在home分区,我试过的那样不会看到安装和升级选项,而且后面会出现问题)建一目录 fc12 然后把刚提取出来的 images 目录,isolinux目录 连同 Fedora-12-i386-DVD.iso 放到
2014-04-07 17:03:06 3712
原创 IC厂Linux(ARM)驱动,军工厂Vxworks(PowerPC) BSP+驱动,选了后者
第一次写非技术方面的博客,近一个月来非常纠结,患得患失。 换工作有2个offer比较难抉择,国内领导IC厂Linux驱动职位和军工企业Vxworks(PowerPC)BSP+驱动职位,待遇来说,伯仲之间。两个完全不同的领域,IC厂Linux驱动职位是自己擅长的领域,而Vxworks+PowerPC也是本人想了解及涉足的技术领域。不论如何选择可能都会遗憾,但考虑到家庭方面、自身条件及持续发展
2014-03-30 09:30:26 5307 6
转载 VxWorks BSP开发和启动过程
转自:http://blog.163.com/huankai_hehedexiao/blog/static/19201427120117355910529/一.BSP1.定义:Board Support Package, Provides VxWorks with primary interface to hardware environment。2.作用:在通电后
2014-03-06 21:54:18 6121
转载 VxWorks引导启动过程
一 基本概念及引导概述1 bootloader/bootrom/bootstrapCPU上电经自复位的过程(由硬件时序逻辑决定的Power-On StrappingSequence)后,指令指针指向一个固定的地址(after-reset startingpoint)。这个固定地址因体系架构而异:在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地
2014-03-05 10:43:49 7580 1
原创 TI-Davinci开发系列之八x-loader工作流程分析
DM3730仅集成了一个Nand Flash控制器,所以uboot镜像只能烧在Nand Flash上,通过Nand Flash启动,然而Nand Flash并不支持XIP(eXecute In Place,即芯片内执行)。所以针对Nand Flash的启动方式,一般在采用0x0地址挂载一个容量较小的SRAM(称为Steppingstone)。而且Nand Flash的第一页烧入的x-load,
2014-02-27 20:42:41 5132
原创 TI-Davinci开发系列之七DVSDK-4.03目录介绍
接上篇博文《TI-Davinci开发系列之六CCS5.2调试Linux内核》,在简单介绍了CCS5.2的安装及使用方法之后,接下来本文将介绍DVSDK4.03的目录结构,而实际上DVSDK4.03目录及其子目录下都有docs目录,TI的文档是海量的,只要你有耐心大部分问题都可以从文档中找到靠谱的参考,不过本着抛砖引玉的着眼点,本文简要介绍DVSDK4.03的目录结构,希望能给新来者以帮助同时记录下
2014-02-26 14:12:21 6678
原创 TI-Davinci开发系列之六CCS5.2调试Linux内核
使用CCS5.2远程调试内核时,只需导入Linux内核源码,而不需要编译内核,也就不会用到交叉编译链,同时不需要使用gdbserver,但需要仿真器XDS560V2,所以Windows和Linux都可以完成,但考虑Windows CCS5.2软件成熟,bug较少,且Windows易于操作,故本文推荐并主要介绍Windows版CCS5.2调试内核的方法。在介绍远程调试Linux之前,务必保证仿真器X
2014-01-13 23:37:35 6379 1
原创 TI-Davinci开发系列之五CCS5.2使用gdbserver远程调试应用程序
使用gdbserver远程调试应用程序一、CCS5.2中创建GCCProject用gdbserver调试目标板应用程序时,需要在CCS5.2创建GCC Project,并将build出来的执行程序,拷贝到目标板上执行。下面是CCS5.2创建GCCProject的过程:点击Project->New Project->C/C++->C Project,点击Next。给Pro
2014-01-09 11:25:10 6046 2
转载 ARM Linux内核驱动异常定位调试--反汇编arm-linux-objdump
ARM Linux内核驱动异常定位方法分析--反汇编方式原文链接:http://blog.csdn.net/hunhunzi/article/details/7052032最近在搞Atmel 的SAM9x25平台,Linux系统,用于工业设备。这也是我首次参与工业设备的研发。在调试Atmel SAM9x25的Linux串口设备的时候,发现无论是读还是写,都会产生异常。相关的异常信息如下
2013-12-31 18:27:24 9194
转载 Linux Socket编程中的心跳机制
在TCP网络通信中,经常会出现客户端和服务器之间的非正常断开,需要实时检测查询链接状态。常用的解决方法就是在程序中加入心跳机制。从网络上找到,主要有以下方法实现TCP异常断开的检测:SO_KEEPALIVE,SIO_KEEPALIVE_VALS 和Heart-Beat线程。(1)SO_KEEPALIVE 机制 这是socket库提供的功能,设置接口是setso
2013-12-29 10:39:08 5380
转载 zigbee入门级文章
[导言] 本人做过几年单片机的开发工作,主要用的是8051内核的和瑞萨740系列的,在这个ARM大行其道的时代,也曾经试着接触过,不过很容易在复杂的内核中迷失了自己~~~一直对这种能全局掌控的小系统痴迷,一个国外朋友无意间提到Zigbee这种技术,从百度百科开始了解,然后疯狂搜集资料,对这种技术甚是感兴趣,加上最近媒体对“物联网”的吹捧,终于坐不住了,买书,买开发板,动工啦~~~~
2013-12-19 23:08:45 4145
原创 TI-Davinci开发系列之四CCS5.2使用XDS560v2在线调试ARM/DSP程序
上接博文《TI-Davinci开发系列之三测试XDS560V2仿真器与DM3730的正确连接》一、在CCS5.2创建并调试ARM工程Ø 在创建工程之前,首先将DM3730对应的GEL文件包DM3730-25_GELs.zip解压并拷贝到“安装目录”\ ccsv5\ccs_base\emulation\gel目录下,然后创建ARM工程,点击Project->New CCS Projec
2013-12-04 10:48:23 8983
原创 TI-Davinci开发系列之三测试XDS560V2仿真器与DM3730的正确连接
接博文《TI-Davinci开发系列之二使用CCS5.2TI Simulator模拟环境调试DSP程序》/******************************************************************************************************************************************/
2013-12-03 10:40:13 7670
原创 TI-Davinci开发系列之二使用CCS5.2TI Simulator模拟器调试DSP程序
上接博文《TI-Davinci开发系列之一CCS5.2的安装及注意事项》。 如何没有实际的开发板或者仿真器,可以使用CCS自带的TISimulator来学习与熟悉CCS开发调试环境。下面是具体过程:/****************************************************************************************
2013-12-02 09:41:49 9463 2
原创 TI-Davinci开发系列之一CCS5.2的安装及注意事项
1 引言CCS5.2是德州仪器系统芯片对应集成开发环境Code Composer Studio5.2的简称。与CCS4相比有如下优点:•针对CCSv4的替换版,面向所有用户 •支持Windows和Linux –注意,并非所有的仿真器(emulator)有Linux版支持 •SD DSK / EVM板载仿真器,XDS560PCI没有支持 – 大多数的USB /
2013-12-01 15:47:27 9568 2
原创 用Buddy算法来改进uCos-ii内存管理方案
1 引言 内存管理是操作系统的中心任务之一,其主要任务是组织内存以容纳内核和待执行程序,跟踪当前内存的使用情况,在需要时为进程分配内存,使用完毕后释放并回收内存。目前嵌入式系统中常用的内存管理策略主要有两种—静态内存分配和动态内存分配。 静态内存分配—编译或链接时将将所需内存分配好,程序运行起来所分配的内存不释放。对于实时性和可靠性要求极高的系统,不允许延迟或者分配失
2013-11-29 09:35:17 5520
转载 调试器工作原理之二——实现断点
英文原文:Eli Bendersky 翻译:伯乐在线— 陈舸本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容 这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程
2013-10-31 23:57:35 4322
转载 调试器工作原理之三——调试信息
英文原文:Eli Bendersky 编译:伯乐在线— 陈舸本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能够将源代
2013-10-31 23:50:39 3223
转载 调试器工作原理之一——基础篇
英文原文:Eli Bendersky 编译:伯乐在线— 陈舸本文是一系列探究调试器工作原理的文章的第一篇。我还不确定这个系列需要包括多少篇文章以及它们所涵盖的主题,但我打算从基础知识开始说起。关于本文我打算在这篇文章中介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧
2013-10-31 23:43:28 2153
翻译 Linux内核文档翻译之Squashfs文件系统
对于使用openwrt的嵌入式系统来说,因为硬件绝大多数采用Flash,因此一般使用squashfs文件系统和jffs2文件系统。前者是只读的,后者是可写的。我们一般会把jffs2 mount到某个目录下。这样就存在某些目录如/bin是只读的(squashfs),某些目录是可读写的(jffs2),这样对文件的操作会依赖于文件系统的属性和文件的路径。 openwrt使用了mini
2013-10-27 22:37:31 12675
转载 手把手教你把Vim改装成一个IDE编程环境(图文) -- 续1
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-12-27Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章
2013-10-23 10:18:12 1771
转载 手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有
2013-10-23 10:16:20 2654
原创 Linux Framebuffer驱动框架之二软件架构(未完待续)
/**********************************************************************************************************************************/ 原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/d
2013-10-21 21:32:01 9219 4
原创 自己的经验知识杂记
先cat /dev/fb0 >a.dat生成一个不就行了?以后就拿这个a.dat测试shell脚本中${#0}表示第0个参数的长度,也就是命令的长度,${#1}表示第一个参数的长度。举例:./sub_str.sh hello 2 3刚${#0}=12 ${#1}=5${#2}=1 ${#3}=1 内核态调试神器:valgrind内存使用检测,包括: –
2013-10-19 09:26:53 3454 4
转载 Shell脚本调试技术
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/index.html本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧
2013-09-26 13:44:02 1339
转载 #if, #elif, #else, #endif 使用
分类: C/C++ 有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。(一)条件编译方法 条件编译是通过预编译指令
2013-09-05 10:12:15 3499
转载 Linux内核基础-container_of
/*** container_of - cast a member of a structure out to the containing structure* @ptr: the pointer to the member.* @type: the type of the container struct this is embedded in.* @membe
2013-09-03 10:22:10 1198
原创 GLSL中的各种接口变量总结
1、uint CreateShader(enum type) : 创建空的shader object; type: VERTEX_SHADER,2、void ShaderSource(uint shader, sizeicount, const **string, const int *length):加载shader源码进shader object;可能多个字符串3、
2013-08-23 16:58:29 5411
原创 Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理
一、基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都是由帧缓冲设备驱动本身来完成。对于帧缓冲设备而言,只要在显示缓冲区与显示点对应的区域写入颜色值,对应的颜色会自动在屏幕上显示,下一小节重点讲解各种
2013-07-18 23:07:48 20168 1
转载 Linux中断(interrupt)子系统之五:软件中断(softIRQ)
软件中断(softIRQ)是内核提供的一种延迟执行机制,它完全由软件触发,虽然说是延迟机制,实际上,在大多数情况下,它与普通进程相比,能得到更快的响应时间。软中断也是其他一些内核机制的基础,比如tasklet,高分辨率timer等。/*******************************************************************************
2013-07-11 14:51:45 1853
转载 Linux中断(interrupt)子系统之四:驱动程序接口层 & 中断通用逻辑层
在本系列文章的第一篇:Linux中断(interrupt)子系统之一:中断系统基本原理,我把通用中断子系统分为了4个层次,其中的驱动程序接口层和中断通用逻辑层的界限实际上不是很明确,因为中断通用逻辑层的很多接口,既可以被驱动程序使用,也可以被硬件封装层使用,所以我把这两部分的内容放在一起进行讨论。本章我将会讨论这两层对外提供的标准接口和内部实现机制,几乎所有的接口都是围绕着irq_desc
2013-07-11 14:51:26 1708
转载 Linux中断(interrupt)子系统之三:中断流控处理层
1. 中断流控层简介早期的内核版本中,几乎所有的中断都是由__do_IRQ函数进行处理,但是,因为各种中断请求的电气特性会有所不同,又或者中断控制器的特性也不同,这会导致以下这些处理也会有所不同:何时对中断控制器发出ack回应;mask_irq和unmask_irq的处理;中断控制器是否需要eoi回应?何时打开cpu的本地irq中断?以便允许irq的嵌套;中断数据结构的同
2013-07-11 14:50:48 1747
转载 Linux中断(interrupt)子系统之二:arch相关的硬件封装层
Linux的通用中断子系统的一个设计原则就是把底层的硬件实现尽可能地隐藏起来,使得驱动程序的开发人员不用关注底层的实现,要实现这个目标,内核的开发者们必须把硬件相关的内容剥离出来,然后定义一些列标准的接口供上层访问,上层的开发人员只要知道这些接口即可完成对中断的进一步处理和控制。对底层的封装主要包括两部分:实现不同体系结构中断入口,这部分代码通常用asm实现;中断控制器进行封装和实现;
2013-07-11 14:50:38 1603
转载 Linux中断(interrupt)子系统之一:中断系统基本原理
这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变。 /****************************************************
2013-07-11 14:50:15 1722
原创 Linux Kbuild工作原理分析(以DVSDK生成PowerVR显卡内核模块为例)
Linux内核是一种单体内核,但是通过动态加载模块的方式,使它的开发非常灵活方便。那么,它是如何编译内核的呢?我们可以通过分析它的Makefile入手。以下是一个简单的hello内核模块的Makefile.ifneq ($(KERNELRELEASE),)obj-m:=hello.oelseKERNELDIR:=/lib/modules/$(shell uname
2013-07-09 13:46:37 5660
转载 OpenGL超级宝典(第五版) 环境配置(WinXp+VS2008)
OpenGL超级宝典(第五版)环境配置Vs2008+winXP 后续会整理Ubuntu 12.04LTS下的配置作者:sunny_unix1.各种库的配置(1)glew下载:https://sourceforge.net/projects/glew/files/glew/1.7.0/glew-1.7.0.zip/download将include文件夹下的.
2013-07-03 13:13:48 2570
转载 蓝牙技术(总概)
Bluetooth 历史“Bluetooth”这个名称来源于公元 10 世纪丹麦国王 Harald Blatand - 英译为 Harold Bluetooth。在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。通过对欧洲历史及对这一无线技术未来发展的一夜的讨论,好些人 认为以国王 Blatand 的名号来命名此技术再恰当不过。国王 Blatand 统一了战争纷扰的各个派系
2013-07-02 21:07:36 5879
原创 Ubuntu10.04安装Mesa及使用OpenGL超级宝典第五版demo程序
sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev //mesademos此包找不到也可以从官网把上面的源码包下载下来自行编译安装,效果一样的,然后新建个文件sample.cpp/* light.c 此程序利用GLUT绘制一个OpenGL窗口,并显示一个加以光
2013-07-02 19:21:23 7108
(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
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关注的人