gzigzeo (08.01.2009 14:58, просмотров: 4887)
Пытаюсь вот на MSP430F169 сделать возможность перепрошивки флеш МК с внешней EEPROM (AT24C512). Протокол обмена разумеется i2c. Я разместил код всех используемых при перефлешовке функций (чтение в буфер из EEPROM, побайтная запись в флеш) в верхних адресах памяти в сегменте, который не перезаписывается и запускаю их прямо из флеш. Проблема состоит в том, что при компиляции функции чтения (unsigned char read_block_64(unsigned char *BufPtr ,unsigned int eepromAddress,unsigned char DevAddr,unsigned char count)) используются участки кода, размещаемые в перезаписываемой части флеш (по меткам ?Epilogue3, 4, 6, 8), и после стирания этой области флеш функция чтения из EEPROM не работает. Вопрос в том, можно ли заставить ИАР размещать вышеописаные участки кода в "безопасной" области памяти?