08 2012 档案
摘要:时钟初始化是个比较烦锁的过程,流程比较长,其中涉及到大量的端口操作,要理解的基础知识也较多。本文先分析一下时钟初始化的原理,后续再说明如何编程实现该过程。1. What & Why 很多设备都要求输入一定频率的时钟才可以工作,比较明显的例子是CPU。当然除了CPU外还有其他的设备,可以说时钟是这些设备的心脏,没有时钟它们是不会工作的(切断或降低时钟能达到降频减耗的目的)。在开发板刚启动时,时钟处于一个很低的频率,要我们做一些初始化的工作才能把频率提上去,为设备提供所需的工作时钟频率。这就是为什么要进行时钟初始化。2. Princeple 时钟初始化涉及到很多电子电路的知识,本人并非该科
阅读全文
摘要:1. What & Why WatchDog (看门狗) 本质上是一个定时计数器,当该计数器递减到0时会产生一个通知(中断或复位),主要用于解决嵌入式系统意外跑飞等运行不正常的问题。开发板一般在默认的情况下都会开启WatchDog, 这样当计数器递减到0时系统就会复位。因为出现异常的可能性几乎可以忽略,所以bootloader在开始执行时就会关掉开门狗。所以,对WatchDog的最经典操作就是:关闭。2. Principle (1) WatchDog只使用PCLK时钟 (Tiny6410在没有初始化时钟时,整个开发板由一个12MHz的外部晶振提供频率,PCLK工作频率也是12MHz);
阅读全文
摘要:要研究裸机程序的编写,必须要有一个“全裸”的环境。友善提供的superboot可以提供执行用户自定义程序的能力,但其实这样运行的程序环境还是依赖于superboot的, 那些内存初始化、时钟初始化,串口初始化等工作都已经由superboot做了。tiny6410支持nandflash和sd卡启动两种模式,nandflash的烧写还是依赖superboot,所以比较简便的方法是通过sd卡启动,superboot本身也是通过sd卡启动的。 从网上搜了一下这方面的资料,主要参考文章来来去去就几篇, 三星的S3C6410_Internal_Rom_Booting.pdf是一份比较有用的资料,...
阅读全文

浙公网安备 33010602011771号