- 博客(11)
- 收藏
- 关注
转载 Linux启动过程剖析
<br />Linux启动过程的剖析能帮助那些想深入学习Linux用户建立一个相关Linux启动过程的清晰概念,进而可以进一步研究Linux接下来是如何工作的。<br />Linux启动过程如下:当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服
2010-09-23 21:19:00
296
转载 arm嵌入式系统运行概述
一、嵌入式系统中的存储映射 在ARM体系结构中,系统复位后将跳转到地址0x00x处执行,该处存放的是复位异常中断的中断向量。对于嵌入式系统来说,在系统复位时RAM中是不存在代码和数据的。因此在系统复位时,地址0x00处应为ROM,即系统复位后应该首先从ROM开始执行。这时,根据系统在其后运行过程中地址0x00处存储器的类型,有下面两种情况。1、地址0x00处为ROM 这里说的地址0x00为ROM,是指在系统运行过程中,地址0x00为ROM。对于嵌入式系统来说,在系统复位时地址0x00处总为RO
2010-09-23 21:11:00
685
转载 ISP 和 IAP 的介绍讨论
<br />ISP:in system programming, <br />IAP: in applicatin programming <br />但两者的操作方式,结果和应用场合有什么区别 <br />什么是ISP: <br />用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统; <br />什么是IAP: <br />在应用编程,有芯片本身(或通过外围的芯片)可以通过一系列操作将code写
2010-09-23 20:08:00
328
转载 指针在结构体中使用应注意
<br />指针是C语言中的难点,很多人对他的使用掌握的不是很好,使用过程中出现很多的问题。<br /> 使用指针的时候需要注意几点:<br /> 1、分配空间<br /> 2、初始化<br /> 3、释放<br />这些可能很多人都知道,但是用的时候往往会忘记做这些工作,这带来的结果就是“段错误”,对于初学者,这个错误很难定位。可谓是深恶痛绝吧。<br />常出现的错误有几种<br /> 1、指针没有初始化。<br /> 2、越界。<br />
2010-09-23 17:00:00
534
转载 C语言静态函数库的制作和使用方法
<br />C语言中有一些函数会执行一些标准任务,可以事先对这些函数进行编译,然后将他们放置在一些特殊的目标代码文件中,这些目标代码文件称为库。<br />库文件中的函数可以通过连接程序与应用程序进行链接,这样就不用在每次执行程序时都对这些通用的函数进行编译了。<br />标准的C函数库名称为libc,包含了诸如内存管理或者输入输出操作的基本函数。这些库放置在系统的公用目录下,如/usr/lib,系统中的任何用户都可以利用这些库函数,用户也可以自己建立库。 <br />库的两种形式:静态库;共享库
2010-09-23 16:58:00
288
转载 C语言嵌入式系统编程修炼
C语言嵌入式系统编程修炼之背景篇<br /> 作者:宋宝华 出处:天极网[ 2005-06-14 14:45 ]本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔
2010-09-23 16:49:00
586
转载 extern解析
<br />1 基本解释<br /> extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。<br /> 另外,extern也可用来进行链接指定。<br />2 问题:extern 变量<br /> 在一个源文件里定义了一个数组:char a[6];<br /> 在另外一个文件里用下列语句进行了声明:extern char *a;<br /> 请问,这样可以吗? <br /> 答案与分析:<br />
2010-09-23 16:36:00
280
转载 typedef用法
<br />一.基本概念剖析 <br />int* (*a[5])(int, char*); //#1<br />void (*b[10]) (void (*)()); //#2<br />double(*)() (*pa)[9]; //#3 <br />1.C语言中函数声明和数组声明。函数声明一般是这样:<br /><br />int fun(int, double);<br />对应函数指针(pointer to function)的声明是这样:<br /><br />int (*p
2010-09-23 16:35:00
184
转载 typedef用法
<br />一.基本概念剖析 <br />int* (*a[5])(int, char*); //#1<br />void (*b[10]) (void (*)()); //#2<br />double(*)() (*pa)[9]; //#3 <br />1.C语言中函数声明和数组声明。函数声明一般是这样:<br /><br /><br />int fun(int, double);<br />对应函数指针(pointer to function)的声明是这样:<br /><br />int (*pf)
2010-09-23 16:35:00
252
转载 推荐电子书下载
分类名称描述汇编语言汇编语言王爽一本非常好的汇编书,讲得很清楚。C语言C程序设计语言K&RC Bible,适合作为学习C的第一本书。C与指针可以作为学习C的第二本书C缺陷和陷阱可以作为学习C的第三或第四本书C专家编程可以作为学习C的第三或第四本书数组与指针的艺术supermegaboy写的。不错。C语言深度解剖程正冲 编著,石虎 审阅。C99标准有问题时查一查,很多问题可迎刃而解。彻底搞定C指针C的初级读物。如果读过C与指针,可忽略。高质量C/C++编程指南林锐博士的作品,口碑非常好的读物。C++语
2010-09-23 16:32:00
418
转载 volatile解析
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br /> 1). 并行设备的硬件寄存器(如:状态寄存器) <br /> 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) <br /> 3). 多线程应用中被几个任务共享的变量
2010-09-23 16:23:00
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人