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

 
 
> Снова о самопрограммировании
Oless
сообщение Feb 2 2009, 10:28
Сообщение #1





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



Хочу сразу сказать, что перекопал уже весь форум и не только этот, прочитал avr106 но проблему устранить так и не смог.
Нужна помощь. Необходимо сделать обновление флеш программ. Для этого пытаюсь разместить код бутлоудера в отведенное ему пространство, но после программирования атмеги128 и последующего считывания код остается в начале прошивки. Как было рекомендовано в avr106, взял стандартный lnkm128s.xcl добавил в него
-D_..X_BOOTSEC_SIZE=2000 /* 4096 words */
-Z(FARCODE)BOOT_SECTION=(_..X_FLASH_END-_..X_BOOTSEC_SIZE-1)-
_..X_FLASH_END



в код программы void ExampleFunction() @ "BOOT_SECTION"{

for(ii=0;ii<100;ii++);// для теста

}


среда иар 2.31 , фьюзы BSIZ=0,BLB0=3,BLB1=3
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Oless
сообщение Feb 4 2009, 09:56
Сообщение #2





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



Получилось у меня загнать функцию в область бутлоудера, но только main, других финкциях он просто игнорирует, ПОЧЕМУ?
HELP
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Feb 4 2009, 11:05
Сообщение #3


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

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(Oless @ Feb 4 2009, 12:56) *
Получилось у меня загнать функцию в область бутлоудера, но только main, других финкциях он просто игнорирует, ПОЧЕМУ?
HELP

а зачем Вы вводите новый сегмент? разместите в области загрузчика основные стандартные сегменты программы (CODE, и тд.)
например:

/* Code memory - this line is generated with preprocessor.xls */
-Z(CODE)INTVEC,FAR_F,SWITCH,INITTAB,CODE,NEAR_F=1E000-1FFFF
Go to the top of the page
 
+Quote Post
Oless
сообщение Feb 4 2009, 11:13
Сообщение #4





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



Цитата(sergik_vrn @ Feb 4 2009, 13:05) *
а зачем Вы вводите новый сегмент? разместите в области загрузчика основные стандартные сегменты программы (CODE, и тд.)
например:

Может я ошибаюсь, но тогда и весь остальной код попадет в эту область.
Дело в том, что уже есть написаннаяи отлаженная мною программа, которая уже около года используется у клиентов
код ее занимает 30 К, к этой программе надо добавить бутлоудер, что бы можно было обновлять прошивку удаленно,
а не лежать каждый раз с отверткой под станком
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 4 2009, 12:08
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Oless @ Feb 4 2009, 14:13) *
... к этой программе надо добавить бутлоудер
Имхо, в этом - Ваша ошибка. Нужно не добавлять к программе бутлоудер, а сделать его. Т.е., это должны быть две программы: 1) рабочая программа; 2)бутлоудер, который заменяет любую(!) рабочую программу.
Go to the top of the page
 
+Quote Post
Oless
сообщение Feb 4 2009, 12:40
Сообщение #6





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



Цитата(Палыч @ Feb 4 2009, 14:08) *
Имхо, в этом - Ваша ошибка. Нужно не добавлять к программе бутлоудер, а сделать его. Т.е., это должны быть две программы: 1) рабочая программа; 2)бутлоудер, который заменяет любую(!) рабочую программу.

Возможно Вы правы, но ведь должно работать и как одна, просто так как Вы предлагаете, придется программировать в два приема, сначала бутлоудер, а потом в сети заказчика заливать прогу, я не уверен, что вложусь в 4к, по сути придется реализовывать весь протокол в будлоудере, а так можно будет взять прошивку из внешней флешь памяти загрузенной основной программой
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 4 2009, 13:16
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Oless @ Feb 4 2009, 15:40) *
... а так можно будет взять прошивку из внешней флешь памяти загрузенной основной программой
Не очень понятно, что же Вы хотите реализовать... Но, если в процессе загрузки будут участвовать куски основной (рабочей) программы, то перезалить её Вы не сможите.
PS Основная программа может подготавливать данные для бутлоудера: считать новую рабочую программу с флэш в некую внутреннюю память устройства (не память МК) и передать управление бутлоудеру, который запишет её в память программ МК. Бутлоудер, в общем случае, может брать данные откуда Вам удобно (UART, USB или что-то ещё). Но, это будет всё равно две программы: основная (рабочая) программа и бутлоудер.

Цитата(Oless @ Feb 4 2009, 15:40) *
придется программировать в два приема, сначала бутлоудер, а потом в сети заказчика заливать прогу
Вовсе не обязательно. Располагаюся они в разных частях памяти программ и одним и тем же программатором можно записать их вместе: стирание памяти делается одно на два программирования.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Oless   Снова о самопрограммировании   Feb 2 2009, 10:28
- - arttab   как предположение: задайте в адрес в явном виде, а...   Feb 3 2009, 10:01
- - arttab   значит компилятор не понял Вашего указания где раз...   Feb 4 2009, 10:34
- - GDI   Человек, видимо имеет ввиду, что он с помощью осно...   Feb 4 2009, 13:18
|- - Палыч   Цитата(GDI @ Feb 4 2009, 16:18) с помощью...   Feb 4 2009, 13:29
- - GDI   Это да, бутлоадер отдельно всегда пишется. Как вар...   Feb 4 2009, 13:47
|- - Палыч   Цитата(GDI @ Feb 4 2009, 16:47) сделать о...   Feb 4 2009, 13:59
|- - Oless   Цитата(GDI @ Feb 4 2009, 15:18) Человек, ...   Feb 4 2009, 14:27
|- - IJAR   Цитата(Oless @ Feb 4 2009, 17:27) Да, Вы ...   Feb 5 2009, 21:05
|- - defunct   Цитата(IJAR @ Feb 5 2009, 23:05) jmp на с...   Feb 5 2009, 22:39
|- - IJAR   Цитата(defunct @ Feb 6 2009, 01:39) Как-т...   Feb 6 2009, 08:59
|- - defunct   Цитата(IJAR @ Feb 6 2009, 10:59) Преимуще...   Feb 6 2009, 11:34
|- - Dog Pawlowa   Цитата(defunct @ Feb 6 2009, 15:34) BOOT ...   Feb 6 2009, 12:48
|- - defunct   Цитата(Dog Pawlowa @ Feb 6 2009, 14:48) Я...   Feb 6 2009, 14:05
- - GDI   А надо всегда держать образ программы во внешней п...   Feb 4 2009, 14:28
- - Prime   Я делал так: Отдельно заливал бутлодер, настраивал...   Feb 5 2009, 18:56


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 09:38
Рейтинг@Mail.ru


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