Всем добрый день.
Для камня STM32F407 взял эмулятор EEPROM с сайта st. Вложил в свой проект с оригинальными настройками как в примере. Всё вроде как работает нормально. Но там EEPROM эмулируется во втором и третьем секторах FLASH памяти (которые по 16к). Я в своём проекте перенёс эмуляцию EEPROM в первые два сектора и соответственно сдвинул таблицу векторов прерывания на второй сектор:
Код
define symbol __ICFEDIT_intvec_start__ = 0x08008000; (в stm32f4xx_flash.icf)
#define VECT_TAB_OFFSET 0x8000 (в system_stm32f4xx.c)
Необходимые изменения внёс в eeprom.h.
В своём проекте в начале вставил пример записи трёх переменных в память. Всё как бы работает, НО только с отладчиком из IAR контроллер стартует как надо. Если сделать сброс кнопкой, то уже не стартует.
Я пока перенёс эмуляцию EEPROM в последние два сектора, но они по 128к и откусывать пол флеша как-то не охота. В такой конфигурации всё работает как надо.
Чувствую, что надо указать в прерывании сброса откуда стартовать программе. Помогите разобраться с проблемкой.
Спасибо.