自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

紫侠的天空

紫气东来,侠名弥耳

  • 博客(46)
  • 资源 (8)
  • 收藏
  • 关注

转载 安装arm-elf-tools时出错的解决办法

   1# 大 中 小 发表于 2009-4-17 14:56  只看该作者 安装arm-elf-tools时出错在uclinux.org下载的arm-elf-tools-20030314.sh,在ubuntu8.04下执行:sudo ./arm-elf-tools-20030314.sh,结果显示:tail: cannot open `+43 for reading:

2009-06-30 09:27:00 2804 3

转载 在ubuntu7.10上搭建uClinux编译开发环境并用Skyeye进行仿真

本文完全原创,转载请注明出处 --by wenwu 首先感谢http://hi.baidu.com/zkheartboy/blog/item/a73927ad3629c9094a36d6f1.html上提供的方法,我在写这篇文章的时候参考了作者的一些方法。 下面的所有操作,在 ubuntu7.10下全部调试通过。 但仅供参考! 我在写的时候,将shell命令完整部分都粘贴了下来,希望你能看清我在操

2009-06-30 09:26:00 1168

转载 SKYEYE在IBM的文章

    1.    SkyEye硬件模拟平台,第三部分: 硬件仿真实现之五 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye ... 通过对LCD显示内存的读写操作来实现,SkyEye"看到"的只是显存中对应于屏幕上各个点的像素值 ..

2009-06-30 09:25:00 744

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之六

SkyEye的扩展    级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 11

2009-06-30 09:23:00 708

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之五

LCD/TouchScreen仿真    级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学20

2009-06-30 09:22:00 746

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之四

网络芯片仿真    级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 11 月 0

2009-06-30 09:15:00 719

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之三

MMU/CACHE仿真     级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年

2009-06-30 09:11:00 751

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之二

CPU/开发板仿真     级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 10

2009-06-30 09:07:00 712

转载 SkyEye硬件模拟平台,第三部分: 硬件仿真实现之一

SkyEye的设计实现    级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 1

2009-06-30 09:04:00 631

转载 SkyEye硬件模拟平台,第二部分: 安装与使用

陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 9 月 01 日 一. SkyEye配置选项SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。根据选项的功能,skyeye.conf的选项分为硬件配置选项和模拟执行选项。根据参数的个数,skyeye.conf的选项主要由两种组成:单参数选项行 格式为: sym

2009-06-30 08:55:00 648

转载 SkyEye硬件模拟平台, 第一部分: SkyEye 介绍

级别: 初级陈渝 (yuchen@tsinghua.edu.cn)清华大学2004 年 9 月 01 日 一.SkyEye介绍1.SkyEye的起源和发展2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以

2009-06-30 08:51:00 697

转载 TCP/IP协议

TCP/IP协议(Transfer Controln Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。    TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录

2009-06-17 23:11:00 989

转载 浅谈C中的malloc和free[转载bc-cn C语言论坛]

一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间

2009-06-17 23:08:00 942 1

转载 C/C++语言void及void指针深层探索

1.概述  许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。  2.void的含义  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。  void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一

2009-06-17 23:07:00 724

转载 C/C+语言struct深层探索

1. struct的巨大作用  面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区别一个开发人员是否具备丰富开发经历的标志。  在网络协议、通信控制

2009-06-17 23:06:00 619

转载 嵌入式C语言面试题

预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计

2009-06-17 23:05:00 1039

转载 优化C代码常用的几招

在性能优化方面永远注意80-20原则,即20%的程序消耗了80%的运行时间,因而我们要改进效率,最主要是考虑改进那20%的代码。不要优化程序中开销不大的那80%,这是劳而无功的。第一招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值:方法A:通常的办法#define LEN 32

2009-06-17 23:04:00 771

转载 C语言-预处理

在源程序中经常会使用以“#”号开头的预处理命令。如包含命令# include,宏定义命令# define等。在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分。  所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作

2009-06-17 23:03:00 1279

转载 位运算

缘起:C语言区别于其它语言的重要特点是支持位运算,使其能够完成汇编语言所能完成的大部分功能。但是学校开设的C语言课程中老师往往将位运算这一章一代而过,好像这一张根本不重要。但是在实际的编程中借助于位运算往往可以设计出简洁的算法,使程序简化,并且获得较高的效率。而且在某些对硬件进行控制的编程中,位运算是必不可少的。因此笔者参考了相关书籍,总结了一些规律和助记口诀,希望对读者有所帮助。 一 优先级

2009-06-17 23:03:00 677

转载 堆和栈的区别和联系

一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—      由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) —      一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(sta

2009-06-17 23:02:00 873

原创 volatile用法

如果你懂一点点的编译器的知识我想你都会知道编译器在编译你的代码的时候,用进行自动优化的,用以产生优化指令。同上操作系统和一些线程同样也会对你所定义的一些变量做出一些你所不知道的更改。这样的更改我们称为,隐式修改,因为你不知道,编译器在什么情况下,在那里做出了优化,甚至你都不知道,或是不能肯定编译器到底有没有对你的代码做出优化。直接点把你看看下面的例子#include void main()

2009-06-17 23:01:00 367

转载 编程修养(二)

编程修养(二) 11、出错信息的处理---------你会处理出错信息吗?哦,它并不是简单的输出。看下面的示例:  if ( p == NULL ){    printf ( "ERR: The pointer is NULL/n" );  }  告别学生时代的编程吧。这种编程很不利于维护和管理,出错信息或是提示信息,应该统一处理,而不是像上面这样,写成一个"硬编码"。第10条对这方面的处理做了一

2009-06-17 23:00:00 492

转载 编程修养(一)

编程修养(一) 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。 5、写出

2009-06-17 22:59:00 519

转载 指针、结构体、联合体的安全规范

指针赋予了C编程最大的灵活性;结构体使得C程序整齐而紧凑;联合体在某些要求注重效率的场合有精彩的表现,这三个要素是C语言的精华。       然而,精华并不意味着完美,C语言在赋予程序员足够灵活性的同时,也给了程序员很多犯错误的机会。所以有必要关注指针、结构体和联合体的实现细节,从而保障程序的安全性。      在此.第一部分介绍《MISRA—C:2004》中与指针相关的部分规则,第二部分

2009-06-17 22:58:00 782

转载 学习C语言指针

先看个程序,是华为2005年招聘笔试题之一#include main(){int a[3]={1,2,3};int *p,*q;p=a;q=&a[2];printf(" a[p-q]=%d/n q=%d/n p=%d/n q-p=%d/n",a[q-p],q,p,q-p);getch();}运行结果:a[q-p] = 3q = -42p = -46q-p = 2  6.3

2009-06-17 22:57:00 731

转载 Sizeof与Strlen的区别与联系

Sizeof与Strlen的区别与联系1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以”’结尾的。sizeof还可以用函数做参数,比如:short f();

2009-06-17 22:56:00 389

转载 C语言宏定义使用技巧

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef unsign

2009-06-17 22:55:00 428

转载 typedef用法

一.基本概念剖析int* (*a[5])(int, char*);      //#1void (*b[10]) (void (*)()); //#2double(*)() (*pa)[9];         //#31.C语言中函数声明和数组声明。函数声明一般是这样:int fun(int, double);对应函数指针(pointer to function)的声明是这样:int (*

2009-06-17 22:54:00 429

转载 结构体零长度数组的作用

在一些 C 语言编写的代码中,有时可以看到如下定义的结构:typedef struct user_def{ char * name; int length; char bytes[0];} user_def_t;  这个 bytes 是什么意思?我们知道 0 == sizeof(bytes),那么 bytes 仅仅是为了定义结构的尾地址吗?不是

2009-06-17 22:47:00 587

原创 memcpy和memmove函数的实现

区别:从DESCRIPTION看来,两者的功能基本相同,唯一不同的是,当 dest 和 src 有重叠的时候选用不同的函数可能会造成不同的结果。不妨写个小程序来测一下:0 #i nclude 1 #i nclude 23 int main()4 {5 int i = 0;6 int a[10];7 8 for(i; i < 10; i++

2009-06-17 22:43:00 915

转载 C语言宏定义技巧(常用宏定义)

1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef unsigned char boolean; /* Boolean value typ

2009-06-17 22:42:00 2639

转载 内存对齐(三谈)

                                                               第一谈在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐

2009-06-17 22:38:00 650

转载 C99新特性

在ANSI标准化后,C语言的标准在一段相当的时间内都保持不变,尽管C++继续在改进。(实际上,Normative Amendment1在1995年已经开发了一个新的C语言版本。但是这个版本很少为人所知。)标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。在C99中包括的特性有:对编译器限制增加了

2009-06-17 22:37:00 450

原创 C语言中可变参数的用法

我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:printf("%d",i);printf("%s",s);printf("the number is %d ,string

2009-06-17 22:34:00 378

转载 memcpy, strncpy, strcpy

/*** memcpy - Copy one area of memory to another* @dest: Where to copy to* @src: Where to copy from* @count: The size of the area.** You should not use this function to access IO space, us

2009-06-17 22:32:00 620

转载 哈希表

Hashing定义了一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。     设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。|K|是集合K中元素的个数。   

2009-06-17 22:30:00 1113 1

转载 B树、B-树、B+树、B*树都是什么

树、B-树、B+树、B*树都是什么  B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询

2009-06-17 22:24:00 572

转载 关于嵌入式系统方向

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机 (DV)、U-Disk、机顶盒(Set Top

2009-06-17 22:19:00 577

转载 关于Bootloader

本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。一、引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader两大部分。2.

2009-06-17 22:17:00 655

转载 S3C2410MMU教程

MMU,全称Memory Manage Unit, 中文名——存储器管理单元。许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非 常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的 不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至

2009-06-17 22:14:00 765

步步为赢 进阶学习CUDA编程优化与应用

步步为赢 进阶学习CUDA编程优化与应用

2018-09-18

精通QT4 第二版 全书代码

精通QT4 第二版 全书代码。可以根据自己的理解看代码。树上有些代码是略过的

2013-11-08

二维码应用案例

二维码应用案例:参考案例尝试软件开发,并做适当的移植。

2013-03-08

Qt状态统计程序

在多状态资源环境下,采集数据并按需求作出折现图和饼图

2013-03-08

点阵编辑软件

该软件并不完善,中间因需求打断了。所以只写了删除操作,其他操作还没有添加,看明白的朋友有空可以添加。

2013-01-10

Android开发教程笔记完全版

Android开发教程笔记完全版 Android开发背景

2011-01-09

AT&T汇编语言与GCC内嵌汇编简介

这个是有利于在Linux 下反汇编理解的一种工具。配套有linux c一站式学习

2009-05-18

宋劲杉-Linux C编程一站式学习

这本书讲的非常好,不仅仅是C,并且还包含了如果从编译器和汇编的角度去理解代码在机器中的运行。是国内不可多得的一本linux c编程书籍。作者是清华大学的硕士。

2009-05-18

空空如也

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

TA关注的人

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