ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
1 июля
158007 Топик полностью
Nataly (31.05.2009 05:52, просмотров: 163) ответил Nataly на Я, наверное, действительно напутала с отключением PLL. Не помню, где нашла это. Все пытаюсь решить эту проблему в перезагрузкой процессора по сети. Начальство требует загрузку как минимум через внешнюю память. При попытке очистить 0й сектор перед записью
Я программирую микроконтроллеры PHILIPS типа LPC21XX и LPC22XX в Keil 3.0 . Загружаю сначала свою программу фирменным UART-загрузчиком (при этом фирменный загрузчик в процессоре, судя по описанию LPC, сидит очень далеко в памяти и недоступен скорее всего). Пишу свой загрузчик программы с использованием IAP-команд. На данный момент мой загрузчик может по UART (и по команде из внешней памяти от другого процессора) перепрограммировать процессор во всех секторах, кроме 0-го. Я перенесла все свои сегменты программы за адрес 2000h. Мой драйвер загрузчика сидит за 10000h. IAP-командами перепрограммирую область программы (2000h), сбрасываю процессор (Watchdog). После этого процессор начинает работать по новой программе. Keil заносит в этом случае в 0-й сектор какие-то свои области, описание которых нигде я не нашла, но судя по всему, это стартовая программа и области, отвечающие за прерывания и используемые данные, при изменении которых (или размера) изменяется содержание 0-го сектора. Т.е. при изменении этих данных, даже если я перепрограммирую сегменты пользовательской программы, процессор виснет. При попытке стиреть 0-й сектор перед его перепрограммированием с помощью IAP-команд процессор также виснет. Вы не можете подсказать, как мне выйти из этой ситуации ? Или может знаете, где это описано, пусть даже на английском языке.