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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

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

Сообщение BCluster »

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

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

Сообщение ELcat »

Neonix А почему int? Можна long, мне 32 бит нужно? Кварц ведь на 18 с гаком МГц вот там и цикл на 9 миллионов "пустых" операций чтоб на полсекунды зажечь/погасить.
Последний раз редактировалось ELcat Вт ноя 02, 2010 22:35:50, всего редактировалось 1 раз.
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

скажите, а Си, он и в африке си?? т.е.

вот это например, и на авр, и на арме одинаково будет работать

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

while(1)
{
PORTA.0=1;
delay_ms(500);
PORTA.0=0;
delay_ms(500);
}
KIT
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

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

Сообщение neonix »

ELcat писал(а):Neonix А почему int? Можна long, мне 32 бит нужно? Кварц ведь на 18 с гаком МГц вот там и цикл на 9 миллионов "пустых" операций чтоб на полсекунды зажечь/погасить.

int в ARM имеет размер 32 бита :)
O-LED
delay_ms(); - это расширение языка в стандартном компиляторе такого нет.
Если нужно сделать большие временные задержки то используй этот код

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

void _delay_ms( unsigned int  time )
{
    volatile    unsigned int  waiting_time,i,j ;
    for(waiting_time = 0; waiting_time < time; waiting_time++)
    {


        for(i = 0; i < 3000; i++) //3000 для тактовой 48 Мгц
            j*=i;
    }

}
Последний раз редактировалось neonix Вт ноя 02, 2010 22:58:03, всего редактировалось 1 раз.
Where technology meets enjoyment.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

O-LED Специально для лентяев высшей гильдии (не обижаться, кот - животное ленивое от природы), как собственно и я. Си, он и в Африке Си, но вот нету такой Африки, в которой CV AVR был бы Си! Если решил завести знакомство с АРМ, забудь про визард, обращения к битам порта, как в асме, "удобненькие" библиотечки типа <delay.h> и прочие "мелкие удобности" CV. И вообще атмеловский АРМ полностью переворачивает (выворачивает) представление о микроконтроллерах. Мявтор сиих девицев в обильных количествах курил соцветия элитных сортов марихуа валерианы. На одну факинговую ножку порта В/В приходится около 36 битов разного рода регистров управления. Это тебе не АВР с тремя регистрами на порт :cry:
Последний раз редактировалось ELcat Вт ноя 02, 2010 23:02:10, всего редактировалось 1 раз.
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

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

Сообщение neonix »

ELcat Так, а на кой фиг Вам сдались те 36 регистров, советую не отходить от стандарта и юзать готовые библиотеки иначе пол жизни на изучение уйдет. Вот у меня включение порта происходит примерно так:

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

    AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA) ; //Включаем тактировние
    AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, AT91C_PIO_PA1) ;                //Конфигурируем порт на выход
    AT91F_PIO_SetOutput( AT91C_BASE_PIOA, AT91C_PIO_PA1);                 //Включаем вывод
    AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, AT91C_PIO_PA1);              //Выключаем вывод
Where technology meets enjoyment.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

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

Сообщение Пухич »

Друзья мои, пожалуй срач вокруг Сталкера и конденсаторов стоит прекратить. Это я вам говорю как человек с зеленой надписью. Женя извинился, думаю этого достаточно. Категоричность мы ему простим на первый раз.

stas00n писал(а):Ну для STM32 самому паять отладку - это онанизм. STM32-Discovery стоит порядка 400р. Грех не купить.


Вот вы знаете, я тоже глядел в их сторону, но за такую цену их в Москве просто нет. По крайней мере эта ссылка меня удивила до глубины души, даже подозреваю, что там какое-то вранье. Мне даже аналогичный NXP-шный кит за 750 рублей достать не удалось, только вдвое дороже. Проще уж от стартеркита что-то купить. Хотя можно будет завтра им звякнуть.... Вдруг правда? :o

В принципе я уже STM32F103ZET6 за 340 рублей купил по случаю в Терре. Был там по делам, а желанных LPC2478 не было в наличии. Кто там был, в курсе - идти к ним от Павелецкого смерть как долго. Ну и я решил, что куплю уж STM32, а второй раз не пойду. Теперь вот надо его приводить в чувство. Взял платку-переходник с QFP на дырдочки. Дело за малым - начать. Пока дошел до того, что таки выбил себе место под паяльник, а то на новом месте жительства даже паять негде было.

neonix писал(а):Сделай так
Скорее всего оптимизатор выкидывает пустой цикл, заставь его не трогать твою переменную :)


Ага. Давеча была статья в каком-то журнале, где отсутствие volatile назвали одной из главных бед столетия в одном ряду с stack overflow и прочими ужасами.
Знание - сила!
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

Пухич, мы ни на кого зла не держим, чувствуется, что просто у человека не тот день, ну с кем не бывает. Рекомендую глянуть LPC1768, филипковский кортекс, 64к/512к/100МГц/юсб хост/эзернет, цена ок. 91 наших тугриков, т.е. около 12 зелени.

neonix Сиюинформацию считаю бесценной, именно это и есть "соль" сей темы, всё остальное - вода. Только почему сразу не намекнул?

Понятно одно - 690 страничный мануал тов. Редькина подлежит тщательнейшему и основательнейшему вкуриванию. Как хорошо, что у меня он есть в бумаге.

Кстати, для "задних рядов", а что значит зелёная надпись?
Последний раз редактировалось ELcat Вт ноя 02, 2010 23:18:48, всего редактировалось 1 раз.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

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

Сообщение Пухич »

ELcat писал(а):Пухич, мы ни на кого зла не держим, чувствуется, что просто у человека не тот день, ну с кем не бывает. Рекомендую глянуть LPC1768, филипковский кортекс, 64к/512к/100МГц/юсб хост/эзернет, цена ок. 91 наших тугриков, т.е. около 12 зелени.


Да глядел я его. Меня кагбе интересовала внешняя шина. И отдельный контроллер SD/MMC (а там если что даже SPI всего один). И все это за ту же цену есть в STM32. Ну и еще там есть бескопромиссная аналоговая периферия.

Кстати, для "задних рядов", а что значит зелёная надпись?


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

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

Сообщение ELcat »

У СТМа 100МГц камушки не водятся. Зато конечно дешевле филипсовских. Мне лично STM32F105 серия понравилась. А вообще по быстродействию из "паябельных" контроллеров наверное ARM920T лидируют с их частотами в 180-200МГц?
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

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

Сообщение neonix »

Из паябельных ARM9 с высокой производительностью всего пару камней FreeScale iMX233 (450 Мгц) и Nuvoton NUC950. Но там 100% нужна ось, а это еще дополнительный гемор. Я вот всё ищу ARM7 или CortexM3 с внешней SDRAM, ибо хочеться по настоящему больших объёмов памяти :)
ELcat Не намекнул сразу по одной простой причине, я сам не понял что Вы хотите :)))
Where technology meets enjoyment.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

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

Сообщение Пухич »

ELcat писал(а):У СТМа 100МГц камушки не водятся. Зато конечно дешевле филипсовских. Мне лично STM32F105 серия понравилась. А вообще по быстродействию из "паябельных" контроллеров наверное ARM920T лидируют с их частотами в 180-200МГц?


Мне эти 100 МГц - как зайцу стоп-сигнал. :)

Ну вообще-то тот же Атмел делает на ядре ARM926EJ-S в LQFP-208. И еще неизвестно, какое ядро быстрее - 920-е или 926-е.

neonix писал(а):Из паябельных ARM9 с высокой производительностью всего пару камней FreeScale iMX233 (450 Мгц) и Nuvoton NUC950. Но там 100% нужна ось, а это еще дополнительный гемор. Я вот всё ищу ARM7 или CortexM3 с внешней SDRAM, ибо хочеться по настоящему больших объёмов памяти :)
ELcat Не намекнул сразу по одной простой причине, я сам не понял что Вы хотите :)))


Да, конкурентов у 233-го почти и нет.

А со SDRAM у оных совсем худо - PSRAM еще у многих есть, но полноценный SDRAM-контроллер с развитыми настройками скорее редкость. Где-то на электрониксе был проект SDRAM-контроллера на ПЛИСине как раз под какой-то ARM7TDMI
Знание - сила!
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

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

Сообщение neonix »

А со SDRAM у оных совсем худо - PSRAM еще у многих есть, но полноценный SDRAM-контроллер с развитыми настройками скорее редкость.

Вот это и раздражает :( у атмела есть такой чип, да ток его хрен купишь щас атмел этот. А у новых на Cortex M3 такая роскошь как SDRAM контроллер есть только у LPC1800, но они дюже новые да и не люблю я NXP... Уже всерьез для сложных проектов подумываю о ADI BlackFin, там хоть SDRAM с NAND есть. Да и DSP фишки лишними не будут. Всё в нем хорошо кроме цены...
Where technology meets enjoyment.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

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

Сообщение Пухич »

Уже всерьез для сложных проектов подумываю о ADI BlackFin


Уж слишком они круты. :)
Знание - сила!
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

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

Сообщение neonix »

Меня их крутость и останавливает от освоения, к ним нету никаких готовых библиотек да и мне мощности не надо такой. Мне нужны большие объёмы памяти :)
Where technology meets enjoyment.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

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

Сообщение BCluster »

быстрой памяти, неоникс, быстрой :) с другой проблем нет (:
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

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

Сообщение Пухич »

neonix писал(а):Меня их крутость и останавливает от освоения, к ним нету никаких готовых библиотек да и мне мощности не надо такой. Мне нужны большие объёмы памяти :)


Полагаю, что для клиентов-то они все дадут. :)
У нас работал человек (как раз перепрограммировал для нас какие-то ADSP, но не Блэкфины, стоявшие в модулях Л-Карда), имевший с ними по бывшей работе личные контакты. И было у него все. Разумеется оно не имело уже лицензии, но сам факт - было все, чего нельзя найти в инете. К сожалению они и не сильно делился.....

Кстати, кто-нить в курсе - что там с Cortex-R4? Кроме TMS570 кто-то что-то делает?
Знание - сила!
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

Свершилось! Замигало! Выкладываю как есть (бывалым не ржать!):

#include <board.h>
#include <pio/pio.h>
#include <pio/pio_it.h>
#if defined(AT91C_BASE_PITC)
#include <pit/pit.h>
#endif
//#include <irq/irq.h>
//#include <tc/tc.h>
#include <utility/led.h>
#include <utility/trace.h>
#include <stdio.h>
#if defined(cortexm3)
#include <systick/systick.h>
#endif


volatile unsigned int iii=0;

main()
{

*AT91C_PIOA_PER = 0xFFFFFFFF;
*AT91C_PIOA_PDR = 0x00000000;

*AT91C_PIOA_OER = 0xFFFFFFFF;
*AT91C_PIOA_ODR = 0x00000000;

*AT91C_PIOA_IFER = 0x00000000;
*AT91C_PIOA_IFDR = 0xFFFFFFFF;

*AT91C_PIOA_SODR = 0x00000000;
*AT91C_PIOA_CODR = 0xFFFFFFFF;

*AT91C_PIOA_IER = 0x00000000;
*AT91C_PIOA_IDR = 0xFFFFFFFF;

*AT91C_PIOA_MDER = 0x00000000;
*AT91C_PIOA_MDDR = 0xFFFFFFFF;

*AT91C_PIOA_PPUDR = 0xFFFFFFFF;
*AT91C_PIOA_PPUER = 0x00000000;


*AT91C_PIOA_ASR = 0x00000000;
*AT91C_PIOA_BSR = 0xFFFFFFFF;

*AT91C_PIOA_OWER = 0xFFFFFFFF;
*AT91C_PIOA_OWDR = 0xFFFFFFFF;

*AT91C_PIOA_PSR = 0xFFFFFFFF;


while (1){

*AT91C_PIOA_SODR = 0xFFFFFFFF;
*AT91C_PIOA_CODR = 0x00000000;

for (iii=1000000;iii>0;--iii)
{;
}


*AT91C_PIOA_SODR = 0x00000000;
*AT91C_PIOA_CODR = 0xFFFFFFFF;
for (iii=1000000;iii>0;--iii)
{;
}
}
}
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

Понятно, что тут дофига лишнего, но пока не было времени и возможности с этим разбираться.
03112010.zip
видео работы
(193.09 КБ) 244 скачивания
Курим мануал :tea:
Аватара пользователя
Сериг
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

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

Сообщение Сериг »

ELcat писал(а):Понятно, что тут дофига лишнего, но пока не было времени и возможности с этим разбираться.
видео работы
Курим мануал :tea:

не чего не видно!
Закрыто

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