2011年4月28日
摘要: 对于s3c2440、s3c2410这样的片子,并不是想51那样简单的内存和启动操作1、这两种芯片的地址线为addr0~addr26共有27条地址线即为128MB的寻址范围,为了更广的范围芯片厂家就多加了nGCS0~nGCS7(有了所谓的bank0~bank7),8个引脚作为外部的扩展即128*8MB=1GB的寻址范围。理论上这芯片有4GB(2的23次方)的寻址范围和采用统一编址的方式。但并不是全都用到的一般只用到其中的一部分。即可分为:外部地址空间bank0~bank7(0x00000000~0x40000000)、内部寄存器地址(0x48000000~0x5FFFFFFF)主要用于特殊功能寄 阅读全文
posted @ 2011-04-28 21:48 Heart_of_Eagle 阅读(369) 评论(0) 推荐(0) 编辑
摘要: IMPORT |Image$$RO$$Limit| IMPORT |Image$$RW$$Base| IMPORT |Image$$ZI$$Base| IMPORT |Image$$ZI$$Limit| IMPORT |Image$$RW$$Limit|从ADS1.2的帮助文档可以看出以下几个symbol的定义应该是:|Image$$RO$$Base|表示RO输出段运行时起始地址,也可以说是程序代码存放的起始地址,由-ro-base这个参数指定;|Image$$RO$$Limit|表示RO输出段运行时存储区域界限,其值可通过|Image$$RO$$Base|+Code sizes+RO Da. 阅读全文
posted @ 2011-04-28 16:34 Heart_of_Eagle 阅读(6052) 评论(1) 推荐(4) 编辑
摘要: 关于世界三大主流汽车制造流派的优劣之争,一直就没有终止过。在这其中,欧日(也可以说是德日)之争更是各大车坛上口水战的最好题材。如果我们仅仅局限在中国市场上看它们三者的表现,容易失之偏颇。我就试着结合我亲眼所见,讨论一下它们各自的特点,在全球市场上的表现,最后再回到中国市场上来。也希望这能够给予我们本土汽车品牌一些启示。 古人云,“橘生淮南则为橘,生于淮北则为枳。”说的是,同样的水果基因,由于所生长的地方水土不同,会长出截然不同的味道来。汽车,作为与人们日常生活紧密联系的消费品,和所在地的地理环境、经济发展、人口状况、消费者用车习惯都是密不可分的。我就从这里开始说起。 欧洲 欧洲国与国的情况不. 阅读全文
posted @ 2011-04-28 15:27 Heart_of_Eagle 阅读(2634) 评论(0) 推荐(0) 编辑
  2011年4月23日
摘要: 简述:这是嵌入式C程序员的基本知识。作者在Embedded Systems Programming杂志上发表了很多嵌入式系统开发方面的文章。作者:Jones Nigel 更新日期:2005-04-08 来源:internet C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答 阅读全文
posted @ 2011-04-23 00:07 Heart_of_Eagle 阅读(184) 评论(0) 推荐(0) 编辑
  2011年4月22日
摘要: 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1).并行设备的硬件寄存器(如:状态寄存器)2).一个中断服务子程序中会访问到的非自动变量(Non-automaticvariables)3).多线程应用中被几个任务共享的变量回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volati. 阅读全文
posted @ 2011-04-22 23:21 Heart_of_Eagle 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 今天在看S3C2440开发板的初始化代码时,对#define A (* (volatile unsigned long *) 0x48000000这种形式的定义方式有困惑,于是求助GOOGLE大神,在网上搜到了一些文章,觉得以下三篇文章对理解这个有些作用:文章一:有关volatile unsigned long一些说明对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念。如果是内存映射,那就方便的多了。 以#define IOPIN (*((vol. 阅读全文
posted @ 2011-04-22 23:06 Heart_of_Eagle 阅读(1575) 评论(0) 推荐(1) 编辑
摘要: “#ifdef __cplusplus extern "C" { #endif”的定义看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事:Microsoft-Specific Predefined Macros__cplusplus Defined for C++ programs only.意思是说,如果是C++程序,就使用extern "C"{而这个东东,是指在下面的函数不使用的C++的名字修饰,而是用C的The following code shows a 阅读全文
posted @ 2011-04-22 10:00 Heart_of_Eagle 阅读(723) 评论(0) 推荐(1) 编辑