اجرای کد برنامه از حافظه خارجی

سلام
توی پروژه ای حافظه فلش میکرو کم اوردم و بخاطر قیمت بالای میکرو هایی که حافظه بیشتر دارن توی فکر استفاده از حافظه فلش خارجی افتادم.
هدفم اینه که کد برنامه رو بعد کامپایل روی یک حافظه خارجی پروگرام کنم و میکرو از اون حافظه برای اجرای کد برنامه استفاده کنه.
کسی تجربه ای داره؟

سلام دوست عزیز
برخی میکروکنترلرها که قابلیت مپ کردن حافظه خارجی رو داشته باشند قادر هستند که این امکان رو به شما بدهند، میکروکنترلرهایی مثل RP2040 یا ESP32 اما در خانواده ST باید به دنبال خانواده ای باشید که قادر به map کردن حافظه خارجی را داشته باشند در این صورت می توانید کد را در حافظه خارجی قرار دهید و بعد از مپ کردن حافظه در حافظه داخلی آن را اجرا کنید که فکر میکنم سری های خاص این خانواده قادر به چنین کاری باشند، به عنوان نمونه مثلا اگر از سریی استفاده کنید که قادر به پشتیبانی RAM خارجی هستند شما به راحتی برنامه میتوانید در هنگام بوت در این حافظه بارگذاری کنید و سپس آن را اجرا کنید
تنها نکته این قضه map شدن حافظه است !

2 پسندیده

حدود قیمت nand flash بالای 100 تومن شروع میشه و در عین حال خیلی هم بزرگن و فضای زیادی میخوان و قیمت pcb هم رفته بالا که اینجوری استفاده از همون میکرو قویتر به صرفه تر هستش

اما قیمت nor flash ها مثل w25qxx ها خیلی پایینه و در عین حال خیلی هم کوچیک هستن که صرفه اقتصادی داره.

سوال:

فقط از آی سی های فلش مدل nand flash میشه برای اینکار استفاده کرد؟
ای سی های nor flash مثل w25qxx هم قابلیت همچین استفاده ای رو دارن؟

ببینید از nor flash هم میشه استفاده کرد ولی میکروباید قابلیت مپ کردن حافظه رو داشته باشه که متاسفانه سری میکروکنترلرهای st فکر نکنم این قابلیت رو داشته باشن ولی میکروهای دیگری هستن که این قابلیت رو داشته باشن که قبلا هم ذکر کردم
البته اگر به اندازه کافی رم داشته باشید میتونید برنامه روی رم بارگذاری کنید و اجرا کنید

1 پسندیده

با نکته ای که گفتین بررسی کردم دیدم خانواده STM32MPxx امکان پشتیبانی از چند مدل حافظه به عنوان فلش رو دارن اما از لحاظ قیمتی برای من همون میکروهای رایج بازار با حافظه بیشتر مناسبترن.

متشکرم


سری STM32MP1xx از لینوکس هم پشتیبانی میکنه.
دو هسته ای هستن یه Cortex M4 با فرکانس حدود 200Mhz و یه A7 داره و فرکانشون هم بالای 600Mhz هست.

سلام … همه میکروکنترلرهایی که QSPI دارن میتونن کد رو از حافظه QSPI یا همون W25QXX اجرا کنن … که شامل میکروکنتلرهای ST هم میشه … سری های STM32F469 و به بالا تقریبا میشه … مثلا H730 یا H750V برای همین کارهای هستن

2 پسندیده

ممنون بابت راهنمایی


شاید لینک زیر بکار بقیه بیاد:

http://www.emcu.eu/how-to-program-an-external-qspi-connected-to-the-stm32/

چه خوب - من اسمش رو شنیده بودم ولی فرصت نشده بودم به اپلیکیشنش نگاه کنم الان چک کردم درست میگن دوستمون و این قابلیت رو داره :slight_smile:

1 پسندیده