Атмег 0 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба В том-то и дело, что читает не ядро непосредственно, а контроллер флеш в свои внутренние буферы. И узнать, чем он занимается в данный момент, не представляется возможным. Ну да, верно. Строка-то, по сути, бессмысленная. Код исполняется из флеши, значит EEFC уже инициализирован загрузчиком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба Если программа стартует из флеш, то загрузчик не задействуется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Атмег 0 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба Если программа стартует из флеш, то загрузчик не задействуется. Имел в виду rom boot. А что инициализирует этот регистр? При загрузке из флеши он проинициализирован. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба Имел в виду rom boot. Процессор всегда стартует с нулевого адреса. Там может быть отмаплена флеш, если GNPVM 1 установлен, или ROM, если сброшен. В первом случае никакого лишнего кода не выполняется. А что инициализирует этот регистр? При загрузке из флеши он проинициализирован. В документации прописано значение по сбросу - 0x0. У вас оно отличается? Если да, то как смотрите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Атмег 0 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба Процессор всегда стартует с нулевого адреса. Там может быть отмаплена флеш, если GNPVM 1 установлен, или ROM, если сброшен. В первом случае никакого лишнего кода не выполняется. В документации прописано значение по сбросу - 0x0. У вас оно отличается? Если да, то как смотрите? Да, правда, загрузчик то непричем. Отличается, смотрю отладчиком, хотите сказать, он и инициализирует? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 8 апреля, 2011 Опубликовано 8 апреля, 2011 · Жалоба Отличается, смотрю отладчиком, хотите сказать, он и инициализирует? Скорее всего так и есть, посмотрите его скрипты. Я, конечно, не смотрел дефолтное значение, но оснований не доверять даташиту нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Атмег 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Да, вы были правы, действительно дело оказалось EEFC_FMR, но не в самом факте записи в регистр*, а в том что писалось туда 2 цикла, а при заданной частоте должно быть 3. Вроде пока сбоев не наблюдаю, видимо, в этом и было дело. Но Атмел реабилитирован лишь частично, это все из их стартапа пошло, второй раз уже с этим сталкиваюсь именно у Атмела (в прошлый раз была ошибка примере инициализации SDRAM). Именно так было в стартапе, частота выставлена 48 МГц, а в EEFC_FMR - 0х1, то есть два цикла. *Изначально в регистре 0х0, то есть 1 цикл на чтение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Но Атмел реабилитирован лишь частично, это все из их стартапа пошло, второй раз уже с этим сталкиваюсь именно у Атмела (в прошлый раз была ошибка примере инициализации SDRAM). Я их код перестал смотреть со времен M40800, ибо просто мусор. Поэтому и претензий не имею :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Haamu 0 11 апреля, 2014 Опубликовано 11 апреля, 2014 · Жалоба Код для STM32F101BT6 написаный на Си под IAR через определеное время работы по непонятным причинам вылетает в HardFaultException(void). Из флагов выставелся FORCED в HFSR регистре, и IBUSERR в регистре CFSR. Все что в доке нашел, что проблема с шиной. Но какая? Подскажите, как найти где в коде я накосячил. Какие регистры смотреть, что анализировать? Аналогичная ситуация, разве что контроллер STM32F407. Подскажите, в чем проблемма? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 11 апреля, 2014 Опубликовано 11 апреля, 2014 · Жалоба Подскажите, в чем проблемма?Поднимите глаза и перечитайте сообщение 37. У Атмег проблема была в недостаточном количестве тактов ожидания в контроллере флеша. Ваш же код на отладочной плате работает, значит 100% проблема в вашей аппаратной части - разводке и схеме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться