ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
48044 Топик полностью
rezident (10.01.2006 00:24, просмотров: 1) ответил VVT на Кранты, естественно. Придется через JTAG заливать.
А если JTAG недоступен (fuse пережжен)? Получается что только BSL. Стоит ли тогда овчинка выделки? А вообще ИМХО такое. BSL успешно работает и на 38400. Гляньте MSPFET Programmer Kurt-а здесь на сайте в проектах. BSL успешно выполняет все те функции, которые вам требуются. Техника программирования через BSL описана - просто напишите свою программу-загрузчик с оболочкой GUI, если вам так этого хочется. Если же все-таки хочется писать свой собственный загрузчик, то в основной программе помещайте написанный загрузчик в секцию _low_level_init (это для IAR EW430). Пускай после ресета он инициализирует требуемую для загрузки периферию и ждет, допустим, 5сек и если нет активности по связи, то верифицирует firmware во Flash и при валидности передает ей управление. Допускать переписывание firmware в теле основной программы это ненужно, вредно и опасно. Загрузчик должен выполнять только одну функцию загрузка - каким-либо способом собственно блока программы обновления firmware (загрузчик загрузчика). Patch-и для BSL именно так и работают. При этом можно сделать какую-нибудь защиту - шифрование или идентификацию загрузчика или что-то еще подобное. Чтобы сократить до минимума вероятность порчи загрузчика, его нужно размещать в том же сегменте, что и вектора прерываний и не стирать при обновлении firmware. Поскольку сами вектора прерываний при изменении софта приходится переписывать, то нужно сделать их перемещаемыми и обработчики прерываний располагать в другом сегменте Flash или в ОЗУ. Где-то на форуме electronix.ru я встречал пример программы для MSP430 как раз c перемещением векторов прерываний в ОЗУ. Все это имеет смысл, если действительно имеется реальная потребность время от времени обновлять firmware, а в используемом кристалле имеются ресурсы для этого. Для совсем мелких кристаллов MSP430 никакого смысла в подобном усложнении софта нет - используйте имеющийся BSL и не чудите ;-)