Rst7 0 Posted April 9, 2020 · Report post Тут обнаружились интересные грабли. Если в вашем софте вы отключаете 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. В общем, не наступите на грабли. Доклад окончен. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jenya7 0 Posted April 16, 2020 · Report post а i.mx6? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Rst7 0 Posted April 16, 2020 · Report post Ну поглядите в документации, инициализирует ли там Cold Reset регистры, ответственные за конфигурацию TCM. Если нет - то, видимо, будет такая же жопа. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sergvks 0 Posted January 20, 2021 · Report post Нужно оставить хотя бы 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. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...