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

 
 
 
Reply to this topicStart new topic
> Самопрограммировани Attiny25, Как????
Vishv
сообщение Sep 20 2012, 17:05
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 310
Регистрация: 11-07-09
Из: Екатеринбург
Пользователь №: 51 154



Доброго всем времени суток!!
Суть вопроса - необходимо оперативно менять прошивку этого процессора в готовом устройстве. Тащить наружу 5 (SPI) проводов очень трудно, да и необходимо таскать с собой программатор. В тоже время можно организовать программный 1-wire интерфейс с использованием FTDI.
Таким образом физическая реализация трудностей не создаст.
Алгоритм самопрограммирования по datashit я вроде бы понял...
И вот тут я и уперся в следующие вопросы:
1. Где должна располагаться программа самопрограммирования и как в нее попадать? В процессорах Atmega для этого, как я понял из AN 109 (bootloader), выделяется специальная область, переход на которую происходит при запрограммированном fuse- BOOTRST при старте программы, В Attiny25 ни этой области, ни этого fuse - НЕТ!!!
2. Из анализа алгоритма самопрограммирования я сделал вывод - рабочая программа может изменять сама себя в процессе работы (мне нужно поменять пару констант несколько раз за время жизни устройства - бдительных прошу не напрягаться!!! biggrin.gif речь идет о периодической подкалибровке!!!). Так вопрос -я прав или нет?

У кого есть такой опыт - поделитесь, если не жалко,,,
Go to the top of the page
 
+Quote Post
abi
сообщение Sep 20 2012, 19:56
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-10-05
Из: Казань
Пользователь №: 9 432



Для примера есть Atmel AVR112: TWI Bootloader for Devices without Boot Section
http://www.atmel.com/Images/doc8079.pdf
http://www.atmel.com/Images/AVR112.zip
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 20 2012, 21:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Vishv @ Sep 20 2012, 20:05) *
1. Где должна располагаться программа самопрограммирования и как в нее попадать? В процессорах Atmega для этого, как я понял из AN 109 (bootloader), выделяется специальная область, переход на которую происходит при запрограммированном fuse- BOOTRST при старте программы, В Attiny25 ни этой области, ни этого fuse - НЕТ!!!

Располагаться может где угодно, но нулевой вектор должен делать переход на точку входа bootloader-а.
При завершении программы boot-а нужно сделать переход на точку входа основной программы.
Цитата(Vishv @ Sep 20 2012, 20:05) *
2. Из анализа алгоритма самопрограммирования я сделал вывод - рабочая программа может изменять сама себя в процессе работы (мне нужно поменять пару констант несколько раз за время жизни устройства - бдительных прошу не напрягаться!!! biggrin.gif речь идет о периодической подкалибровке!!!). Так вопрос -я прав или нет?

Для этого eeprom обычно используется. Но в приципе можно, только есть недостаток - eeprom стирается по-байтно, а у flash нужно стереть страницу (32 или 64 байта - точно не помню).
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 21 2012, 06:43
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(_Артём_ @ Sep 21 2012, 01:42)
Но в приципе можно, только есть недостаток - eeprom стирается по байтно

Не факт


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 22 2012, 08:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ILYAUL @ Sep 21 2012, 09:43) *
Не факт

Почему?

Я пришёл к выводу, что факт.
Go to the top of the page
 
+Quote Post

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

 


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


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