摘要:
一、概述 美国信息交换标准码是由美国国家标准学会(AmericanNationalStandardInstitute,ANSI)制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它
阅读全文
posted @ 2014-02-19 15:24
amanlikethis
阅读(774)
推荐(0)
摘要:
一、概述 main_loop()函数做的都是与具体平台无关的工作。主要包括的工作如下: (1)初始化启动次数限制机制 (2)Modem功能 (3)设置软件版本号 (4)启动延迟 (5)读取命令,解析命令 二、具体分析void main_loop (void){#ifndef CFG_HUSH_PAR
阅读全文
posted @ 2014-02-19 11:09
amanlikethis
阅读(6539)
推荐(0)
摘要:
一、概述串行CPU工作流程 串行CPU的时序流程如下图所示:取指、译码、执行、回写。其中,取指、回写是与存储器打交道;而译码与执行则是CPU内部自个儿的操作。我们究竟想要CPU干什么? CPU的最终目的不是计算,不是把计算结果存储在通用寄存器中。CPU的最终目的应该是按照次序不断的修改存储设备的存储内容。 利用CPU来显示,来唱歌······只有CPU把计算的结果存放在存储设备中的时候(姑且把修改特殊功能寄存器的值也看做是修改存储器的内容),才能实现这些功能。正如假设霍金有个很好的头脑来思考问题,但是假如他不能将思考到的东西通过某种方
阅读全文
posted @ 2014-01-14 18:46
amanlikethis
阅读(1284)
推荐(0)
摘要:
一、测试原因 在学习u-boot的环境变量过程中,看到有如此的代码,现对涉及到的内容进行实验测试。二、测试目的1、了解gcc允许对段的属性进行更改的方法。2、解决”ENV_IS_EMBEDDED“解惑以及相关的移植实验中如何将环境变量(结构体变量environment)定位在代码段的0x33f84000的位置,以实现环境变量区嵌入到代码段的功能。三、测试原理(参考attribute 用法 section 部分) gcc通过选项__attribute__可以改变所声明或定义的函数、数据的特性。它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn...
阅读全文
posted @ 2014-01-14 10:49
amanlikethis
阅读(9950)
推荐(1)
摘要:
一、概述 1、NandFlash NAND结构能提供极高的单元密度,可以达到高存储密度,比如能达到256M,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理需要特殊的系统接口。 2、NandFlash和NorFlash对比 Nor/Nand Flash 的差别 Nor Nand 容
阅读全文
posted @ 2014-01-10 20:07
amanlikethis
阅读(877)
推荐(0)
摘要:
一、测试准备及原理测试代码:static void wait(volatile unsigned long dly){ for(; dly > 0; dly--);}int main(void){ unsigned long i = 0; // LED1,LED2,LED3,LED4对应的4根引脚设为输出 GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out; while(1){ wait(30000); GPBDAT = (~(i<<5)); // 根据i的值,点...
阅读全文
posted @ 2014-01-10 20:04
amanlikethis
阅读(587)
推荐(0)
摘要:
一个规则的构成目标:依赖1,依赖2······ 命令例子:objs := init.o nand.o head.o main.onand.bin : $(objs) arm-linux-ld -Tnand.lds -o nand_elf $^ arm-linux-objcopy -O binary -S nand_elf $@ arm-linux-objdump -D -m arm nand_elf > nand.dis %.o:%.c arm-linux-gcc -Wall -c -O2 -o $@ $ nand.dis其中:
阅读全文
posted @ 2014-01-10 19:55
amanlikethis
阅读(517)
推荐(0)
摘要:
u-boot功能强大,适用于多种操作系统,多种处理器架构。 在阅读它的源码时,可以看到cpu目录有各种处理器,而board目录有各种开发板。但是,对于一个特定的实验平台,例如TQ2440开发板,它用到的只是cpu、board等目录中的一个或者部分文件和文件夹。 不同的处理器,它们的架构不一样,所以编
阅读全文
posted @ 2014-01-10 19:27
amanlikethis
阅读(415)
推荐(0)
摘要:
函数指针变量有时非常好用,下边说一下它的用法。下边就说说它的用法。1、声明与定义 “static void (*nand_reset_addr)(void);” nand_reset_addr是变量名,static是变量的类型,这个函数指针变量指向一个无返回值和入口参数的函数。“unsigned char (*read_data)(void);”定义的函数指针变量指向一个“unsigned char 函数名(void)”类型的函数。2、赋值 “nand_reset_addr= s3c2410_nand_reset;”函数指针变量的赋值与其他类型指针变量赋值类似,也是让...
阅读全文
posted @ 2014-01-10 19:24
amanlikethis
阅读(330)
推荐(0)
摘要:
一、程序编译过程 程序编译的时候,要分四个阶段 :1、预处理阶段,完成宏定义和include文件展开等工作;2、根据编译参数进行不同程度的优化,编译成汇编代码;3、用汇编器把汇编代码进一步生成目标代码;4、用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件;二、gcc/g++的编译过程1.预处理,不生成文件 [预处理器cpp] 2.将预处理后的文件转换成汇编语言,生成.s的文件 [编译器egcs] 3.由汇编变为目标代码(机器代码)生成.o的文件 [汇编器as] 4.连接目标代码,生成可执行程序 [链接器ld] 三、gcc常用编译选项-E只运行C预编译器cpp,不生成文件..
阅读全文
posted @ 2014-01-10 19:19
amanlikethis
阅读(646)
推荐(0)