реклама на сайте
подробности

 
 
> At91sam7s256 и чайник, помогите разобраться
D1ma
сообщение Aug 26 2009, 10:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165



Помогите чайнику.

Здравствуйте.
Помогите запустить простенькую прогу на AT91sam7s256
Делаю первые шаги с АРМом, не судите сильно.
Пишу на ИАР 5.3,есть jetlink5
Код
#include <atmel\ioat91sam7s256.h>
//инициализация основных узлов системы
void CPUinit()
  {
  //нициализация EFC (Flash-памяти)
  AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS; // 2 цикла на чтение, 3 цикла на запись
  //настройка тактовых частот
  //включение и задание времени запуска основного генератора
  AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN ));
  // ожидание стабилизации частоты основного генератора
  while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
  
  //задание  частоты PLL  96,109 МГц и такт частоты UDP 48,058 МГц
  AT91C_BASE_PMC->PMC_PLLR =    (AT91C_CKGR_MUL & (72 << 16)) |
                                (AT91C_CKGR_DIV & 14);;
  //ожидание стабилизации PLL
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCK) );
    // ожидание стабилизации задающей частоты от PLL
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  
  //задание задающей частоты и частоты процессора PLL/2=48 МГц
  //регистр PMC_MCKR не должен програмироваться одной операцией записи
  AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2;
  // ожидание стабилизации задающей частоты
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  //выбор основного источника тактового сигнала PLL
  AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;
  // ожидание стабилизации задающей частоты
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  // отключение сторожевого таймера
  AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
  
  // разрешение тактирования PIO
  AT91C_BASE_PMC->PMC_PCER|=(1 << AT91C_ID_PIOA);
  
  }
int main()
{
  CPUinit();
  AT91C_BASE_PIOA->PIO_PER=0xFFFFFFFF;
  AT91C_BASE_PIOA->PIO_OER=0xFFFFFFFF;
  AT91C_BASE_PIOA->PIO_CODR=0xFFFF0000;
  AT91C_BASE_PIOA->PIO_CODR=0x0000FFFF;
  
  return 0;
}

Проблема в том, что я не могу поставить точку останова, допустим на первой строчке.
И прога не работает, не устанавлеваются уровни на линиях выводов.
Что нетак делаю?

Сообщение отредактировал D1ma - Aug 26 2009, 10:44
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01429 секунд с 7
ELECTRONIX ©2004-2016