摘要: MAIN函数一样是被人调用,也一样需要返回。我们通常在启动代码中完成这一工作,而启动代码一般出于效率高的目的都以汇编语言编写。 在main函数之前,需要写启动文件,完成的功能包括:(1)设置栈;(2)设置main的返回地址;(3)调用main;(4)返回到指定地址后,清理工作。 所谓设置栈,就是将栈指针指向某块内存;如果内存是SRAM,则不需要初始化即能使用,如果不是片内SRAM,而是SDRAM,则在此之前还需要初始化SDRAM。同时,在此,不仅仅需要初始化SDRAM,还有其它相关硬件初始化。具体包括:关看门狗;初始化时钟;初始化SDRAM。这些都是在关硬件初始化。 而一开始所说的设... 阅读全文
posted @ 2013-10-28 21:53 dudu1990 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 目前已经很多ARM9的处理器都至少支持nand flash启动 和nor flash启动。那此两种启动方式到底有什么区别呢?下面以S3C2440为例说明。NandFlash 与 NorFlash 区别如下表所示NORNADN容量1~32MB16~512MBXIP(芯片内执行)YesNo性能擦除非常慢,写慢,但是读非常快擦除、写、读都较快可靠性高,位反转比例小于nandflash的10%比较低,位反转比较常见接口与RAM一样I/O接口访问方法随机访问顺序访问主要用途保存代码和关键数据用于保存数据价格高低文件系统支持Jffs2Yaffs记住最重要一点,NOR Flash的接口与RAM一样,所以可以 阅读全文
posted @ 2013-10-28 21:46 dudu1990 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 三极管的上拉电阻与下拉电阻1上拉电阻如图所示 NPN 三极管当输入为0时,三极管截止,输出为1;当输入为1时,三极管导通,输出为0;假设不存在此上拉电阻的情况,即断开(如下图所示)。此时,如果输入为0,那么三极管截止,输出未知;如果输入为1,那么三极管也不一定导通,因为三极管要求每一端都有一个电压范围。2 下拉电阻如图所示PNP三极管当输入为0时,三极管导通,输出为1;当输入为1时,三极管截止,输出为0;同样,也可以分析得到,如果没有下拉电阻,输出都是不稳定的。注意,以上输入,输出是相对于三极管而言,而不是MCU。MCU内部集成的上拉/下拉电阻当开关断开时,MCU的输入处于逻辑1状态;当开关闭 阅读全文
posted @ 2013-10-28 21:19 dudu1990 阅读(3446) 评论(0) 推荐(0) 编辑