рекомендуется ли использовать SPI fla sh для запуска кода вместо внутреннего fla sh из-за ограничения памяти внутреннего fla sh? - PullRequest
1 голос
/ 06 августа 2020

Мы использовали микроконтроллер семейства LPC546xx в нашем проекте, в настоящее время на начальном этапе мы дорабатываем программные и аппаратные требования. Базовый c размер прошивки (которая содержит RTOS, сторонний стек, библиотеку и т. Д. c ...) в настоящее время составляет 480 КБ. Теперь после разработки полного приложения размер будет превышать размер внутреннего fla sh (512 КБ), и, кроме того, нам потребуется хранилище, в котором можно отдельно хранить образ обновления прошивки.

Итак, мы планировали использовать SPI fla sh ( S25LP064A-JBLE, http://www.issi.com/WW/pdf/IS25LP032-064-128.pdf, серийный fla sh память) 4MB \ 8MB для загрузки и запуска прошивки.

рекомендуется ли запускать код из SPI fla sh? как я могу сопоставить внешнюю память fla sh непосредственно с пространством памяти процессора? Может ли кто-нибудь привести пример, содержащий это отображение памяти (сценарий компоновщика et c ..) или демонстрационное приложение, в котором LPC546xx использует SPI FLA SH?

1 Ответ

1 голос
/ 08 августа 2020

Вообще-то не рекомендуется, иначе говоря: чем ближе к процессору, тем лучше. Однако и S25LP064A, и LPC546xx поддерживают XIP, поэтому это жизнеспособно.

Это нетривиальная проблема, поскольку на нее влияют многие аспекты. Т.е. проблему лучше избегать, и ее действительно нужно было решить на этапе планирования. Встроенные системы больше связаны с компромиссом, чем с чем-либо другим, и для принятия правильного / лучшего выбора требуются навыки и опыт.

  • Тот же вопрос с ответами на форуме NXP: ссылка

512 КБ NVRAM огромны. Почти наверняка есть возможности для оптимизации, даже если используются сторонние библиотеки.

В связи с этим обсуждение XIP должно дать ценную информацию: ссылка .

Я настоятельно рекомендую использовать файловые системы, если это еще не сделано, для которых гораздо лучше подходят внешние хранилища. Чем дальше от вычислительного блока, тем актуальнее. Это не XIP, и наказание - копирование в RAM в любом случае. Т.е. производительность будет медленнее. Но по моему опыту, потребность в скорости часто не учитывалась полностью и, по крайней мере, частично сильно переоценивалась.

Что касается вашего упоминания RTOS и обновления прошивки:

  • Если это не плохая ОСРВ, в нее встроена поддержка файловой системы . Специально для обновления встроенного ПО (примечание: вам понадобится место для 3 образов, включая возврат к заводским настройкам), если он еще не поддерживается So C -продавец другими способами (OTA), это сделает жизнь намного проще и менее рискованной. Если нет поддержки FS, ее можно добавить.

  • Для обновления FW требуется много дополнительного хранилища. Больше, если проще. Однако проще безопаснее , что особенно важно для обновлений FW. В простейшем случае (двоичное плоское изображение) вам понадобится как минимум вдвое больше памяти, которую вы уже потребляете.

В целом: я думаю, вы «собираться» жизнеспособно и в зависимости от реальной ситуации, возможно, ваш единственный выбор.

...