Перейти к содержанию

Проблемы С Stk1000 Для Avr32


Busel Roman

Рекомендуемые сообщения

Пытаюсь программировать 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

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

мысли:

1 - счастливый человек... стк + отладчик хех..

2 - дело плохо... камень не видит память.. соответственно не может понять откуда ему грузиться...

3 - вопрос: каким образом через отладчик шьется флешка?

4- вообще, получается что камень тупо не может грузиться. не видит флеш.. как так не пойму..

«Как сердцу выразить себя? … Мысль изреченная есть ложь!»

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Flash прошивается через утилиты пакета avr32-gnu-toolchain, который подключен непосредственно к AVR32 Studio. То есть написание программы происходит в среде AVR32 Studio, но запись кода идет неявно с использованием avr32-gnu-toolchain.

Исследование показало, что ошибка не возникает в том случае, если не пытаться снизить частоту тактирования CPU. Как только в программе появляются две строки

pm->CKSEL.cpusel=2; 
pm->CKSEL.cpudiv=1;

то записать откомпилированный код получается лишь единственный раз, вторая и последующие попытки вызывают все ту же ошибку доступа к Flash.

Пока я пришел к выводу, что проблема именно в этом avr32-gnu-toolchain, так как старая его версия позволяет после возникновения ошибки переписать Flash. Установка самой последней версии AVR32 Studio и всего что с ней в комплекте идет, ситуацию с ошибкой обращения к Flash не изменила. Сейчас пробую скрестить старую версию avr32-gnu-toolchain с оболочкой AVR32 Studio.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...