AT91SAM7 старт с коленки
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: AT91SAM7 старт с коленки
Да может и оптимизировать вполне ) Неоникс правду говорит )
А у меня после того как я прошил проц один раз перестал инициализироваться дисплей (он пришел с демо-программой и все работало). Заливаю назад демо прогу и нихрена... Что с ним могло стрястись. Дернул вендора на всякий случай, мож дисплей накрылся
А у меня после того как я прошил проц один раз перестал инициализироваться дисплей (он пришел с демо-программой и все работало). Заливаю назад демо прогу и нихрена... Что с ним могло стрястись. Дернул вендора на всякий случай, мож дисплей накрылся
Re: AT91SAM7 старт с коленки
Neonix А почему int? Можна long, мне 32 бит нужно? Кварц ведь на 18 с гаком МГц вот там и цикл на 9 миллионов "пустых" операций чтоб на полсекунды зажечь/погасить.
Последний раз редактировалось ELcat Вт ноя 02, 2010 22:35:50, всего редактировалось 1 раз.
Re: AT91SAM7 старт с коленки
скажите, а Си, он и в африке си?? т.е.
вот это например, и на авр, и на арме одинаково будет работать
вот это например, и на авр, и на арме одинаково будет работать
Код: Выделить всё
while(1)
{
PORTA.0=1;
delay_ms(500);
PORTA.0=0;
delay_ms(500);
}KIT
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: AT91SAM7 старт с коленки
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.
Re: AT91SAM7 старт с коленки
O-LED Специально для лентяев высшей гильдии (не обижаться, кот - животное ленивое от природы), как собственно и я. Си, он и в Африке Си, но вот нету такой Африки, в которой CV AVR был бы Си! Если решил завести знакомство с АРМ, забудь про визард, обращения к битам порта, как в асме, "удобненькие" библиотечки типа <delay.h> и прочие "мелкие удобности" CV. И вообще атмеловский АРМ полностью переворачивает (выворачивает) представление о микроконтроллерах. Мявтор сиих девицев в обильных количествах курил соцветия элитных сортов марихуа валерианы. На одну факинговую ножку порта В/В приходится около 36 битов разного рода регистров управления. Это тебе не АВР с тремя регистрами на порт 
Последний раз редактировалось ELcat Вт ноя 02, 2010 23:02:10, всего редактировалось 1 раз.
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: AT91SAM7 старт с коленки
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 старт с коленки
Друзья мои, пожалуй срач вокруг Сталкера и конденсаторов стоит прекратить. Это я вам говорю как человек с зеленой надписью. Женя извинился, думаю этого достаточно. Категоричность мы ему простим на первый раз.
Вот вы знаете, я тоже глядел в их сторону, но за такую цену их в Москве просто нет. По крайней мере эта ссылка меня удивила до глубины души, даже подозреваю, что там какое-то вранье. Мне даже аналогичный NXP-шный кит за 750 рублей достать не удалось, только вдвое дороже. Проще уж от стартеркита что-то купить. Хотя можно будет завтра им звякнуть.... Вдруг правда?
В принципе я уже STM32F103ZET6 за 340 рублей купил по случаю в Терре. Был там по делам, а желанных LPC2478 не было в наличии. Кто там был, в курсе - идти к ним от Павелецкого смерть как долго. Ну и я решил, что куплю уж STM32, а второй раз не пойду. Теперь вот надо его приводить в чувство. Взял платку-переходник с QFP на дырдочки. Дело за малым - начать. Пока дошел до того, что таки выбил себе место под паяльник, а то на новом месте жительства даже паять негде было.
Ага. Давеча была статья в каком-то журнале, где отсутствие volatile назвали одной из главных бед столетия в одном ряду с stack overflow и прочими ужасами.
stas00n писал(а):Ну для STM32 самому паять отладку - это онанизм. STM32-Discovery стоит порядка 400р. Грех не купить.
Вот вы знаете, я тоже глядел в их сторону, но за такую цену их в Москве просто нет. По крайней мере эта ссылка меня удивила до глубины души, даже подозреваю, что там какое-то вранье. Мне даже аналогичный NXP-шный кит за 750 рублей достать не удалось, только вдвое дороже. Проще уж от стартеркита что-то купить. Хотя можно будет завтра им звякнуть.... Вдруг правда?
В принципе я уже STM32F103ZET6 за 340 рублей купил по случаю в Терре. Был там по делам, а желанных LPC2478 не было в наличии. Кто там был, в курсе - идти к ним от Павелецкого смерть как долго. Ну и я решил, что куплю уж STM32, а второй раз не пойду. Теперь вот надо его приводить в чувство. Взял платку-переходник с QFP на дырдочки. Дело за малым - начать. Пока дошел до того, что таки выбил себе место под паяльник, а то на новом месте жительства даже паять негде было.
neonix писал(а):Сделай так
Скорее всего оптимизатор выкидывает пустой цикл, заставь его не трогать твою переменную
Ага. Давеча была статья в каком-то журнале, где отсутствие volatile назвали одной из главных бед столетия в одном ряду с stack overflow и прочими ужасами.
Знание - сила!
Re: AT91SAM7 старт с коленки
Пухич, мы ни на кого зла не держим, чувствуется, что просто у человека не тот день, ну с кем не бывает. Рекомендую глянуть LPC1768, филипковский кортекс, 64к/512к/100МГц/юсб хост/эзернет, цена ок. 91 наших тугриков, т.е. около 12 зелени.
neonix Сиюинформацию считаю бесценной, именно это и есть "соль" сей темы, всё остальное - вода. Только почему сразу не намекнул?
Понятно одно - 690 страничный мануал тов. Редькина подлежит тщательнейшему и основательнейшему вкуриванию. Как хорошо, что у меня он есть в бумаге.
Кстати, для "задних рядов", а что значит зелёная надпись?
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. Ну и еще там есть бескопромиссная аналоговая периферия.
Кстати, для "задних рядов", а что значит зелёная надпись?
Модератор.
Знание - сила!
Re: AT91SAM7 старт с коленки
У СТМа 100МГц камушки не водятся. Зато конечно дешевле филипсовских. Мне лично STM32F105 серия понравилась. А вообще по быстродействию из "паябельных" контроллеров наверное ARM920T лидируют с их частотами в 180-200МГц?
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: AT91SAM7 старт с коленки
Из паябельных ARM9 с высокой производительностью всего пару камней FreeScale iMX233 (450 Мгц) и Nuvoton NUC950. Но там 100% нужна ось, а это еще дополнительный гемор. Я вот всё ищу ARM7 или CortexM3 с внешней SDRAM, ибо хочеться по настоящему больших объёмов памяти 
ELcat Не намекнул сразу по одной простой причине, я сам не понял что Вы хотите
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 старт с коленки
А со SDRAM у оных совсем худо - PSRAM еще у многих есть, но полноценный SDRAM-контроллер с развитыми настройками скорее редкость.
Вот это и раздражает
Where technology meets enjoyment.
- Пухич
- Модератор
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Re: AT91SAM7 старт с коленки
Уже всерьез для сложных проектов подумываю о ADI BlackFin
Уж слишком они круты.
Знание - сила!
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: AT91SAM7 старт с коленки
Меня их крутость и останавливает от освоения, к ним нету никаких готовых библиотек да и мне мощности не надо такой. Мне нужны большие объёмы памяти 
Where technology meets enjoyment.
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: AT91SAM7 старт с коленки
быстрой памяти, неоникс, быстрой
с другой проблем нет (:
- Пухич
- Модератор
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Re: AT91SAM7 старт с коленки
neonix писал(а):Меня их крутость и останавливает от освоения, к ним нету никаких готовых библиотек да и мне мощности не надо такой. Мне нужны большие объёмы памяти
Полагаю, что для клиентов-то они все дадут.
У нас работал человек (как раз перепрограммировал для нас какие-то ADSP, но не Блэкфины, стоявшие в модулях Л-Карда), имевший с ними по бывшей работе личные контакты. И было у него все. Разумеется оно не имело уже лицензии, но сам факт - было все, чего нельзя найти в инете. К сожалению они и не сильно делился.....
Кстати, кто-нить в курсе - что там с Cortex-R4? Кроме TMS570 кто-то что-то делает?
Знание - сила!
Re: AT91SAM7 старт с коленки
Свершилось! Замигало! Выкладываю как есть (бывалым не ржать!):
#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)
{;
}
}
}
#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)
{;
}
}
}
Re: AT91SAM7 старт с коленки
Понятно, что тут дофига лишнего, но пока не было времени и возможности с этим разбираться. Курим мануал 

- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: AT91SAM7 старт с коленки
ELcat писал(а):Понятно, что тут дофига лишнего, но пока не было времени и возможности с этим разбираться. Курим мануал
не чего не видно!