新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 将CompactECC移植到爱特梅尔新型SAM3S控制器

将CompactECC移植到爱特梅尔新型SAM3S控制器

—— Porting CompactECC to Atmel’s New SAM3S Controller
作者:爱特梅尔公司时间:2011-02-18来源:电子产品世界收藏

  包括两个独立的PLL模块,对那些需要提供48 MHz USB时钟,却又很难从主时钟频率获得的应用程序十分有利。除了32KHz RC振荡器之外, 还提供更快的内部 RC振荡器,有4、8或12 MHz 的输出频率选项。该振荡器从一开始就激活,提供初始4 MHz主时钟频率。它的主要作用是根据系统时钟来配置快闪的等待状态。爱特梅尔已经简化了嵌入式快闪控制器接口。使用前几代产品时必须注意主时钟频率的快闪控制器,至少当应用程序在快闪存储器页面执行写操作时应该如此。而则不需要。

本文引用地址:http://www.eepw.com.cn/article/116952.htm

  有好些外设模块,包括功率管理控制器,都具有保护功能,帮助其避免对任务关键型寄存器(例如时钟频率设置)的无意写入访问。为了把新数值写入具有这种保护方式的寄存器,密钥必须与预设置一起写入。如果密钥匹配硬编码参考值,则只有新数值被接受。

  NVIC的引进也带来一个副作用,就是结合了系统外设(如PIT、RTT、WDT 和 DBGU)中断请求线的共享系统中断也变得多余了。在前几代成品中,系统中断服务程序首先必须确定负责当前中断请求的中断源。 但在SAM3S的情况下,每个系统外设都已接收到了它自己的中断向量,而相关的服务程序能够利用其内部关于中断源的知识对正确的中断提供服务。中断控制器的配置也自然相应改变。 在设置了处理器的内核异常(IRQs 0 - 15)和初始堆栈之后,外设的中断向量就被存储。 激活/禁用单个中断、定义它们的优先级、通过软件触发中断等功能,由一个统一的软件界面,即Cortex微控制器软件界面标准(CMSIS)来提供。 更甚者,中断服务程序不再需要专门的序言和结语(prologues and epilogues),因为服务程序作为普通函数被执行。中断控制器与内核的集成还具有一个优势,即不同于ARM7和ARM9器件,SAM3S没有伪中断。当中断线激活时间很长,足以触发一个中断时,就有可能发生伪中断。但若激活时间过短,在中断来源被确定之前中断就消失了,中断控制器就无法为内核提供正确的中断向量。

  周期性间隔定时器(PIT)也不再存在,因为Cortex-M3将自己的SysTick定时器嵌入在了内核中。 只要PIT原来是通过其相关ISR用于增量计数器的,移植到SAM3S就十分容易:完全能够把ISR分配给适当的中断向量,确保选择正确的时钟源,并选择所期望的重载值。 这将适用于99%的应用。

  关于PIO控制器,需要进一步的修改,因为封装引脚多路复用现在支持4个而不是2个可发送到每个引脚的外设信号。 另外,每个引脚可作为带可编程极性的边沿敏感或电平敏感中断源。

  调试单元(DBGU)也消失了。这个外设整合了几个功能:一个用于消息跟踪的串行端口;一个芯片ID寄存器,用于通过软件或JTAG识别确切的控制器特性;一个连接ARM7TDMI调试数据通道,并访问爱特梅尔的快闪编程解决方案的接口。这些功能现在都由一个自包含CHIPID模块和一个UART提供。

  在做了所有这些修改之后,用于SAM3S的样本应用程序就算最终完成。


上一页 1 2 下一页

关键词: Atmel CompactECC SAM3S

评论


相关推荐

技术专区

关闭