AT91SAM7 старт с коленки

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
romazan
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение romazan »

Да розабрался, проверял не тот влаг, поэтому и глюки были. Флаг ENDRX и ENDTX
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: AT91SAM7 старт с коленки

Сообщение SII »

Кстати, насчёт SPI на Атмеловских АРМах. Почитайте Еррату -- там довольно много ошибок, в том числе весьма неприятных. Возможно, проблемы возникают именно из-за этого.
inkHunter
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 21, 2010 20:44:27
Откуда: Ростов
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение inkHunter »

Как запустить RTT без прерывания ?

делаю типа так но ниче (

int main (void)
{
AT91PS_PMC pPMC = AT91C_BASE_PMC;
pPMC->PMC_PCER =(1<<AT91C_ID_SYS);
*AT91C_RTTC_RTMR = 0x00008000 | AT91C_RTTC_RTTRST;
while (1)
{}
}

смотрю в дебаге на RTT_VR а он все время 0x00000000 ((((
Аватара пользователя
romazan
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение romazan »

DEBUGер не все показывает в нормальном устройстве работать будет
inkHunter
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 21, 2010 20:44:27
Откуда: Ростов
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение inkHunter »

romazan писал(а):DEBUGер не все показывает в нормальном устройстве работать будет

спасиб все работает
inkHunter
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 21, 2010 20:44:27
Откуда: Ростов
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение inkHunter »

зацикливается функия main в keil (((


int main (void)
{
*AT91C_PMC_PCER=(1 << AT91C_ID_PIOA)|(1 << AT91C_ID_US0)|(1 << AT91C_ID_US1)|(1<<AT91C_ID_SYS);

printf ("%i\n\r",i);
i++;
if (i==10)
{i=0;}
return 0;

}

смотрю и на дебаге и в терминале

а получаеться типа так :


int main (void)
{
*AT91C_PMC_PCER=(1 << AT91C_ID_PIOA)|(1 << AT91C_ID_US0)|(1 << AT91C_ID_US1)|(1<<AT91C_ID_SYS);
while (1)
{

printf ("%i\n\r",i);
i++;
if (i==10)
{i=0;}
}
return 0;

}

с мейна не выходет ((( ???
Аватара пользователя
romazan
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение romazan »

А он с мейна и не выйдет :)) Заново программа начнёт работу. Процессор работает все время и не может ничего не делать
inkHunter
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 21, 2010 20:44:27
Откуда: Ростов
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение inkHunter »

Кто работал с USB CDC AT91SAM7 ?
Передать получаеться а вот прийнять нет ((((
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: AT91SAM7 старт с коленки

Сообщение SII »

Поспрашивайте на http://electronix.ru/forum, там намного больше народу, работающего с АРМами...
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: AT91SAM7 старт с коленки

Сообщение Satyr »

Ухх.. все SAM7 осваиваете ?
Есть вещи посвежее, поприятнее, поинтереснее. а то и дешевле.
inkHunter
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 21, 2010 20:44:27
Откуда: Ростов
Контактная информация:

Re: AT91SAM7 старт с коленки

Сообщение inkHunter »

Satyr писал(а):Ухх.. все SAM7 осваиваете ?
Есть вещи посвежее, поприятнее, поинтереснее. а то и дешевле.

угу, это типа STM32 ?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: AT91SAM7 старт с коленки

Сообщение Satyr »

Victor Gordienko писал(а):
Satyr писал(а):Ухх.. все SAM7 осваиваете ?
Есть вещи посвежее, поприятнее, поинтереснее. а то и дешевле.

угу, это типа STM32 ?

Да, типа STM32Fxxx и LPC1xxxx.
Порой еще LM3Sxxxx интересны -))
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: AT91SAM7 старт с коленки

Сообщение SII »

Однако, если в будущем интерес представляют Cortex-A, то лучше изучать SAM7, ведь все перечисленные относятся к Cortex-M и не имеют родной системы команд АРМ вообще, а заодно кардинально отличаются системной архитектурой (режимы процессора, обработка прерываний и т.п.).
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: AT91SAM7 старт с коленки

Сообщение Arlleex »

SII - Доброго времени. Хотелось бы узнать, где вы эту ерату нашли, насчет атмеловских ARM-ов.
У меня щас какой-то баг - SPI вообще не работает - даже не инициализируется, поэтому решил узнать.
Заранее спасибо!

Код: Выделить всё

#include "AT91SAM7X256.h"
#include <usart/usart.h>
#include <spi/spi.h>
#include <sd/sd.h>
//******************************************************************************************************
// Начало программы
int main(void) {
   unsigned short response;
   int a;
//******************************************************************************************************
// Конфигурирование синхронизации МК
volatile AT91PS_CKGR pCKGR = AT91C_BASE_CKGR;
volatile AT91PS_PMC pPMC = AT91C_BASE_PMC;
pCKGR->CKGR_MOR = 0x00000701; // Включение основного генератора
while((pPMC->PMC_SR & (0x1<<0))==0); // Ожидание установки бита MOSCS
pCKGR->CKGR_PLLR = 0x00013F02;
while((pPMC->PMC_SR & (0x1<<2))==0);
pPMC->PMC_MCKR = 0x00000003; // Выбор источника синхронизации и установка предделителя
while((pPMC->PMC_SR & (0x1<<3))==0); // Ожидание установки бита MCKRDY
//******************************************************************************************************
// Разрешение синхронизации периферийных устройств

//******************************************************************************************************
// Конфигурирование PIO
volatile AT91PS_PIO pPIO = AT91C_BASE_PIOA;
pPIO->PIO_PPUDR = (1<<0) | (1<<1) | (1<<13) | (1<<16) | (1<<17) | (1<<18) | (1<<4); // Сброс pull-up резисторов
pPIO->PIO_PDR = (1<<0) | (1<<1) | (1<<13) | (1<<16) | (1<<17) | (1<<18); // Отключение линий PIOA
pPIO->PIO_ASR = (1<<0) | (1<<1) | (1<<13) | (1<<16) | (1<<17) | (1<<18); // Переферийная функция A
pPIO->PIO_PER = (1<<4);
pPIO->PIO_OER = (1<<4);
//******************************************************************************************************
pPMC->PMC_PCER = 0x54; // Разрешение синхронизации PIOA, USART0, SPI0
// Конфигурирование периферийных устройств
// USART0
AT91S_USART *usart = AT91C_BASE_US0; // USART0
USART_Configure(usart, USART_MODE_ASYNCHRONOUS, 38400, 18432000); // Конфигурирование USART0
USART_SetTransmitterEnabled(usart, 1); // Включение передатчика USART0
// SPI0
AT91S_SPI *spi = AT91C_BASE_SPI0; // SPI0
SPI_ConfigureNPCS(spi, 2, 0x00FF2F0A); // Настройка SPI
SPI_Configure(spi, 0x00010011); // Конфигурирование SPI0

//******************************************************************************************************

SPI_Enable(spi); // Включение SPI

//************************************Выдача команды CMD0***********************************************
SPI_Write(spi, 0x40); // Запись первого байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

SPI_Write(spi, 0x00); // Запись второго байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

SPI_Write(spi, 0x00); // Запись третьего байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

SPI_Write(spi, 0x00); // Запись четвертого байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

SPI_Write(spi, 0x00); // Запись пятого байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

SPI_Write(spi, 0x95); // Запись шестого(последнего) байта команды CMD0
response=SPI_Read(spi); // В ответе 0xFF

while(response==255)
{
   SPI_Write(spi, 0xFF); // Сдвиг "1" на линию данных
   response=SPI_Read(spi); // Чтение данных
}
SPI_Disable(spi); // Отключение SPI
if (response==0x00)
{
   while(1)
   {
   pPIO->PIO_SODR = (1<<4);
   for(a=0; a<8000000; ++a)
   {
      ;
   }
   pPIO->PIO_CODR = (1<<4);
   for(a=0; a<8000000; ++a)
      {
         ;
      }
   }
}
else if (response==0x01)
{
   pPIO->PIO_SODR = (1<<4);
}
else
{
   pPIO->PIO_CODR = (1<<4);
}
//******************************************************************************************************
while(1); // циклимся
}

Собственно ткнул осциллографом по ножкам микроконтроллера (MOSI, MISO, SPCK and NPCS1 (у меня)) - нифига - везде молчание...
Не умеешь - не берись, но не взявшись не научишься...
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: AT91SAM7 старт с коленки

Сообщение SII »

АТМЕЛ помещает Ерраты в конце даташитов на свои МК. У других производителей Еррата -- отдельный документ.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: AT91SAM7 старт с коленки

Сообщение ELcat »

Вопрос ко всем: какие камушки на ядре Cortex M3 вы уважаете больше всего Atmel, STM, NXP, Freescale и почему? Какие проще в освоении и работе? Количество примеров? Характеристики и периферийные "навороты"?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: AT91SAM7 старт с коленки

Сообщение Satyr »

ELcat писал(а):Вопрос ко всем: какие камушки на ядре Cortex M3 вы уважаете больше всего Atmel, STM, NXP, Freescale и почему? Какие проще в освоении и работе? Количество примеров? Характеристики и периферийные "навороты"?

Забудь про атмел.
Именно STM, NXP, Freescale и есть самые интересные.
У кого что интересней, зависит от применения.

Самые дешевые с USB - NXP. У них же самые навороченные по переферии.
У ST очень привлекательное все и чуть чуть подешевле, но некоторых вариантов как у NXP прост нет.
У фрискейла уже поставляются и готовятся к поставки сверхвыгодные чтуки на M4.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: AT91SAM7 старт с коленки

Сообщение Satyr »

Документации, примеров достаточно на всё.
Аватара пользователя
Reloader
Мучитель микросхем
Сообщения: 451
Зарегистрирован: Сб фев 26, 2011 14:38:42
Откуда: Новочеркасск

Re: AT91SAM7 старт с коленки

Сообщение Reloader »

Уважаемые Коты, не ругайтесь шибко, если не в тему, но!
Сам мощными контроллерами пока не занимался, но попалась мне на глаза сия весч :
http://starterkit.ru/html/index.php?name=shop&op=view&id=53
покорило - LINUX на борту. полноценный, блин...
Поймите правильно - не лучше ли будет начать отталкиваться от такой платы?
Судя по всему мощностей там достаточно, все, что нужно - на борту....
Выпрямите спину и уберите левую руку от лица.
Мой Youtube канал
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: AT91SAM7 старт с коленки

Сообщение Satyr »

Мм... начать отталкиваться в каком направлении ?
И зачем такой промежуточный вариант, почему не NanoITX на атоме ? -))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»