Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: А есть ли такая фишка в MSP430
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
Gorby
Даже затрудняюсь в двух словах задачу описать. Начну сначала.

Для некоторой управляющей микропроцессорной системы требуется следующая функциональность: наличие Serial Port (лучше два). И самое главное, возможность апдейтить софт удаленно (система имеет в составе GSM модуль WISMO).
Я вижу это дело так: имеется бут-лоадер, который умеет грузить из внешней последовательной флешки бинарный образ в некое ОЗУ (внешнее или внутреннее), находящееся также (или после переключаемое) в области памяти программ. Ну и после успешной загрузки передает туда управление. Быстродействия особого не требуется.
Для апдейта мы просто записываем новый образ в последовательную флешку (рядом с исходным, Оригинальным образом). А бут-лоадер умееть распознать его наличие и грузит его в ОЗУ, из которого оно и выполняется.
Запутанно...

Например, достаточно подходящим выглядит обычный AT89S53 от Атмел. То есть умеет исполнять код из внешней памяти. И писать туда может как в данные.

А вот в АВР-ах такой возможности не нашел. Или не заметил? Я смотрел AT90S8515. Он умеет работать с внешней памятью данных, но не программ.

Кто что может посоветовать?
dxp
Цитата(Gorby @ May 1 2006, 18:38) *
Даже затрудняюсь в двух словах задачу описать. Начну сначала.

Для некоторой управляющей микропроцессорной системы требуется следующая функциональность: наличие Serial Port (лучше два). И самое главное, возможность апдейтить софт удаленно (система имеет в составе GSM модуль WISMO).
Я вижу это дело так: имеется бут-лоадер, который умеет грузить из внешней последовательной флешки бинарный образ в некое ОЗУ (внешнее или внутреннее), находящееся также (или после переключаемое) в области памяти программ. Ну и после успешной загрузки передает туда управление. Быстродействия особого не требуется.
Для апдейта мы просто записываем новый образ в последовательную флешку (рядом с исходным, Оригинальным образом). А бут-лоадер умееть распознать его наличие и грузит его в ОЗУ, из которого оно и выполняется.
Запутанно...

MSP430 не умеет работать с внешний памятью. Ни программ, ни данных - вся память у него внутри шины адресов и данных наружу не выходят. Но ничего не мешает, имхо, загружить куски кода во внутреннее ОЗУ и пускать оттуда. Весь вопрос только в том, сколько ОЗУ в применяемом МК, влезет ли в нее нужное количество кода.

Еще вариант - программировать свою флешь "на лету". Т.е. не в ОЗУ грузить программу, а прямо во флешь. Флешь у MSP430 побита на блоки по 512 байт, каждый блок может быть индивидуально стерт. Таким образом, можно спокойно перекачать данные (программу) из внешнего хранилища во внутреннюю флешь. И не трогать уже запрограммированые блоки.
Gorby
Цитата(dxp @ May 1 2006, 16:04) *
Цитата(Gorby @ May 1 2006, 18:38) *

Даже затрудняюсь в двух словах задачу описать. Начну сначала.

Запутанно...

MSP430 не умеет работать с внешний памятью. Ни программ, ни данных - вся память у него внутри шины адресов и данных наружу не выходят. Но ничего не мешает, имхо, загружить куски кода во внутреннее ОЗУ и пускать оттуда. Весь вопрос только в том, сколько ОЗУ в применяемом МК, влезет ли в нее нужное количество кода.

Еще вариант - программировать свою флешь "на лету". Т.е. не в ОЗУ грузить программу, а прямо во флешь. Флешь у MSP430 побита на блоки по 512 байт, каждый блок может быть индивидуально стерт. Таким образом, можно спокойно перекачать данные (программу) из внешнего хранилища во внутреннюю флешь. И не трогать уже запрограммированые блоки.


Спасибо, пища для размышлений уже появилась.
А насчет
"Но ничего не мешает, имхо, загружить куски кода во внутреннее ОЗУ и пускать оттуда. " это точно? Ибо далеко не каждый проц умеет выполнять команды из ОЗУ данных.
Shread
Цитата
"Но ничего не мешает, имхо, загружить куски кода во внутреннее ОЗУ и пускать оттуда. " это точно? Ибо далеко не каждый проц умеет выполнять команды из ОЗУ данных.

- Абсолютно точно! biggrin.gif
Вот она ортоганальность архитектуры MSP430, делается простым jmp на нужный адрес.
Gorby
Цитата(vvvvv @ May 2 2006, 20:26) *
Я делал эту штуку, все просто :
= после копирования watchdog reset. Все, испытано немерянное
количество раз, работает супер, вплоть до докачки при обрыве
связи в следующем сеансе. А вот и исходники.



Спасибо огромное! Именно то, что искал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.