Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
На счёт последовательной смены версий - такая идея мне тоже приходила.
Это плохо и неудобно. Но это хорошо в том смысле что версию всё-таки можно поменять дистационно и без участия изготовителя.
Хуже когда это невозможно впринципе.
(Когда структура данных сильно изменилась и загрузчик ВООБЩЕ не в состоянии что либо сделать). Это САМОЕ СТРАШНОЕ - особенно, когда пользователь очень далеко от изготовителя.
В итоге, я думаю так :
(может кто-то в будующем будет терзаться тем же вопросом)
------------------------------------------------
Основная часть всего индивидуального в ЕЕПРОМ.
С ЕЕПРОМОМ работать проще, т.к. он побайтовый, а не страничный.
ВЫВОД: для ЕЕПРОМ делаем 2 команды, которые позволят тасовать его по-любому. (т.е. - добавляем одну команду в AVR231)
-------------------------------------------------
С памятью программ работать сложно - она страничная.
Перетасовку любой сложности тут НЕ выполнишь (нужен большой набор команд и может не хватить буферов).
Но кол-во элементов индивидуальных данных здесь небольшое, а их размер относительно большой.
Следовательно - фрагментирование будет минимальным.
ВЫВОД:
Всё, что можно - переносим в ЕЕПРОМ.
Максимально продумываем структуру индивидуальные данные в памяти программ, делаем запасы под массивы.
Вводим минимальный набор команд по перетасовке.
(Для AVR231 - расширяем команду "подготовить" вторым адресов - "куда" в пределах страницы)
В крайнем случае - делаем промежуточную сборку во флеш.
Т.е. сильно фрагментированные данные собираем на специальных пустых страницах, а уже потом пишем по назначению.
Составить ответ | Вернуться на конференцию
Ответы