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

 
 
> Самопрограммировани 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
 
Start new topic
Ответов
_Артём_
сообщение Sep 20 2012, 21:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #3


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

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



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

Не факт


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

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post



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

 


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


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