У меня есть микроконтроллеры PIC18 и PIC24 с 256 КБ флэш-памяти.
Размер моего кода составляет 400 КБ, и его больше нельзя хранить во флэш-памяти этих микроконтроллеров. Поэтому я думаю об использовании внешней флэш-памяти для хранения программного кода.
Могу ли я сохранить свой исполняемый файл на внешней флэш-памяти и запустить его оттуда? Как мне это сделать?
Существуют модели PIC24 и dsPIC33 с флэш-памятью 512 КБ.
PIC18F8622 и 8722, а также некоторые другие PIC18F (например, 87J50, 97J60) имеют интерфейс внешней шины, туда можно поставить параллельную флэш-память (типа 29xx), а внешняя шина может адресовать до 2 МБ.
Из таблицы видно, что это можно использовать для хранения программного кода:
Шина внешней памяти (EMB) позволяет устройству получать доступ к устройствам внешней памяти (таким как Flash, EPROM, SRAM и т. д.) в качестве памяти программ или данных .
Использование других типов интерфейса для подключения к внешней флэш-памяти может быть проблематичным, поскольку вы не сможете запустить код непосредственно из флэш-памяти, вместо этого вам придется скопировать код в ОЗУ перед его запуском, но, поскольку эти микроконтроллеры имеют чрезвычайно ограниченные ресурсы оперативной памяти, это серьезно ограничило бы полезность такого решения (вам пришлось бы реализовать какую-то технику подкачки/наложения).
Вот инструмент выбора продукта Microchip, позволяющий искать модели с определенными функциями: http://www.microchip.com/maps/microcontroller.aspx
м.Алинь
Воутер ван Оойен
шайль корат