Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы начинающего по AT91SAM7S256
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
hd44780
Здравствуйте уважаемые.

Валяется у меня тут данный камень. Уже лет 5-6 biggrin.gif . Вот руки только доходят ...
Некоторые вопросы:

1. МК припаян к плате, обвяз пока не спаян. Обвяз в те времена делал по схеме Olimex-а (кроме RS232 драйверов). в Olmex-e стоят UDB-шные Pull-upы, управляемые с ног проца (D+ управляется с PA16, как я понял этого требует встроенный загрузчик SAM-BA). Это понятно для чего. Но попадаются конструкции (например, эта - http://prottoss.com/projects/ucGoZilla/ucGoZilla.htm), где этих pull-up-ов вообще нету. Отсюда вопрос - нужно ли их делать, или же они ести внутри проца?

2. В чём писать для него программы? Рабочий IAR я не нашёл (если кто знает, где взять, стуктите в личку плиз). Качал с rutracker, ругается на лицензию sad.gif . Скачал Atmel Studio 6, ASF последний. Запустил, увидел только AVRы и какие-то SAM3, SAM4. SAM7 нету. Или я чего-то не понял?

Наверняка будут ещё sm.gif . 10 лет сидел на AVR, не хватает их уже ....

Или это старьё уже жутко устарело и лучше взяться за STM32?
Спасибо.
Lotor
Цитата(hd44780 @ Jul 20 2012, 15:02) *
2. В чём писать для него программы? Рабочий IAR я не нашёл (если кто знает, где взять, стуктите в личку плиз). Качал с rutracker, ругается на лицензию sad.gif . Скачал Atmel Studio 6, ASF последний. Запустил, увидел только AVRы и какие-то SAM3, SAM4. SAM7 нету. Или я чего-то не понял?

Ваше количество сообщений на форуме позволяет стать "Своим" и тем самым получить доступ к IAR. Писать можно еще и в Keil, и в GCC. Чисто субъективно мне IAR меньше всего нравится, но для тех, кто работал с avr в нем, наверное, самое то.
Цитата(hd44780 @ Jul 20 2012, 15:02) *
Или это старьё уже жутко устарело и лучше взяться за STM32?

Лучше-таки сразу на Cortex'ы, хотя "классические" армы полезны для расширения кругозора.
Сергей Борщ
QUOTE (hd44780 @ Jul 20 2012, 14:02) *
2. В чём писать для него программы?
Eclipse + чья-нибудь сборка arm-none-eabi-gcc. Искать по ключевым словам yagarto, linaro, codesourcery, по нику klen тут на форуме. Для отладки - OpenOCD с любым поддерживаемым адаптером (ST-Link, J-Link, FT2232).
QUOTE (hd44780 @ Jul 20 2012, 14:02) *
Или это старьё уже жутко устарело и лучше взяться за STM32?
Лучше. Ответ на второй вопрос в этом случае будет такой же.
xoms
QUOTE (hd44780 @ Jul 20 2012, 15:02) *
......
1. ...... Отсюда вопрос - нужно ли их делать, или же они ести внутри проца?

2. В чём писать для него программы? Рабочий IAR я не нашёл (если кто знает, где взять, стуктите в личку плиз). Качал с rutracker, ругается на лицензию sad.gif . Скачал Atmel Studio 6, ASF последний. Запустил, увидел только AVRы и какие-то SAM3, SAM4. SAM7 нету. Или я чего-то не понял?
.......
Или это старьё уже жутко устарело и лучше взяться за STM32?
Спасибо.


1. Внутри проца их вроде нету, pull-up надо делать самому.
2. Добавляйтесь в свои и будет у вас рабочий IAR с кучей примеров под USB.
3. Оно конечно в годах, но все еще используется и вполне для своих задач применябельно.
_4afc_
1 - PullUP на D+ обязателен, когда резистор подтягивается к плюсу винда обнаруживает устройство и пытается сконфигурить его в течении 100мс. Если у вас питание будет тоже от USB и USB сразу конфигурится - можно без транзисторов просто резистор на питание кинуть. Желательно также по 300к на землю поставить на D+D- чтоб стекало...

2 - Под SAM7 есть WinARM - идеология как WinAVR. Другими не пользовался. Есть ещё КЛЁН - но я им лишь баловался.
hd44780
Понятно. Спасибо.

Со "своими" разобрался. Жду ответной реакции sm.gif
Lotor
Если выбрали IAR, то можете у них на сайте скачать - ограничение по времени месяц вроде.
Если смотрите в сторону gcc, то будет полезно почитать статью James P. Lynch: "Using Open Source Tools for AT91SAM7S Cross Development revision C".
_Артём_
Цитата(hd44780 @ Jul 20 2012, 14:34) *
Понятно. Спасибо.

Со "своими" разобрался. Жду ответной реакции sm.gif


Пишите сюда, Доступ в свои

Хотя достаточно Eclipse + GCC.
SII
Цитата(hd44780 @ Jul 20 2012, 15:02) *
Или это старьё уже жутко устарело и лучше взяться за STM32?


STM32, как и те же SAM3, относятся к M-профилю архитектуры ARM (ядра Cortex-M с различными циферками, обычно 3). Ваш МК -- древняя архитектура ARMv4T. Однако, если интересуют не только сравнительно слабые МК (а М-профиль -- именно такие), а ещё и мощные МК и микропроцессоры (R- и A-профили), тогда изучение этого старья очень даже пригодится. Дело в том, что M-профиль архитектуры резко отличается от двух других и от всего старья по обработке прерываний и другим системным аспектам, а вот между суперпуперновейшим процессором Cortex-A и Вашим древним (ядро ARM7TDMI вроде как) существует почти полная совместимость снизу вверх: т.е., разобравшись с теми же прерываниями на своём SAM7, Вы будете в целом знать, как они обрабатываются на ядрах Cortex-R и Cortex-A. В общем, ИМХО, изучение не будет лишним. Вот в серийные разработки такое закладывать уже нельзя, но это ж совсем другой вопрос.
_Pasha
AT91SAM7S очень капризно проявили себя по питанию, а именно к скорости нарастания напряжения.
и кривоватость загрузчика ака SAMBA оставила тяжелые воспоминания.
hd44780
Понятно ..
Мне серию не надо, одиночные устройства для себя.
В сторону STM32 смотрю sm.gif .
Lotor
Цитата(hd44780 @ Jul 20 2012, 18:41) *
В сторону STM32 смотрю sm.gif .

А на этих смотрите случайно не из-за агрессивного маркетинга ST? sm.gif А то многие купились, а потом только ерраты стали изучать. Или у Вас более объективные причины?
hd44780
Цитата(Lotor @ Jul 21 2012, 18:24) *
А на этих смотрите случайно не из-за агрессивного маркетинга ST? sm.gif А то многие купились, а потом только ерраты стали изучать. Или у Вас более объективные причины?


Да хрен знает, куда податься .... AVR-ов не хватает уже sm.gif .
Одни ругают SAM7S, другие STM. В данный момент у меня в наличии есть SAM7S256, и решил им заняться rolleyes.gif .
У STM32 отладочные платы доступные по цене. Но я ещё ничего не покупал.
Lotor
Цитата(hd44780 @ Jul 21 2012, 21:27) *
Да хрен знает, куда податься ....
Одни ругают SAM7S, другие STM. В данный момент у меня в наличии есть SAM7S256, и решил им заняться rolleyes.gif .
У STM32 отладочные платы доступные по цене. Но я ещё ничего не покупал.

Тут в основном народ Вам говорит, что сейчас "в моде" кортексы и соответственно именно эти ядра надо закладывать в новые разработки.
Но имхо, если у Вас есть плата на SAM7, то и поковыряйте её, а не тратьтесь на новую отладку с cortex-m3. А если и будете покупать, то подумайте от какого именно производителя. На ST свет клином не сошелся. Но это уже тема достойная холивара. sm.gif
hd44780
Цитата(Lotor @ Jul 21 2012, 20:38) *
если у Вас есть плата на SAM7, то и поковыряйте её


Чем и занимаюсь sm.gif . Сейчас закончу разбираться с тачскрином на AVR-е и займусь им вплотную.

Правда плата это громко сказано, но хоть что-то ...
mempfis_
Цитата(hd44780 @ Jul 20 2012, 17:41) *
Понятно ..
Мне серию не надо, одиночные устройства для себя.
В сторону STM32 смотрю sm.gif .


Из всех семеств процессоров ARM7/CORTEX-M3 с которыми работал больше всего понравились LC17xx и LPC23xx (во многом взаимозаменяемы по коду) - много нормальных примеров в сети и небольшая эррата.
Для наших серийных проектов остановились именно на них. Один проект на AT91SAM7S перевели на LPC17 из-за трудностей с поставками от ATMEL.
О серии AT91SAM7S сказать ничего плохого не могу - нормальный, хотя устаревший и относительно медленный, ARM7 процессор. Достаточно примером в сети написанных человеческим кодом. Но ИМХО не выдерживает конкуренции с LPC23/24 как по быстродействию, так и по переферии.
STM32 как по мне не самый лучший вариант. Писал небольшой проект под него. В итоге нашёл кучу примеров с привязкой к библиотеке CMSIS. Проект был написан быстро, но код ужасный. Вместо прямой работы с регистрами переферии идёт работа со структурами, которые потом используются для инициализации этой переферии. В итоге раздутый медленный код и в голове каша. Вобщем ST32 оставил не самое лучшее впечатление.
_Артём_
Цитата(mempfis_ @ Jul 21 2012, 21:08) *
STM32 как по мне не самый лучший вариант. Писал небольшой проект под него. В итоге нашёл кучу примеров с привязкой к библиотеке CMSIS. Проект был написан быстро, но код ужасный. Вместо прямой работы с регистрами переферии идёт работа со структурами, которые потом используются для инициализации этой переферии. В итоге раздутый медленный код и в голове каша. Вобщем ST32 оставил не самое лучшее впечатление.

Такой подход к написанию кода работающего с периферией сейчас характерен для многих производителей. STM - не исключение. С LPC тоже самое.
rtcveel
Цитата
ругается на лицензию .

по IAR-у отписал...
hd44780
Цитата(rtcveel @ Jul 23 2012, 15:16) *
по IAR-у отписал...


Спасибо.
hd44780
Платку допаял, Samba ожила.
Сейчас паяю Wigger для удобства программирования, потом начну его мучить....

Пока вопрос. Там есть Errata - "The maximum number of erase|write cycles for "

Платку допаял, Samba ожила sm.gif .
Сейчас паяю Wigger для удобства программирования, потом начну его мучить....

Пока вопрос. Там есть Errata - "The maximum number of erase/write cycles for NVM bits is 100". Как я понял это касается только LOCK и 2-х битов, управляющих brownout детектором и его сбросом проца. А каких-либо ограничений на прошивку и на "восстановление SAMBы" нет?

Спасибо.
RabidRabbit
Цитата(hd44780 @ Aug 5 2012, 16:49) *
Пока вопрос. Там есть Errata - "The maximum number of erase/write cycles for NVM bits is 100". Как я понял это касается только LOCK и 2-х битов, управляющих brownout детектором и его сбросом проца. А каких-либо ограничений на прошивку и на "восстановление SAMBы" нет?


Я поступил предельно тупо - написал свой загрузчик и больше не заморачивался темой "сдохнут эти биты или нет" sm.gif
hd44780
Мне до писания загрузчиков далеко ещё, я только-только начал светодиодную моргалку писать sm.gif
Вчера перед сном надёргал кода из IAR-овского примера getting-started-project, он естественно выматюкался - там какая-то общая библиотека подключается, я с ней ещё не разобрался, что там да как ... sad.gif Куча названий плат каких-то, ещё хрени всякой...
Меня вроде только раздел at91sam7s-ek касется, как я понял.

Альтернативные загрузчики пытался в интернете искать - не нашёл, везде одна SAM-BA упоминается... Ну Бог с ними. Пока и её хватит.
Как я понял, те 100 раз её вроде не касаются, а лок-биты и brownout мне пока вообще не нужны. Единственное, что напрягает - перетыкание джамперов ERASE и TEST.

Вообще странно как-то - для AVR-ов до фига примеров в сети валяется, а на этот хрен найдёшь...
Под STM32 и то больше. Или я искать разучился rolleyes.gif ?

PS.
А без резюка на D+ действительно не фурычит. Вчера сделал управляемую ногой PA16 и транзюком подтяжку на D+, как в OLMEX-е - работает.
Подтяжку на D- вообще пока делать не стал... С USB LowSpeed я на АVR-овском ObDev уже наигрался ...
mempfis_
Цитата(hd44780 @ Aug 7 2012, 09:04) *
Альтернативные загрузчики пытался в интернете искать - не нашёл, везде одна SAM-BA упоминается... Ну Бог с ними. Пока и её хватит.
Как я понял, те 100 раз её вроде не касаются, а лок-биты и brownout мне пока вообще не нужны. Единственное, что напрягает - перетыкание джамперов ERASE и TEST.

Вообще странно как-то - для AVR-ов до фига примеров в сети валяется, а на этот хрен найдёшь...
Под STM32 и то больше. Или я искать разучился rolleyes.gif ?


Про lock-биты вообще не думайте. Они легко программно проверяются и при необходимости устанавливаются.
SAMBA у меня использовалась только как программатор. Если нужен загрузчик - он на раз-два самостоятельно пишется.
Будут затруднения могу поделиться кодом.
Чтобы кое-как разобраться хватает проектов из папки с примерами в IAR. На самом форуме достаточно информации.
Вот первая ссылка в google по запросу at91sam7s projects
http://www.siwawi.arubi.uni-kl.de/avr_proj...index_at91.html
hd44780
Цитата(mempfis_ @ Aug 7 2012, 09:59) *
Про lock-биты вообще не думайте. Они легко программно проверяются и при необходимости устанавливаются.

Да они мне вообще пока не нужны rolleyes.gif .

Цитата(mempfis_ @ Aug 7 2012, 09:59) *
SAMBA у меня использовалась только как программатор. Если нужен загрузчик - он на раз-два самостоятельно пишется.
Будут затруднения могу поделиться кодом.

Спасибо. Если что, обращусь.

Цитата(mempfis_ @ Aug 7 2012, 09:59) *
Чтобы кое-как разобраться хватает проектов из папки с примерами в IAR. На самом форуме достаточно информации.

Да с ними и разбираюсь сижу ...

Цитата(mempfis_ @ Aug 7 2012, 09:59) *
Вот первая ссылка в google по запросу at92sam7s projects


Спасибо. Ща полезу копаться sm.gif .
RabidRabbit
Цитата(hd44780 @ Aug 7 2012, 10:04) *
Мне до писания загрузчиков далеко ещё, я только-только начал светодиодную моргалку писать sm.gif

У меня загрузчик был следующим после моргалки sm.gif

Цитата(hd44780 @ Aug 7 2012, 10:04) *
Альтернативные загрузчики пытался в интернете искать - не нашёл, везде одна SAM-BA упоминается... Ну Бог с ними. Пока и её хватит.
Как я понял, те 100 раз её вроде не касаются, а лок-биты и brownout мне пока вообще не нужны. Единственное, что напрягает - перетыкание джамперов ERASE и TEST.

Я не уверен, но вроде манипуляция с ERASE также приводит к стиранию битов GPNVM...
hd44780
Моргалка заработала, можно продолжать sm.gif .
Шьюсь пока через самбу.
mempfis_
Цитата(hd44780 @ Aug 7 2012, 20:07) *
Моргалка заработала, можно продолжать sm.gif .
Шьюсь пока через самбу.


Вот пару проектов - когда разбирался с sam7s64 состряпал. Может пригодится.
Поменяйте расширение на 7z
hd44780
mempfis_, спасибо.
Мне на данном этапе моего "ARM развития" всё пригодится sm.gif

Сейчас хочу LCD HD44780 прикрутить, чтобы было куда текст гнать. UARTы как-то некошерно rolleyes.gif
aaarrr
Цитата(hd44780 @ Aug 8 2012, 13:24) *
Сейчас хочу LCD HD44780 прикрутить, чтобы было куда текст гнать. UARTы как-то некошерно rolleyes.gif

UART - наше все, особенно при отладке: поставил лог записываться, и можно баиньки.
А дисплей прикрутите, конечно - все польза.
mempfis_
Цитата(aaarrr @ Aug 8 2012, 12:34) *
UART - наше все, особенно при отладке


+100000
ничто так не полезно при отладке как UART - поверьте наслово!!!

hd44780
Цитата(mempfis_ @ Aug 8 2012, 12:43) *
ничто так не полезно при отладке как UART - поверьте наслово!!!


Да я знаю, приходилось.... Когда-то через него глюки с PDIUSBD12D вылавливал на AVR-е sm.gif
Я просто max3232 на плате не развёл (поленился в своё время rolleyes.gif ), теперь придётся их вторым этажом лепить ...
mempfis_
Цитата(hd44780 @ Aug 8 2012, 14:31) *
Да я знаю, приходилось.... Когда-то через него глюки с PDIUSBD12D вылавливал на AVR-е sm.gif
Я просто max3232 на плате не развёл (поленился в своё время rolleyes.gif ), теперь придётся их вторым этажом лепить ...


а зачем его на плате лепить?
у нас для оладки выводится на разъём RDX/TXD/GND с любого доступного UART. И есть небольшая платка-переходник UART-USB которая шлейфом цепляется к отлаживаемой плате. Отлаживаемые платы меняются - переходник остаётся...
hd44780
Цитата(mempfis_ @ Aug 8 2012, 17:05) *
у нас для оладки выводится на разъём RDX/TXD/GND с любого доступного UART. И есть небольшая платка-переходник UART-USB которая шлейфом цепляется к отлаживаемой плате. Отлаживаемые платы меняются - переходник остаётся...


Я и собираюсь так сделать - на отдельной плате MAX и 2 разъёма COM-портовских, а к плате с процом проводки...
haker_fox
QUOTE (hd44780 @ Aug 8 2012, 18:24) *
Сейчас хочу LCD HD44780 прикрутить, чтобы было куда текст гнать. UARTы как-то некошерно rolleyes.gif

Если есть возможность, прикрепляйте к шине внешней памяти. Эти дисплеи для нее и предназначены. Это уже на аврках за отсутствием таковой все программно эмулировалось.
aaarrr
Цитата(haker_fox @ Aug 8 2012, 18:53) *
Если есть возможность, прикрепляйте к шине внешней памяти. Эти дисплеи для нее и предназначены. Это уже на аврках за отсутствием таковой все программно эмулировалось.

Шины на этих SAM'ах нет. Да и смысла особого подключать так не вижу по двум причинам:
1. У HD44780 "мотороловская" шина, у подавляющего числа МК - "интеловская".
2. Это очень медленное устройство. Если на шине живет кто-то еще, может послужить тормозом.
hd44780
MAX2323 на 2 UART-а почти спаял sm.gif
Но пока на работе - вопрос по дисплею HD44780.
Он требует +5в, проц - +3.3в. Ноги проца 5V tolerant. Это вроде означает, что я могу соединять их непосредственно.

Нарыл "Приёмник мечты" Гены Завидовского, там у него стоит ATSAM7S64 и такой дисплей. У него между процом и дисплеем на каждой линии стоят какие-то резисторы (сигналы LCD_xx - от проца) - вложение. Номинал их я не понял sad.gif .
Всё, что разобрал - в цепи питания - 820 ом. А зачем? Типа пониженное напряжение питания?

Вопрос - нужны ли эти резюки, или всё же можно непосредственно?

Спасибо.
mempfis_
Цитата(hd44780 @ Aug 10 2012, 10:26) *
Но пока на работе - вопрос по дисплею HD44780.
Он требует +5в, проц - +3.3в. Ноги проца 5V tolerant. Это вроде означает, что я могу соединять их непосредственно.


Поищите индикатор на 3,3 вольта. У нас в одном устройстве стоял индикатор подцепленный к LPC23. Схемотехник сделал как он выражается "по тупому" - т.е. просто без резисторов соединил все линии индикатора с процессором. Вроде всё работает. Я сам когдато к меге запитанной от 3,3 вольта цеплял 5тивольтовый индикатор, тоже запитанный от 3,3. Но я добавлял инвертор напряжения для регулировки контрастности - всё работало.
aaarrr
Цитата(hd44780 @ Aug 10 2012, 11:26) *
Но пока на работе - вопрос по дисплею HD44780.
Он требует +5в, проц - +3.3в. Ноги проца 5V tolerant. Это вроде означает, что я могу соединять их непосредственно.

Не означает: посмотрите в документации на индикатор минимальное напряжение высокого уровня для входа (VIHmin) - оно должно быть ниже 3.3В с некоторым запасом. На выводах процессора, подключенных к индикатору, не забудьте отключить pull-up'ы.
hd44780
Спасибо.

Цитата
Но я добавлял инвертор напряжения для регулировки контрастности - всё работало.

А схемку инвертора можете подкинуть? Я такое читал когда-то раньше, но ни одной схемы чего-то не видел sad.gif .

Есть ещё у меня цветной граф дисплей на базе ILI9320, я его успешно запустил (не без здешней форумной помощи) на 3.3в на Mega16A.
Но я пока не хочу за него браться, слишком сложно пока для меня.
Alexashka
Цитата(hd44780 @ Aug 10 2012, 11:26) *
Нарыл "Приёмник мечты" Гены Завидовского, там у него стоит ATSAM7S64 и такой дисплей. У него между процом и дисплеем на каждой линии стоят какие-то резисторы (сигналы LCD_xx - от проца) - вложение. Номинал их я не понял sad.gif .

Написано же -RF CHOKE, то бишь феритовая "бусинка", очень правильная весч в приемнике, т.к линии дисплея достаточно длинные и идут не всегда по плате, а стало быть являются источником помех. Кстати можно поставить и обычные резисторы, будет не хуже и дополнительная "толерантность" к 5В будет (если вдруг прилетит)
mempfis_
Цитата(hd44780 @ Aug 11 2012, 20:14) *
А схемку инвертора можете подкинуть? Я такое читал когда-то раньше, но ни одной схемы чего-то не видел sad.gif .


ICL7660 - в pdf есть всё - и описание, и схема.
На некоторых индикаторах даже разведено место под инвертор - посмотрите на своём.
hd44780
Цитата(Alexashka @ Aug 12 2012, 01:37) *
Написано же -RF CHOKE, то бишь феритовая "бусинка"

Так бы и написал - Ferrite Bead, а то RF CHOKE какое-то sm.gif .... С этим ясно.

Цитата(mempfis_ @ Aug 12 2012, 10:41) *
ICL7660 - в pdf есть всё - и описание, и схема.
На некоторых индикаторах даже разведено место под инвертор - посмотрите на своём.

Спасибо. Посмотрел. У меня этих индикаторов штук 10 sm.gif разных. И 16x2, и 20х4. На некоторых есть место под микросхему SO-8, на некоторых нет.
Сейчас играюсь с WH1602, на нём нету.
Откопал темку про эти ЖКИ и инверторы - http://electronix.ru/forum/index.php?showtopic=73819 , прочитал. Но там всё в воздухе повисло, автор сгинул в небытие ...

Осталось непонятно - выход инвертора цеплять непосредственно на вход контраста? И переменный резистор не нужен вообще?

Вот ещё что-то родственное - http://forum.ixbt.com/topic.cgi?id=48:8204 Дисплей не такой, но тема похожая.
У меня дисплей такой есть, но я на него не смотрел.
hd44780
Дисплей ожил. Bolymin BC2004. Оказалось он не любит 4-битный режим sm.gif . Подключил по 8-битному, сразу пошёл.
Без инвертора, с 5в питанием. Pull-up-ы выключил, как тут выше советовали.

Зато с сихронным выводом разобрался sm.gif . А то тоскливо как-то глядеть на кучу операций типа

if (rs!=0)
LCD_TARGET_PORT_S = LCD_RS_BIT;
else
LCD_TARGET_PORT_C = LCD_RS_BIT;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.