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

Помогите с FAQ по UC3A

Помогите новичку разобраться с программированием камней uc3a. Задали курсовой проект по авр32, а я в глаза их до этого не видел. Плату сделал, контроллер распаял, а на программной части застрял. Есть 2 камня: UC3A0512 и UC3A0256. 512ый точно с бутлоадером, т.к. винда видит его напрямую через юсб кабель, дрова ставятся нормально и даже флип считывает с него код, где в последних строчках четко написано Atmel DFU Bootloader 1.0.3. Этот-то процессор и распаян на моей плате, поэтому я с ним хочу быть очень осторожным, чтобы не пришлось выпаивать его лишний раз и не шить в него бутлоадер, в случае утраты. Есть стк600. В нем стоит 256ой процессор и программы по дерганью ножкой и миганием светодиодом работает на нем, чего не скажешь про эту же программу, зашитую через флип в 512ый контроллер. Флип не шьет, не делает верифай и не делает бланкчек (Blabkcheck failed at 0x00000), флипом я могу только считать и сделать очистку. Однако, из под командной строки через BatchISP все это делается, и даже вроде бы вшивается программа, т.к. программатор пишет:

 

AT32UC3A1256 - USB - USB/DFU

 

Device selection....................... PASS

Hardware selection..................... PASS

Opening port........................... PASS

Reading Bootloader version............. PASS 1.0.3

Erasing................................ PASS

Selecting FLASH........................ PASS

Parsing ELF file....................... PASS 1.hex

Programming memory

WARNING: The user program and the bootloader overlap!

Programming memory..................... PASS 0x00000 0x0100B

Starting Application................... PASS RESET 0

 

Summary: Total 9 Passed 9 Failed 0

 

Но вот на этом все и заканчивается. После очистки, когда считываешь код с камня, этот код расположен где-то с 00000 по 01СFF. Где-то примерно так, сейчас это по памяти говорю. И, вот в районе 01СFF и написано это "Atmel DFU Bootloader 1.0.3". А судя по логу программатора, моя программа вшивается до 0100В, и после последующего считывания, у меня такой же код в контроллере, что и был после очистки, и естественно щупая нужную ножку, я не вижу там единицы. Я порылся в примерах и мне они не очень-то помогли. Это скорее всего из-за невнимательности и из-за не полного понимания того, что я делаю, а в соседних темах и на различных форумах все написано нечетко и как-то везде понемногу и я не могу все это вместе сопоставить=) Вот теперь вопросы:

1. Как правильно сдвинуть адреса в хексе, чтобы он вшивался после бутлоадера (если я правильно понял, то проблема именно в этом) и как вообще правильно программировать эти контроллеры?

2. 256ой я так же планирую распаять на аналогичной плате. А значит, как мне узнать из под СТК600, есть ли в этом контроллере бутлоадер, и если нету, то как мне его туда зашить?

3. Есть ли какие-то библиотеки с задержками, каковые были в 8-битных контроллерах (типа delay.h)?

Изменено пользователем dodika1972

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...