Так прежде всего, то, что делает разборку выглядеть? Правильно ли он сформировал векторный столбец 32-разрядный адрес стека, затем 32-битный начальный адрес orred с 1 (набор lsbit)? Это, конечно, предполагает, что вы загружаете это во флэш и не работаете из ram, если из ram тогда вы хотите сделать что-то другое наиболее вероятно или знать смещение к точке входа.
вы устанавливаете все выводы порта2 на выход. и затем устанавливают их высоко.
Ваш светодиод сконфигурирован таким образом, что высокий включает его или высокий отключает его? (должен быть gpio, led, резистор, а затем либо vcc, либо земля, для того, чтобы он мог повернуть его, он должен быть заземлен. Если это vcc, то вы хотите установить низкий уровень порта). (не имеет значения, какой заказ компоненты являются резистором, а затем привел или привел к резистору).
Моя догадка, которого не читал:
Критерия Действительного кода пользователя
зарезервированного Cortex-M3 вектор исключения местоположения 7 (смещение 0x 001C в таблице векторов) должен содержать дополнение-по чеке -sum записей таблицы с 0 по 6. Это приводит к тому, что контрольная сумма первых 8 записей таблицы будет равна 0. Код загрузчика проверяет первые 8 местоположений в секторе 0 флэш-памяти. Если результат равен 0, управление выполнением передается в код пользователя. ...
в технических описаниях?
Хммм, или вы хотите запустить это из бара? Вам нужно будет установить свой адрес ro на 0x10000xxx (см. Ниже), и вам не понадобится векторная таблица.
техническое описание также говорит:
ОЗУ используется ISP обработчика команды
ISP команды используют на чипе RAM от 0x1000 0118 до 0x1000 01FF. Пользователь может использовать эту область, но содержимое может быть потеряно после сброса. Команды программирования Flash используют верхние 32 байта ОЗУ. Стек находится в верхней части ОЗУ - 32. Максимальное использование стека составляет 256 байт, и оно растет вниз.
Таким образом, вы увидите, что люди часто резервируют 0x200 байт для загрузчика в основном при его использовании. Итак, начните с 0x10000200 вместо 0x10000000. по какой-то причине я более щедрый, я использую 0x10000800. Некоторые люди резервируют это 0x200 байт все время, даже если они не используются с помощью инструментов ISP.
Я предполагаю, что с вашего адреса ro и rw адрес и векторную таблицу вы хотите запустить со вспышки. вам нужно получить контрольную сумму там, и я рекомендую разобрать, чтобы увидеть, что таблица векторов имеет нечетный адрес для начала. вы, вероятно, захотите добавить несколько других векторов туда, чтобы заполнить пространство для контрольной суммы.
Что происходит, когда вы пытаетесь запустить его? Измените точное сообщение об ошибке в свой вопрос. –
не работают на моем микро, это означает, что не включайте светодиод! –