上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 34 下一页
摘要: 一、SDRAM1、存储结构 SDRAM的内部是一个存储阵列。阵列就如同表格一样,将数据“填”进去。在数据读写时和表格的检索原理一样,先指定一个行(Row),再指定一个列 (Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理 这个单元格(存储阵列)就叫逻辑 Bank(Logical Bank,下文简称 L-Bank)。 由于技术、成本等原因,不可能只做一个全容量的 L-Bank,而且最重要的是,由于 SDRAM的工作原理限制,单一的 L-Ban k将会造成非常严重的寻址冲突,大幅降低内存效率。所以人们在 SDRAM内部分割成多个 L-Bank,目前基本都是 4个.. 阅读全文
posted @ 2013-11-26 22:10 amanlikethis 阅读(22432) 评论(0) 推荐(3) 编辑
摘要: 一、x86总体上遵循两个原则:整体空间----占用空间最大的成员(的类型)所占字节数的整数倍对齐原则----内存按结构成员的先后顺序排列,当排到该成员变量时,其前面已摆放的空间大小必须是该成员类型大小的整倍数,如果不够则补齐,以此向后类推说明:假定结构体是从地址0开始依次存放各个变量的struct s1 { 变量占据内存位置 去掉余下变量后结构体所占内存空间 char a; //0 //1 double b; //8-15 //16 int c; //16-19 //24... 阅读全文
posted @ 2013-11-26 20:27 amanlikethis 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 一、概念 大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。二、测试你的计算机是大端还是小端 1 #include 2 int main(void) 3 { 4 int a = 0x12345678; 5 unsigned char *p=(unsigned ... 阅读全文
posted @ 2013-11-26 16:35 amanlikethis 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 参考:sizeof_百度百科 sizeof()用法汇总(经典)声明:本文是笔者抽出对自己有用的细节,对前两文的总结。1、sizeof概念 sizeof是C语言中判断数据类型或者表达式长度符;不是一个函数,它的计算在程序编译时进行,而不是在程序执行的过程中才计算出来。所有sizeof()在编程过程中可以看做是一个常数来处理。2、与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素 sizeof计算数据(变量、类型、结构体等)所占内存空间,用字节数表示char s[] = "hello" 阅读全文
posted @ 2013-11-26 11:15 amanlikethis 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 编译错误:warning: no newline at end of file原因:程序结尾需要有一个空行解决办法:在程序末尾多打个回车就行了 阅读全文
posted @ 2013-11-25 17:52 amanlikethis 阅读(565) 评论(0) 推荐(0) 编辑
摘要: uboot代码中有这么一句话“#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")”,困扰了山人多时。经过多番求索,才得知原来是定义了一个全局的寄存器变量gd_t(r8是它的专用寄存器)。 详细解释一下,... 阅读全文
posted @ 2013-11-25 16:42 amanlikethis 阅读(2789) 评论(3) 推荐(0) 编辑
摘要: x86 数据类型 类型标示符 字节 数值范围 整形 [signed] int 4 -2147483648~+2147483647 无符号整形 unsigned int 4 0~4294967295 短整型 short [int] 2 -32768~+32767 无符号短整型 unsigned short [int] 2 0~65535 长整形 long [int] 4... 阅读全文
posted @ 2013-11-24 20:07 amanlikethis 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 在读uboot的lib_arm/board.c中的start_armboot ()函数遇到了"init_fnc_t **init_fnc_ptr;”一句话,后来查看init_fnt_t数据类型的定义,看到“typedef int (init_fnc_t) (void);”,不过这句话似乎也不容易看懂,经过一番搜索和实验,才知其确切含义。 先看看这个“typedef int (*init_fnc_t) (void);”。后者很清楚就是定义了一个指向int (function)(void)类型函数的指针,函数无形参,返回一个int类型的变量。“typedef int (init_fnc_ 阅读全文
posted @ 2013-11-24 13:14 amanlikethis 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 程序员需要技术,是毋庸置疑的。程序员也需要具备优秀的身体条件,这一点似乎很少被程序员足够的重视。但是,我认为优秀的身体状态对于程序员是必不可少的。倘若一个程序员生活混乱,身体糟糕,他也不可能成为一个优秀的程序员。 为什么我要强调这一点呢?设想,一个要完成非常富有逻辑性、周密性工程的人倘若头脑昏沉、心烦意乱,是很难做好工作的。我之所以看重身体状态,正是基于程序员所面对的工作来说的。其实,任何工作都需要工作人员有良好的身体状态,只不过编程尤甚。 大多程序员经常处于这种状态:经常遇到许技术难题,花费很多的时间潜心钻研,甚至不惜废寝忘食投入其中。从热爱科学的层面上说,或者从勤奋的美德上说,这种行... 阅读全文
posted @ 2013-11-23 23:15 amanlikethis 阅读(547) 评论(0) 推荐(1) 编辑
摘要: 一、概述 1、本文综述及特色 阅读uboot,start.S是第一个源程序文件,主要完成初始化看门狗、定时器、重定位(拷贝代码段到内存中)、初始化堆栈、跳转到第二阶段等工作。 网上关于这些内容的解释已经非常详细了,但是很少有人设计start.S中有关异常处理的分析,即使有分析也是源码自带的英文... 阅读全文
posted @ 2013-11-22 13:07 amanlikethis 阅读(1263) 评论(0) 推荐(1) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 34 下一页