Димон Безпарольный 2 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба Из документации читаю: Quote The Flash memory is divided into two banks allowing read-while-write operations. This feature allows to perform a read operation from one bank while an erase or program operation is performed to the other bank. В микроконтроллере всего 2 банка. В мегабайтном варианте первый заканчивается адресом 0x0807 FFFF. Значит если бутлоадер выполняется в первом банке, для программирования доступен только второй. Я же вижу https://www.feaser.com/openblt/doku.php?id=manual:design что пользовательская программа располагается сразу за бутлоадером в первой свободной двухкилобайтной странице. Как тогда это работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 64 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 41 минуту назад, Димон Безпарольный сказал: allows to perform a read operation from one bank while an erase or program operation is performed to the other bank "пока идёт стирание или запись в один банк, из другого банка есть возможность читать", т.е. можно одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 5 часов назад, Димон Безпарольный сказал: пользовательская программа располагается сразу за бутлоадером в первой свободной двухкилобайтной странице. Как тогда это работает? Читайте отсюда и далее. Там это обсуждается с разных сторон, как и почему работает загрузчик при записи/стирании флеш-памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 6 января, 2021 Опубликовано 6 января, 2021 (изменено) · Жалоба Насколько понял от сюда, https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=159180&page=3&tab=comments#comment-1728612 «During a write operation to the Flash memory, any attempt to read the Flash memory will stall the bus. The read operation will proceed correctly once the write operation has completed. This means that code or data fetches cannot be made while a write/erase operation is ongoing. For write and erase operations on the Flash memory (write/erase), the internal RC oscillator (HSI) must be ON» Это stall не является ошибкой. Просто ожиданием. Но реализации у контроллеров бывают разные. https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=159180&page=4&tab=comments#comment-1728702 так что может и вывалится в HF. В stm32L476 работает. Изменено 6 января, 2021 пользователем Димон Безпарольный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться