Как узнать размер Flash и оперативной памяти, используемой прошивкой?
Пожалуйста, помогите мне найти размер Flash(ROM) и RAM, используемых прошивкой. Прошивка реализована с использованием C++. Также у меня есть Keil microvision4; Будет ли полезно найти размер ПЗУ и ОЗУ?
ИЛИ мне нужно посмотреть файл прошивки MAP(.M51), чтобы найти размеры памяти? ИЛИ просто указать размер файла шестнадцатеричных файлов (.hex) достаточно для определения размера ПЗУ?
1 ответ
Решение
Несколько комментариев:
- Размер шестнадцатеричного файла не дает много информации. Например: он не будет обеспечивать использование оперативной памяти. Он может даже не сказать вам размер изображения, поскольку он находится на устройстве (пишете ли вы на NOR и NAND flash? Каковы размеры блока вспышки и т. Д.)
- Файл карты - хороший инструмент для понимания структуры и размеров памяти. Он должен предоставлять всю информацию о распределении сегментов. Менеджер проекта Keil довольно хорош, поэтому проверьте параметры сборки, чтобы убедиться, что вы генерируете подробный файл карты.
- Посмотрите на ваш файл директивы компоновщика, чтобы убедиться, что вы понимаете, как эти сегменты (bss, data и т. Д.) Распределяются и располагаются в памяти.
- Обратите внимание, что файл карты не будет содержать много информации, касающейся динамического (кучи) выделения памяти.