|
Проблемы с STK1000 для AVR32, Программирование AVR32 без Linux |
|
|
|
Jun 19 2007, 14:18
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Пытаюсь программировать AP7000 в среде AVR32 Studio на языке С, без применения ОС Linux. Планировщик использую встроенный в AVR32 Studio. Сразу написал программку по переменному переключению двух областей светодиодов LED0...LED7 (по 4 в каждой) через некоторую паузу. Все сразу заработало. Далее решил ускорить работу микроконтроллера (по умолчанию все такты идут с частотой OSC0=20 MHz). Тут и возникли трудности. ПРОБЛЕМА 1 Никак не могу заставить работать PLL на частоту 100 MHz (деление на 4 с последующим умножением на 20). Текст программы следующий (часть кода, только то, что касается PLL): Код volatile avr32_pm_t *pm=&AVR32_PM; pm->PLL0.pllosc=0; pm->PLL0.pllmul=19; pm->PLL0.plldiv=3; pm->PLL0.pllopt=4; pm->PLL0.pllen=1; pm->MCCTRL.pllsel=1; Микроконтроллер при запуске программы на выполнение сразу подвисает, в том числе и в режиме отладки. После тщетных попыток добиться нормальной работы PLL, попробовал притормозить работу микроконтроллера, поделив тактовую частоту для CPU. Взамен приведенной выше части кода написал новые строки: Код pm->CKSEL.cpusel=2; pm->CKSEL.cpudiv=1; Единственный раз мне удалось откомпилировать и запустить на выполнение в STK1000. Вроде пауза между переключениями светодиодов увеличилась. Решил еще уменьшить частоту тактирования CPU изменив значение CKSEL.cpusel=5. Вот тут и возникла ПРОБЛЕМА 2 Программа компилируется успешно, однако, при попытке ее выполнения на STK1000, AVR32 Studio выдает ошибку: Exception occurred during launch
Reason: Connected to JTAGICE mkII version 4.38
Flash chip was not added.
No CFI device detected at address 0x00000000. Далее любые мои действия по записи/стиранию Flash вызывают данную ошибку. То есть, фактически, я сейчас никак не могу изменить зашитую во Flash-память программу. Кроме того, в режиме Debug Run при пошаговом выполнении программы, строки выполняются не последовательно, а скачет сразу через несколько строк. Прошу высказать свои мысли. P.S. Хороший форум по AVR32: 3w avr32 ru
|
|
|
|
|
 |
Ответов
|
Jun 21 2007, 06:30
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Цитата(SpyBot @ Jun 20 2007, 18:39)  Возможно надо понизить клок JTAG-а? Пробовал и понижать (до 125 кГц), и повышать (до 8 МГц). Не помогает. Старый ведь Cygwin в состоянии очистить и записать Flash без дополнительных операций по настройке чего-либо! Цитата В скриптах/коде которые настраивают внешнюю шину для связи с флеш так же должна быть настройка режимов тактирования ядра. Так что ищите такую настройку или внимательно читайте доки, там должно быть все описано. Наверное, так получается, что в старой версии Cygwin при программировании Flash сначала происходил сброс делителей тактовой частоты, а затем уже следовали команды по инициализации внешней шины, к которой подключена Flash. Получается, что в новой версии Cygwin данную процедуру опустили (по крайней мере по умолчанию).
|
|
|
|
|
Jun 22 2007, 08:43
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(Busel Roman @ Jun 21 2007, 10:30)  Наверное, так получается, что в старой версии Cygwin при программировании Flash сначала происходил сброс делителей тактовой частоты, а затем уже следовали команды по инициализации внешней шины, к которой подключена Flash. Получается, что в новой версии Cygwin данную процедуру опустили (по крайней мере по умолчанию). Обратите внимание на комментарий к разделу AVR32 Studio 1.0 final release на бета-сайте Atmel.no - Don't use version 1.0.1! Большая просьба, отпишите, если разрешите проблему. В ближайшее время получу STK1000, думаю, столкнусь с аналогичными трудностями. P.S. Пора бы уже создавать ветку по AVR32...
|
|
|
|
|
Jun 22 2007, 18:44
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(IgorKossak @ Jun 22 2007, 21:20)  Такое же мнение было и по поводу ветки для MIPS. Ну и насколько она популярна? Основание должно быть именно такое, а не просто желание что-то выделить и ещё более раздуть структуру форума. Подождём пока. IgorKossakДумаю что AVR32 таки придется выделять в отдельную ветку, правда спешить с этим точно нет смысла. Наверное имело бы смысл попросить авторов топиков про avr32 начинать свои топики типа так: AVR32: описание теммы... что бы потом было легко это выделить в отдельную ветку. P.S. Эээ... ну мне просто сказали сегодня что через пару недель у меня тоже будет кит NWG100 для разбирательства с avr32...
|
|
|
|
|
Jun 23 2007, 09:15
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(singlskv @ Jun 22 2007, 21:44)  IgorKossak Думаю что AVR32 таки придется выделять в отдельную ветку, правда спешить с этим точно нет смысла. Наверное имело бы смысл попросить авторов топиков про avr32 начинать свои топики типа так: AVR32: описание теммы... что бы потом было легко это выделить в отдельную ветку. Я над этим бьюсь уже давно, да всё попусту. Пользователей не переделать. Особенно начинающих и неопытных. Потому то и пестрит форум сообщениями типа: "Тупой вопрос", "Помогите", "Как решить проблему?" и т. д. Надеюсь, что в случе с AVR32 ситуация хоть как-то улучшится. Камень то далеко не любительский и народ, подступающийся к нему, далеко не дилетанты. А что касается наполнения новой ветки существующими сообщениями, то за этим дело не станет.
|
|
|
|
|
Jun 25 2007, 07:19
|
Участник

Группа: Новичок
Сообщений: 51
Регистрация: 19-06-07
Из: Республика Беларусь, г.Витебск
Пользователь №: 28 538

|
Товарищи участники форума, убедительная просьба посылать сообщения поближе к сути вопроса (проблемы с STK1000 для AVR32), а то получается общение на вольные темы... Если так наболел вопрос "быть или не быть ветке AVR32", ну возьмите и откройте новую тему с опросом - пусть заинтересованные участники выскажут все за и против создания новой ветки.
Что касается умножения главной тактовой частоты микроконтроллера AP7000, то опытным путем я установил, что тактовая частота может принимать любые значения в диапазоне (10...70) MГц. Причем не важно какие именно значения имеют поля PLL0.plldiv и PLL0.pllmul. Как только пытаюсь получить такты с частотой вне этого диапазона, программа отказывается работать. По идее, элементы фильтра PLL должны с большой точностью задавать частоту главных тактов.
|
|
|
|
Сообщений в этой теме
Busel Roman Проблемы с STK1000 для AVR32 Jun 19 2007, 14:18 singlskv Цитата(Busel Roman @ Jun 19 2007, 18:18) ... Jun 19 2007, 16:48 Busel Roman Цитата(singlskv @ Jun 19 2007, 19:48) А ч... Jun 20 2007, 09:41  singlskv Цитата(Busel Roman @ Jun 20 2007, 13:41) ... Jun 20 2007, 10:40   Busel Roman Цитата(singlskv @ Jun 20 2007, 13:40) Вро... Jun 20 2007, 12:17    singlskv Цитата(Busel Roman @ Jun 20 2007, 16:17) ... Jun 20 2007, 12:43 GDI Может стоит Еррату почитать? AP7000 ещё вроде даже... Jun 20 2007, 06:34 SpiritDance По-моему несовместимость разных версий - это станд... Jun 20 2007, 10:08   Busel Roman Цитата(Master @ Jun 22 2007, 11:43) ... D... Jun 22 2007, 11:53    Busel Roman Наконец, нашел причину возникновения ПРОБЛЕМЫ 2 (б... Jun 22 2007, 13:01     bzx Цитата(singlskv @ Jun 22 2007, 22:44) P.S... Jun 23 2007, 07:02       Busel Roman Наконец получилось повысить частоту микроконтролле... Jun 26 2007, 11:34        Busel Roman Есть два способа перепрограммировать Flash в том с... Oct 1 2007, 13:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|