-
- &Reset_Handler? SciFi(51 знак., 27.08.2012 16:52)
- Ну сверхзадача это массив указателей на функции. Среди них есть указатели на существующие функции, и есть позиции в массиве для будущих функций. Хотел бы поставить при попадании на них call Reset_Handler. Эта метка есть в стартапе. Там и Юра(297 знак., 27.08.2012 17:31, )
- Грязный хак : asm("JMP 0xBFFC"); (не АРМ, кнешна) - Vladimir Ljaschko(27.08.2012 17:42)
- А зачем call Reset_Handler? Для сброса? Сброс так не делается - это будет кривой сброс. - SciFi(27.08.2012 17:35)
- Это пока не важно. Надо научиться прыгнуть :) Потом обсудим почему он кривой. - Юра(27.08.2012 17:45, )
- Тогда наводящий вопрос: где вообще определено, что такое Reset_Handler? Ведь это имя откуда-то взялось? SciFi(111 знак., 27.08.2012 17:50 - 17:55)
- В стартапе. В startup_STM32F10XXX.s файле. Там таблица DCD Reset_Handler, DCD NMI_Handler. Они PUBWEAK, то есть ПАБЛИК, должны видеться. Для NMI и других векторов есть привязанные обработчики, для Ресета - нет. Поэтому на другие вектора можно Юра(47 знак., 27.08.2012 18:01, )
- по какому адресу пытаетесь прыгнуть? - koyodza(27.08.2012 18:04)
- для STM32 есть NVIC_SystemReset(); но если хочется именно на лыжах и в гамаке, то так ((void(*)(void))((void*)*((DWORD*)(0x08000004))))(); - koyodza(27.08.2012 18:05 - 19:23)
- Пошло при 0x08000004 для F100RB. - Юра(27.08.2012 18:36, )
- опечатка - то было для собственного бутлоадера. Исправил - koyodza(27.08.2012 19:23)
- Пошло при 0x08000004 для F100RB. - Юра(27.08.2012 18:36, )
- для STM32 есть NVIC_SystemReset(); но если хочется именно на лыжах и в гамаке, то так ((void(*)(void))((void*)*((DWORD*)(0x08000004))))(); - koyodza(27.08.2012 18:05 - 19:23)
- по какому адресу пытаетесь прыгнуть? - koyodza(27.08.2012 18:04)
- В стартапе. В startup_STM32F10XXX.s файле. Там таблица DCD Reset_Handler, DCD NMI_Handler. Они PUBWEAK, то есть ПАБЛИК, должны видеться. Для NMI и других векторов есть привязанные обработчики, для Ресета - нет. Поэтому на другие вектора можно Юра(47 знак., 27.08.2012 18:01, )
- Тогда наводящий вопрос: где вообще определено, что такое Reset_Handler? Ведь это имя откуда-то взялось? SciFi(111 знак., 27.08.2012 17:50 - 17:55)
- Это пока не важно. Надо научиться прыгнуть :) Потом обсудим почему он кривой. - Юра(27.08.2012 17:45, )
- Ну сверхзадача это массив указателей на функции. Среди них есть указатели на существующие функции, и есть позиции в массиве для будущих функций. Хотел бы поставить при попадании на них call Reset_Handler. Эта метка есть в стартапе. Там и Юра(297 знак., 27.08.2012 17:31, )
- &Reset_Handler? SciFi(51 знак., 27.08.2012 16:52)