新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 將CompactECC移植到愛特梅爾新型SAM3S控制器

將CompactECC移植到愛特梅爾新型SAM3S控制器

—— Porting CompactECC to Atmel’s New SAM3S Controller
作者:愛特梅爾公司 時間:2011-02-18 來源:電子產(chǎn)品世界 收藏

  包括兩個獨立的PLL模塊,對那些需要提供48 MHz USB時鐘,卻又很難從主時鐘頻率獲得的應用程序十分有利。除了32KHz RC振蕩器之外, 還提供更快的內(nèi)部 RC振蕩器,有4、8或12 MHz 的輸出頻率選項。該振蕩器從一開始就激活,提供初始4 MHz主時鐘頻率。它的主要作用是根據(jù)系統(tǒng)時鐘來配置快閃的等待狀態(tài)。愛特梅爾已經(jīng)簡化了嵌入式快閃控制器接口。使用前幾代產(chǎn)品時必須注意主時鐘頻率的快閃控制器,至少當應用程序在快閃存儲器頁面執(zhí)行寫操作時應該如此。而則不需要。

本文引用地址:http://2s4d.com/article/116952.htm

  有好些外設模塊,包括功率管理控制器,都具有保護功能,幫助其避免對任務關鍵型寄存器(例如時鐘頻率設置)的無意寫入訪問。為了把新數(shù)值寫入具有這種保護方式的寄存器,密鑰必須與預設置一起寫入。如果密鑰匹配硬編碼參考值,則只有新數(shù)值被接受。

  NVIC的引進也帶來一個副作用,就是結(jié)合了系統(tǒng)外設(如PIT、RTT、WDT 和 DBGU)中斷請求線的共享系統(tǒng)中斷也變得多余了。在前幾代成品中,系統(tǒng)中斷服務程序首先必須確定負責當前中斷請求的中斷源。 但在SAM3S的情況下,每個系統(tǒng)外設都已接收到了它自己的中斷向量,而相關的服務程序能夠利用其內(nèi)部關于中斷源的知識對正確的中斷提供服務。中斷控制器的配置也自然相應改變。 在設置了處理器的內(nèi)核異常(IRQs 0 - 15)和初始堆棧之后,外設的中斷向量就被存儲。 激活/禁用單個中斷、定義它們的優(yōu)先級、通過軟件觸發(fā)中斷等功能,由一個統(tǒng)一的軟件界面,即Cortex微控制器軟件界面標準(CMSIS)來提供。 更甚者,中斷服務程序不再需要專門的序言和結(jié)語(prologues and epilogues),因為服務程序作為普通函數(shù)被執(zhí)行。中斷控制器與內(nèi)核的集成還具有一個優(yōu)勢,即不同于ARM7和ARM9器件,SAM3S沒有偽中斷。當中斷線激活時間很長,足以觸發(fā)一個中斷時,就有可能發(fā)生偽中斷。但若激活時間過短,在中斷來源被確定之前中斷就消失了,中斷控制器就無法為內(nèi)核提供正確的中斷向量。

  周期性間隔定時器(PIT)也不再存在,因為Cortex-M3將自己的SysTick定時器嵌入在了內(nèi)核中。 只要PIT原來是通過其相關ISR用于增量計數(shù)器的,移植到SAM3S就十分容易:完全能夠把ISR分配給適當?shù)闹袛嘞蛄?,確保選擇正確的時鐘源,并選擇所期望的重載值。 這將適用于99%的應用。

  關于PIO控制器,需要進一步的修改,因為封裝引腳多路復用現(xiàn)在支持4個而不是2個可發(fā)送到每個引腳的外設信號。 另外,每個引腳可作為帶可編程極性的邊沿敏感或電平敏感中斷源。

  調(diào)試單元(DBGU)也消失了。這個外設整合了幾個功能:一個用于消息跟蹤的串行端口;一個芯片ID寄存器,用于通過軟件或JTAG識別確切的控制器特性;一個連接ARM7TDMI調(diào)試數(shù)據(jù)通道,并訪問愛特梅爾的快閃編程解決方案的接口。這些功能現(xiàn)在都由一個自包含CHIPID模塊和一個UART提供。

  在做了所有這些修改之后,用于SAM3S的樣本應用程序就算最終完成。


上一頁 1 2 下一頁

關鍵詞: Atmel CompactECC SAM3S

評論


相關推薦

技術(shù)專區(qū)

關閉