Rst7 5 9 апреля, 2020 Опубликовано 9 апреля, 2020 · Жалоба Тут обнаружились интересные грабли. Если в вашем софте вы отключаете OCRAM (я, например, все доступное ОЗУ переключаю в режим ITCM/DTCM), то при любом не Power On-сбросе все повиснет. Не Power On Reset - это, например, срабатывание сторожевого таймера или софтовый сброс через регистр AIRCR, или через отладчик. Оказывается (это отражено в документации, понятное дело мелким шрифтом на одной из 3000 страниц мануала), что не POR (в терминах мануала - Cold reset) не сбрасывает в начальное состояние IOMUXC. Т.к. конфигурация ITCM/DTCM/OCRAM находится именно в регистрах IOMUXC, то при cold reset ядро стартует с измененной конфигурацией ОЗУ, а в Boot Rom'е колхозники забыли, что надо сначала инициализировать соответствующие регистры IOMUXC, а уже потом хоть что-то делать с ОЗУ (в конкретно Boot Rom'е первый же BL приводит к фатальным последствиям). На грабли эти я наступил отлаживая свой загрузчик, которому надо сделать сброс контроллера после обновления прошивки. Вроде бы ничего особо смертельного, восстановил перед насилованием AIRCR содержимое соответствующих регистров IOMUX - и все поехало, но, черт возьми, сторожевой таймер тоже не сбрасывает процессор. Только передергивание питания. Думаю, что такая история во всей линейке i.MX RT, а может и шире. Конкретно я работал с 1020. В общем, не наступите на грабли. Доклад окончен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 16 апреля, 2020 Опубликовано 16 апреля, 2020 · Жалоба а i.mx6? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 16 апреля, 2020 Опубликовано 16 апреля, 2020 · Жалоба Ну поглядите в документации, инициализирует ли там Cold Reset регистры, ответственные за конфигурацию TCM. Если нет - то, видимо, будет такая же жопа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergvks 0 20 января, 2021 Опубликовано 20 января, 2021 · Жалоба Нужно оставить хотя бы 64к OCRAM для нормальной работы загрузчика: Quote The OCRAM cannot be configured to 0 kB due to the boot ROM code requirements. The 64 KB of OCRAM represents the minimum system requirement. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться