کار با ایسی های حافظه در STM32 با littleFS (بخش دوم)

blog
۱۴۰۱-۰۵-۱۳
3 دقیقه

در بخش قبل به معرفی Spi Flash و کاربرد هایش پرداختیم همچنین با راه اندازی و نحوه ارتباط با آن اشنا شدیم همچنین به صورت کوتاه به lfs و مزیت آن نسبت به بقیه fileSystem ها پرداختیم. در این بخش کار با ایسی های حافظه در STM32 با littleFS را آموزش داده و با کانفیگ و راه اندازی آن آشنا می‌شویم.

 

کتابخانه LittleFS

ابتدا کتابخانه littleFS را دانلود کنید، سورس فایل‌ها و هدر آن را به پروژه اضافه کنید.

در فایل lfs_util.h  قابلیت های lfs مانند تصویر زیر تنظیم کنید.

کار با ایسی های حافظه در STM32 با littleFS (بخش دوم)

  • LFS_YES_TRACE  فعال کردن TRACE برای دیباگ کردن
  • LFS_NO_MALLOC  غیر فعال کردن استفاده از حافظه پویا

 

استراکچرها و بافرهای littleFS

 

آرایه‌ها برای نوشتن و خواندن در فایل‌ها

 

ایجاد ارتباط بین توابع spi flash و littleFS

به کمک کد زیر توابعی که برای w25q نوشتیم را به lfs معرفی می‌کنیم.

اگر به جای w25q قصد داشتید از Fhash داخلی میکرو (یا spiFlash دیگری) استفاده کنید، کافی است توابع erase, read, write مربوطه را قرار دهید.

کانفیگ کردن lfs

  •     read_size  (سایز صفحات ایسی) = 256
  •     prog_size (سایز صفحات ایسی) = 256
  •     block_size  (سایز سکتور ایسی(تعداد بایت)) = 4096
  •     block_ count تعداد سکتور موجود در ایسی مثلا w25q16 تعداد بلاک‌ها 512 می‌باشد
  •     cache_size برابر است با read_size
  •     lookahead_size حاصل block_ count /8

 

دیباگ در littleFS

جهت استفاده از قابلیت دیباگ lfs باید تابع printf را به uart میکروکنترلر ریدایرکت کنیم  زیرا trace ها در lfs از printf استفاده می‌کنند.

کار با ایسی های حافظه در STM32 با littleFS (بخش دوم)

کار با ایسی های حافظه در STM32 با littleFS (بخش دوم)

برای اینکار ابتدا uart سخت افزاری را کانفیگ می‌کنیم.

برای ارسال یک بایت دیتا از ریجستر tdr استفاده می‌کنیم

 

نحوه ریدایرکت کردن printf در keil

در پنجره اصلی برنامه Keil، گزینه Project را انتخاب می‌کنیم و از بخش Manage زیر منو Run-Time Environment را کلیک می‌کنیم. در پنجره باز شده از زیرمنوی Compiler پارامتر STDOUT را تغییر می‌دهیم:

printf keil

سپس یک عدد template  جدید ایجاد می‌کنیم:

printf keil

کد زیر را در آن قرار میدهیم

اکنون توانسیم ریجستر trd را به printf اتصال دهیم و از قابلیت‌های آن استفاده کنیم.

 

کد تست littleFS

کد زیر را در داخل فایل main قرار دهید، و برنامه را کامپایل کنید.

اکنون در صورتی که تمام کانفیگ‌ها درست باشند، Little پیغام زیر را میدهد.

littlefs stm32 w25q

 

 نمونه کد برای خواندن فایلی که ایجاد کردیم:

 

به این صورت کار با ایسی های حافظه در STM32 با littleFS را یاد گرفتیم و تشکر ویژه ای داریم از جناب آقای مهندس کاوه رفیعی برای تهیه این سری آموزشی.

اطلاعات
6
0
لینک و اشتراک
profile

Mahdi.h  

متخصص الکترونیک

علاقه مند به سیستم های امبدد | http://mahdi2001h.ir

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
J گفت :
۱۴۰۲-۰۱-۱۸ ۱۳:۵۱

با تشکر از مطلب خوبتون،
لطفا توضیح میفرمایید که که هرکدام از تیکه هایی که فرمودین باید به کدام فایل اضافه بشه؟

profile
Mahdi.h   گفت :
۱۴۰۲-۰۱-۱۹ ۰۹:۵۳

خواهش میکنم
اگر با دقت بیشتری بررسی کنید همه مراحل لازم در مطلب ذکر شده

profile
نیما گفت :
۱۴۰۱-۰۵-۱۶ ۱۱:۲۳

باسلام و تشکر فراوان بابت مطلب و سایت خوبتون
بنظرم بهتر باشه یک مقدار در مورد کدها توضیح هم داده بشه
الآن فقط کاربری کتابخانه گفته شده
مثلاً من متوجه نشدم مزیت فایل سیستم به نسبت نوشتن توابع خواندن و نوشتن بصورت مستقل چیه؟!

profile
Mahdi.h   گفت :
۱۴۰۱-۰۵-۱۶ ۱۱:۲۸

سلام خواهش میکنم.
نکته اول رو موافقم?
اما در مورد نکته دوم ، توی قسمت قبل این نکات توضیح داده شده ، اون رو هم بررسی کردید ؟!
https://sisoog.com/2022/07/24/spiflash-littlefs-1/

profile
احمد گفت :
۱۴۰۱-۰۵-۱۳ ۲۲:۲۳

بسیارعالی، مطلب جالبی بود.

profile
Mahdi.h   گفت :
۱۴۰۱-۰۵-۱۴ ۱۳:۲۵

??

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله