Как узнать размер Flash и оперативной памяти, используемой прошивкой?

Пожалуйста, помогите мне найти размер Flash(ROM) и RAM, используемых прошивкой. Прошивка реализована с использованием C++. Также у меня есть Keil microvision4; Будет ли полезно найти размер ПЗУ и ОЗУ?

ИЛИ мне нужно посмотреть файл прошивки MAP(.M51), чтобы найти размеры памяти? ИЛИ просто указать размер файла шестнадцатеричных файлов (.hex) достаточно для определения размера ПЗУ?

1 ответ

Решение

Несколько комментариев:

  1. Размер шестнадцатеричного файла не дает много информации. Например: он не будет обеспечивать использование оперативной памяти. Он может даже не сказать вам размер изображения, поскольку он находится на устройстве (пишете ли вы на NOR и NAND flash? Каковы размеры блока вспышки и т. Д.)
  2. Файл карты - хороший инструмент для понимания структуры и размеров памяти. Он должен предоставлять всю информацию о распределении сегментов. Менеджер проекта Keil довольно хорош, поэтому проверьте параметры сборки, чтобы убедиться, что вы генерируете подробный файл карты.
  3. Посмотрите на ваш файл директивы компоновщика, чтобы убедиться, что вы понимаете, как эти сегменты (bss, data и т. Д.) Распределяются и располагаются в памяти.
  4. Обратите внимание, что файл карты не будет содержать много информации, касающейся динамического (кучи) выделения памяти.
Другие вопросы по тегам