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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> EVK1100 подключение по USB, где взять дрова.
bigarmer
сообщение Feb 12 2009, 16:01
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 52
Регистрация: 5-12-08
Пользователь №: 42 221



Maybe the board did not program any usb firmware.
Go to the top of the page
 
+Quote Post
Maximm
сообщение Mar 31 2011, 12:56
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 7-10-07
Из: Санкт-Петербург
Пользователь №: 31 137



Цитата(Зайцев Иван @ Jan 23 2009, 10:50) *
Задай в опция компилятора адреса 0х80002000
1. В Меню File>Import выбираешь General>File system, давишь Next
2. В строке From Directory добавляй путь \SoftwareFramework\SERVICES\USB\CLASS\DFU\EXAMPLES\ISP
3. выделяешь файлы conf_isp.h и BOOT\trampoline.S
4. Tool setting -> AVR32/GNU Assembler avr32-as замени ша avr32-gcc
5. В поле Assembler Flags добавь -x assembler-witch-cpp-c
6. В Include Patch - ..\UTILS , ..\UTILS\PREPROCESSOR
7. переходи в AVR32/GNU C Linker , выбираешь miscellaneous и вс троке Linker Flags пишешь -Wl,-e,_trampoline


Сделал все также, прошивка не затирает бутлоадер, только не понял где нужно задавать в опциях компилятора адрес 0x80002000???
теперь не могу прошить контроллер через Dragon или ICE mkII - пишет, что сегменты флеш заблокированы, что и логично, теперь шьется только через UDF.

Как можно теперь заставить шить флеш через JTAG, но чтобы бутлоадер остался? Может как раз загвоздка в адресе?


--------------------
Если работает через раз - значит не работает!
Go to the top of the page
 
+Quote Post
Dopler
сообщение Apr 1 2011, 11:06
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(Maximm @ Mar 31 2011, 15:56) *
Сделал все также, прошивка не затирает бутлоадер, только не понял где нужно задавать в опциях компилятора адрес 0x80002000???
теперь не могу прошить контроллер через Dragon или ICE mkII - пишет, что сегменты флеш заблокированы, что и логично, теперь шьется только через UDF.

Как можно теперь заставить шить флеш через JTAG, но чтобы бутлоадер остался? Может как раз загвоздка в адресе?


В памяти программу размещает на компилятор, а компоновщик. Соответственно и адреса, куда прошивается и откуда выполняется программа задаются в скрипте компоновщика (файле .lds). При программировании через JTAG стираются только те страницы, в которые реально загружается программа. Т.е. если программа написана корректно и лежит в нужных адресах, то она будет загружаться и загрузчик останется целым.

У вас ошибка возникает скорее всего из-за того, что в программу включен файл перехода к приложению trampoline.x, во всяком случае он включен во всех примерах от Atmel. Именно он пытается записаться на место загрузчика. Если через UDF программа загружается и нормально работает, то на сообщение от JTAG о заблокированном сегменте можно наплевать, так как в этом случае он не перешивает только защищенную область загрузчика, а сама программа в незащищенную область должна загружается корректно.
Go to the top of the page
 
+Quote Post
Maximm
сообщение Apr 1 2011, 13:54
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 7-10-07
Из: Санкт-Петербург
Пользователь №: 31 137



Цитата(Dopler @ Apr 1 2011, 15:06) *
В памяти программу размещает на компилятор, а компоновщик. Соответственно и адреса, куда прошивается и откуда выполняется программа задаются в скрипте компоновщика (файле .lds). При программировании через JTAG стираются только те страницы, в которые реально загружается программа. Т.е. если программа написана корректно и лежит в нужных адресах, то она будет загружаться и загрузчик останется целым.

У вас ошибка возникает скорее всего из-за того, что в программу включен файл перехода к приложению trampoline.x, во всяком случае он включен во всех примерах от Atmel. Именно он пытается записаться на место загрузчика. Если через UDF программа загружается и нормально работает, то на сообщение от JTAG о заблокированном сегменте можно наплевать, так как в этом случае он не перешивает только защищенную область загрузчика, а сама программа в незащищенную область должна загружается корректно.


Да я вот сам уже выкинул файл перехода trampoline.x и подправил скрипт компоновщика, всё конечно же работает и шьется без предупреждений, и такой способ гораздо проще предлагаемого Atmel, но зачем тогда весь этот геморрой бы сделан trampoline в своих исходниках?

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

А предупреждение возникает при записи как раз в ячейку 0x80000000 команды на прыжок на адрес 0x80002000, но сегмент первый то заблокирован как раз, а вот почему дальше не пишется корректно не понятно....


--------------------
Если работает через раз - значит не работает!
Go to the top of the page
 
+Quote Post
Dopler
сообщение Apr 2 2011, 11:17
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(Maximm @ Apr 1 2011, 16:54) *
Да я вот сам уже выкинул файл перехода trampoline.x и подправил скрипт компоновщика, всё конечно же работает и шьется без предупреждений, и такой способ гораздо проще предлагаемого Atmel, но зачем тогда весь этот геморрой бы сделан trampoline в своих исходниках?

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

А предупреждение возникает при записи как раз в ячейку 0x80000000 команды на прыжок на адрес 0x80002000, но сегмент первый то заблокирован как раз, а вот почему дальше не пишется корректно не понятно....

Думаю, что Atmel сделал так для универсальности - чтобы сохранить возможность загрузки проекта и через загрузчик и через JTAG (который стоит дорого). При этом, если в проект включен trampoline.x, то проект будет работать корректно и в том кристалле, где загрузчик стерт.

По поводу прошивки через JTAG, ошибка должна выскакивать только на адрес 0x80000000, все остальное должно прошиваться нормально и работать корректно, во всяком случае у меня писалось. Зачем вообще вам нужен этот загрузчик? Сотрите его, при необходимости он легко восстанавливается.
Go to the top of the page
 
+Quote Post

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

 


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


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