vts 0 29 июня Опубликовано 29 июня · Жалоба Добрый день! Проблема при работе с EEPROM на контроллере stm32l152rc даже при чтении. Использую IAR 8.3. Инициализирую глобальные переменные __no_init uint32_t qwer @".eeprom"; и uint32_t rewq; В main пишу стороку rewq = qwer; перед основным циклом и с этого момента начинается не пойми чего, но только не то что надо. Как будто все таймеры, запускающиеся позже перестают работать. Если эту сторку закоментировать, то все работает нормально. Ядро контроллера работает на 1.5 в при частоте от MSI 2.097 МГц. Тактирование блока EEPROM или что-нибудь наподобе EEPROM_enable bit в каком-нибудь регистре не нашел. Пробовал разлочить (хотя в этом вроде нет необходимости) - не помогает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 29 июня Опубликовано 29 июня · Жалоба 7 минут назад, vts сказал: с этого момента начинается не пойми чего, но только не то что надо Вы написали страшное заклинание вызова Ктулху, и именно поэтому творится непойми что. 8 минут назад, vts сказал: rewq = qwer; - это оно и есть, заклинание вызова зеркального Ктулху Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 214 29 июня Опубликовано 29 июня · Жалоба Открыть мануал на контроллер; прочитать раздел про EEPROM; проинициализировать её регистры конфигурации нужными значениями. После этого можно её читать/писать. Также проверить, что секция ".eeprom" ложится по физическим адресам EEPROM вашего МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться