Я провел обширный поиск по веб-форумам, Reddit, GitHub, X (Twitter) и официальной документации Artery, включая заметки по применению операций с флэш-памятью. Я не нашел пользовательских отчетов, конкретно описывающих зависание CPU во время записи в встроенную флэш-память на микроконтроллерах Artery AT32, когда код выполняется из встроенной RAM.
Микроконтроллеры Artery AT32 разработаны для высокой совместимости с STM32, и аналогичные проблемы хорошо задокументированы для устройств STM32. Например, во время операций записи/стирания флэш-памяти CPU может зависать, если пытается читать из флэш (например, извлекать инструкции или данные), поскольку интерфейс флэш блокирует шину. Однако, если соответствующий код (включая функцию записи во флэш и любые циклы ожидания завершения) полностью перемещен и выполняется из RAM, без параллельного чтения из флэш, CPU не должен зависать.
Заметка по применению флэш от Artery описывает операции записи, требующие последовательностей разблокировки, проверок статуса и состояний ожидания на основе системной частоты, но не упоминает какого-либо уникального поведения с зависанием при выполнении из RAM. Если вы наблюдаете это в своей настройке, это может быть связано с непреднамеренными обращениями к флэш (например, таблицы данных или прерывания, ссылающиеся на флэш) или несоответствием конфигурации — рассмотрите проверку перемещения кода и арбитража шины в справочном руководстве Artery или примерах BSP. Если это новое открытие, поделитесь деталями на форумах, таких как Reddit's r/embedded или EEVblog, чтобы подтвердить, сталкиваются ли с этим другие.