реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите с FAQ по UC3A
dodika1972
сообщение Apr 14 2013, 13:22
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 14-04-13
Пользователь №: 76 498



Помогите новичку разобраться с программированием камней 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 - Apr 14 2013, 13:23
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 12:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01352 секунд с 7
ELECTRONIX ©2004-2016