Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 19.03.2009, 12:15  
lockout
Частый гость
 
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lockout на пути к лучшему
По умолчанию

в том-то и дело, что я как-раз и смотрю неизмененный пример компилера.
Ну а в принципе, какие минимальные действия нужно выполнить, чтобы сконфигурировать вывод SAM7S64 как выход и выставить на нем определенный уровень? Регистров PIO_PER, PIO_OER и PIO_SODR недостаточно?
Реклама:
lockout вне форума  
Непрочитано 19.03.2009, 12:28  
rear
Вид на жительство
 
Аватар для rear
 
Регистрация: 30.12.2006
Адрес: Junktown
Сообщений: 300
Сказал спасибо: 164
Сказали Спасибо 171 раз(а) в 59 сообщении(ях)
rear на пути к лучшему
По умолчанию

Сам пока читаю документацию, тоже купил пару уже давно, но только не 64, а 32

в ДШ есть таблица, насколько понимаю, настраивать нужно почти все (или все) из них

Цитата:
The programing example as shown in Table 27-1 below is used to define the following
configuration.
• 4-bit output port on I/O lines 0 to 3, (should be written in a single write operation), open-drain,
with pull-up resistor
• Four output signals on I/O lines 4 to 7 (to drive LEDs for example), driven high and low, no
pull-up resistor
• Four input signals on I/O lines 8 to 11 (to read push-button states for example), with pull-up
resistors, glitch filters and input change interrupts
• Four input signals on I/O line 12 to 15 to read an external device status (polled, thus no input
change interrupt), no pull-up resistor, no glitch filter
• I/O lines 16 to 19 assigned to peripheral A functions with pull-up resistor
• I/O lines 20 to 23 assigned to peripheral B functions, no pull-up resistor
• I/O line 24 to 27 assigned to peripheral A with Input Change Interrupt and pull-up resistor

-- Прилагается рисунок: --

rear вне форума  
Непрочитано 19.03.2009, 19:46  
kiuaki
Частый гость
 
Регистрация: 26.07.2006
Сообщений: 46
Сказал спасибо: 5
Сказали Спасибо 20 раз(а) в 6 сообщении(ях)
kiuaki на пути к лучшему
По умолчанию

To lockout:
В ARM-ах , как заметил rear, требуються скрупулезно настраивать порты.
Последовательность инициализации должна соблюдаться и может занять непривычно много строк. По-началу с непривычки невозможно уловить почему в софт симуляторе какой-то участок вроде бы прорабатывается, а в хард дебаге виснет.
Просмотрите еще раз инициализацию портов.
Удачи.
kiuaki вне форума  
Непрочитано 20.03.2009, 01:19  
microsin
Временная регистрация
 
Аватар для microsin
 
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
microsin на пути к лучшему
По умолчанию

Примеры от IAR, которые поставляются вместе со средой, очень хороши - см. примеры getting-started-project, которые в изобилии есть в папке (для каждого процессора ARM Atmel) c:Program FilesIAR SystemsEmbedded Workbench 5.0 EvaluationARMexamplesAtmel. Я сам примерно месяца 2 программирую под ARM, начинал с нуля, и довольно быстро разобрался. Посмотрите еще здесь http://microsin.ru/content/view/653/44/, там есть описание, как конфигурить порты, управлять ими и читать состояние ножек, все довольно просто. Описана работа с AT91SAM7X256, но 64-й камень по работе с портами не отличается от 256-го.
microsin вне форума  
Непрочитано 24.03.2009, 10:59  
lockout
Частый гость
 
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lockout на пути к лучшему
По умолчанию

Доброго времени всем,

по совету microsin обратился к примеру в папке IAR Basic.ewp, который мигает светодиодами на выводах PA0-PA3.
Пример этот воздействует всего на 4 регистра: PMC_PCER, PIO_PER, PIO_OER и PIO_SODR. Когда иду по шагам в симуляторе, то вижу, как изменяется содержимое этих регистров, однако соответствующие им регистры состояния не меняются, хоть по логике и должны. Это нормально, или здесь какой-то глюк?
Как ведут себя регистры состояния в вашем симуляторе?
lockout вне форума  
Непрочитано 25.03.2009, 12:28  
microsin
Временная регистрация
 
Аватар для microsin
 
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
microsin на пути к лучшему
По умолчанию

Доброго времени суток!

Если хотя бы разок заглянуть в документацию на чип, то становится ясно, что:
1. PMC_PCER меняется для того, чтобы у нас заработал порт ввода вывода (можно было его читать/писать).
2. PIO_PER меняется для того, чтобы переключить нужные ноги в режим ввода/вывода (т. е. чтобы ножкой можно было программно дрыгать и читать её состояние).
3. PIO_OER меняется для того, чтобы переключить нужные ножки в режим выхода.
4. PIO_SODR и PIO_СODR меняются для того, чтобы установить нужные ножки в единички и в нолики соответственно.

Поиграв немного в телепата, я догадался, что под термином "соответствующие им регистры состояния" Вы наверное подразумеваете регистры PMC_PCSR, PIO_PSR, PIO_OSR, PIO_ODSR. Если прочитаете в документации про назначение этих регистров, то перестанете удивляться, что содержимое некоторых из этих регистров не меняется при смене логического состояния на портах (PA0-PA3). Чтобы прочитать состояние ножки, нужно всего лишь воспользоваться готовой подпрограммой u8 PIO_Get (const Pin *pin). Как ею правильно пользоваться, найдете в тех же примерах. Если Вам все же очень любопытно, как PIO_Get ухитряется определить состояние ножек, то просто посмотрите её код, и сразу станет понятно, какие регистры при этом читаются (PIO_PDSR и PIO_ODSR, в зависимости от того, вход это или выход).

Симуляторами не пользуюсь, и Вам не советую, купите себе лучше хороший JTAG-отладчик.
microsin вне форума  
Непрочитано 26.03.2009, 11:03  
lockout
Частый гость
 
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lockout на пути к лучшему
По умолчанию

1) kiuaki немного выше писал, что работа с портами в ARM требует их скурпулезного настраивания и соблюдения при этом определенного порядка инициализации регистров. В то же время, как я заметил, для простейшего случая, чтобы выставить на ножке какой-то уровень, нужно совершить запись всего лишь в четыре регистра (не намного больше, чем в AVR). И про необходимость соблюдения порядка инициализации регистров нигде не читал. Может я чего-то недоглядел?

2) И все таки, должно ли меняться в симуляторе состояние регистра, например PIO_PSR при записи ненулевого значения в PIO_PER? В даташите сказано: "The register PIO_PSR (PIO status register) is the result of the set and clear registers and indicates whether the pin is controlled by the corresponding peripheral or by the PIO Controller". Получается, записываем в какой-то бит PIO_PER единичку и получаем ее в соответствующем бите PIO_PSR. Где я тут неправ?

3) По поводу JTAG-отладчика, конечно согласен, что в железе всегда лучше, вот только денги... Есть ли какие-нибудь варианты дешевого (лучше - самодельного) JTAG-отладчика для ноутбука без LPT?

4) И самый важный вопрос. Когда прошиваю свой контроллер скачанным готовым bin-файлом, который дрыгает ножкой порта, то все идет, как полагается: светодиодик моргает, я любуюсь и глупо улыбаюсь, полуоткрыв рот. Но бьюсь уже который вечер и никак не могу из того же скачанного проекта сгенерить свой бинарник. Настройки линкера задаю, как описано в книге Редькина, получается bin-файл другого размера, который при зашивании его во флэш не выполняется. Пробовал и другие варианты настройки линкера, но рабочего файла так и не получил. Просмотр по диагонали документа EWARM_UserGuide.pdf результата не дал. Пока остается грешить на версию IAR, которым пользуюсь (с компакта к книге Редькина).
Кто-нибудь сталкивался с такой проблемой? Можете подсказать ссылку на IAR, который заведомо хорошо работает?





lockout вне форума  
Непрочитано 26.03.2009, 12:26  
Cyber_RAT
Прописка
 
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
Cyber_RAT на пути к лучшему
По умолчанию

симулятор перифирию не симулирует..
jtag покупайте или виглер хотя б на первое время спаяйте (упс - не прочитал что нету LPT).
Cyber_RAT вне форума  
Непрочитано 27.03.2009, 03:11  
microsin
Временная регистрация
 
Аватар для microsin
 
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
microsin на пути к лучшему
По умолчанию

1) "Скурпулезной" настройка кажется только на первый взгляд. Когда пользуешься готовыми библиотеками, то все оказывается удивительно просто (изучайте примеры от IAR).
2) По даташиту должно, но что там должно или не должно меняться в симуляторе, для меня самого загадка (может, не работает Ваш симулятор, кто его знает). Еще раз повторю - не заморачивайтесь с регистрами, пользуйтесь библиотеками. Все уже давно придумано за нас.
3) USB-JTAG дешевле, чем тыщи за полторы-две Вы не найдете, а самопал не сделаете. Если LPT (Wiggler) Вас не устраивает, то придется отлаживать через DBGU методом стер/прошил/проверил (с помощью программатора или bootloader).
4) По Вашим словам невозможно понять, в чем у Вас проблема, слишком мало информации. Пробуйте компилить и модифицировать готовые примеры, с готовыми настройками, и уже на основе их лепите свои проеты. Следите, чтобы настройки соответствовали Вашему чипу.
microsin вне форума  
Непрочитано 27.03.2009, 10:06  
lockout
Частый гость
 
Регистрация: 03.03.2008
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lockout на пути к лучшему
По умолчанию

Люди помогите!!!

Никак не могу одолеть IAR. Не получается сгенерить нормальный bin-файл. Есть скачанный проект для SAM7S64 с его готовым бинарником. Когда этот бинарник зашиваю в контроллер, то, как я уже писал выше, все работает ОК. Но когда пытаюсь самостоятельно скомпилировать и собрать этот же проект (ничего при этом не меняя висходниках), выходит фигня.

Сперва пробовал с IAR 4.41А. Когда в настройках линкера ставлю Output format = mpds-code и заменяю расширение Output file на bin (это рекомендация из книги Редькина), то все время получается файл подозрительного размера 1024 байт. Когда же ставлю Output format = raw-binary, получается файл размером 12 байт. Прошиваю контроллер - не работает.

Потом поставил себе IAR 5.20. Здесь, когда ставлю Output format = raw-binary, получается бинарник размера, близкого к размеру правильного рабочего bin-файла, который скачивался мной вместе с проектом. Его размер даже меняется, когда ставлю разные режимы оптимизации С/С++-компилятора. Однако и этот файл не работает, когда я прошиваю им МК.

Что делать???
Кто-нибудь сталкивался с чем-то подобным? Если нет, то хотя бы посоветуйте, где вы брали IAR и какими должны быть его настройки, чтобы сгенерить рабочий bin и прошить им контроллер самбой.

Всем спасибо.
lockout вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Soft -> USB -> AVR, помогите начать 1baxster Микроконтроллеры, АЦП, память и т.д 8 29.07.2009 12:24
ARM7 Stan88 Микроконтроллеры, АЦП, память и т.д 13 11.11.2008 21:42
Нада инфа об ARM7 для AT91SAM7хх ua_gruzin Микроконтроллеры, АЦП, память и т.д 14 07.06.2008 11:14
32/16-битные микроконтроллеры ARM7 фирмы Atmel Kombinator Микроконтроллеры, АЦП, память и т.д 1 13.05.2008 16:53
GUI для ARM7-9, Infenion16x jjj Микроконтроллеры, АЦП, память и т.д 1 10.02.2005 17:13


Часовой пояс GMT +4, время: 02:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot