FatFs
FATFs એ માઇક્રોકન્ટ્રોલર્સ અને એમ્બેડેડ સિસ્ટમ્સ માટે હળવી સોફ્ટવેર લાઇબ્રેરી છે જે FAT/exFAT ફાઇલ સિસ્ટમ સપોર્ટનો અમલ કરે છે. શુદ્ધ એએનએસઆઈ સી પર લખાયેલ, એફએટીએફ પ્લેટફોર્મ-સ્વતંત્ર છે અને 8051, પીઆઈસી, એવીઆર, એઆરએમ, ઝેડ80 જેવા ઘણા હાર્ડવેર પ્લેટફોર્મ પર પોર્ટ કરવા માટે સરળ છે. ફેટએફની રચના થ્રેડ-સેફ તરીકે કરવામાં આવી છે અને તે ચિબીઓસ, આરટી-થ્રેડ અને ઝેફિર રીઅલ-ટાઇમ ઓપરેટિંગ સિસ્ટમ્સમાં બનાવવામાં આવી છે. મોટેભાગે, એફ. ટી. એફ. નો ઉપયોગ લો-પાવર એમ્બેડેડ સિસ્ટમ્સમાં થાય છે જ્યાં મેમરી મર્યાદિત હોય છે, કારણ કે લાઇબ્રેરી રેમ અને પ્રોગ્રામ કોડમાં થોડી જગ્યા લે છે. લઘુતમ સંસ્કરણમાં, કાર્યકારી કોડ 2 થી 10 કે. બી. રેમ લે છે. ઝાંખી FATFs એ ફાઇલસિસ્ટમ સ્તર તરીકે રચાયેલ છે જે તેની સાથે ઉપયોગમાં લેવાતા પ્લેટફોર્મ અને સંગ્રહ માધ્યમો માટે અજ્ઞેયવાદી છે. આ મીડિયા એક્સેસ ઇન્ટરફેસ પ્રદાન કરીને પ્રાપ્ત થાય છે જેનો ઉપયોગ અમલીકરણકર્તા દ્વારા પ્રદાન કરવામાં આવેલા સંગ્રહ ઉપકરણ નિયંત્રણ મોડ્યુલ સાથે વાતચીત કરવા માટે થાય છે. આનો અર્થ એ છે કે જો અમલકર્તા નિયંત્રણ મોડ્યુલ ઇન્ટરફેસ પ્રદાન કરે તો FATFs કોઈપણ પ્લેટફોર્મ પર SD કાર્ડ અથવા હાર્ડ ડિસ્ક જેવા કોઈપણ ભૌતિક ઉપકરણ સાથે કામ કરી શકે છે જે સાદા C કોડ ચલાવી શકે છે. આર્કિટેક્ચર FATFs લાઇબ્રેરી આર્કિટેક્ચર તાર્કિક રીતે વપરાશકર્તા એપ્લિકેશનના અમૂર્ત અને પ્લેટફોર્મ-આધારિત કોડને અલગ કરે છે. અમલીકરણકર્તા દ્વારા વપરાશકર્તા એપ્લિકેશન અને નિમ્ન સ્તરની ડિસ્ક I/O સ્તર (ડ્રાઇવર) ઉમેરવી આવશ્યક છે. ઉપરાંત, લાઇબ્રેરીનું આર્કિટેક્ચર સૂચવે છે કે સિસ્ટમમાં વિવિધ ડ્રાઇવરો સાથે ઘણા સંગ્રહ ઉપકરણો હોઈ શકે છે અને લાઇબ્રેરી મલ્ટી-થ્રેડેડ ઓપરેટિંગ સિસ્ટમમાં કામ કરી શકે છે. એપ્લિકેશન સ્તરે તે છુપાયેલું છે કે કયા ભૌતિક માધ્યમોનો ઉપયોગ થાય છે. ઓછામાં ઓછા અમલીકરણમાં, ડ્રાઇવર લેયર ઓછામાં ઓછા આ 3 ઇન્ટરફેસોને સપોર્ટ કરતું હોવું જોઈએઃ ડિસ્ક _ સ્ટેટસ-રીટર્ન બ્લોક ઉપકરણની સ્થિતિ (પ્રારંભિક, ગુમ થયેલ, સંરક્ષિત, તૈયાર નહીં) ડિસ્ક _ ઇનિશિયલાઈઝ-ભૌતિક ડિસ્કમાંથી ભૌતિક ડિસ્ક _ રીડ-રીડ બ્લોકને પ્રારંભ કરો અમૂર્તતાનું આ સ્તર અમલકર્તાઓને એકવાર એપ્લિકેશન લખવાની મંજૂરી આપે છે, અને પછી તેને વિવિધ પ્લેટફોર્મ્સ પર પોર્ટ કરે છે, ફક્ત ડ્રાઇવરના અમલીકરણને બદલે છે. લાઇસન્સ FATFs પાસે BSD લાઇસન્સ જેવું જ તેનું પોતાનું લઘુતમ લાઇસન્સ છે. તે સ્રોત કોડ જાહેર કર્યા વિના વ્યાપારી ઉત્પાદનોમાં ઉપયોગની મંજૂરી આપે છે. સ્રોત કોડના પુનઃવિતરણના કિસ્સામાં કૉપિરાઇટ નોટિસ રાખવાની એકમાત્ર શરત છે. FATF લાઇસન્સની શરતો દ્વિસંગી સ્વરૂપમાં કોઈપણ પુનઃવિતરણને આવરી લેતી નથી, જેમ કે એમ્બેડેડ કોડ અને હેક્સ ફાઇલો. માઇક્રોકન્ટ્રોલર્સ માટે STM32 એમસીયુના ચિબીઓસ/આરટી-ઓપન-સોર્સ રીઅલ-ટાઇમ ઓપરેટિંગ સિસ્ટમ (આરટીઓએસ) માટે આર્ડિનો પ્લેટફોર્મના પોર્ટ-ફેટએફએસ આર્ડિનો (STM32Duino) નો ઉપયોગ કરતા પ્રોજેક્ટ્સ ડ્રીમશેલ-સેગા ડ્રીમકાસ્ટ વિડિયો ગેમ કન્સોલ ફ્લિપર ઝીરો માટે રચાયેલ યુનિક્સ જેવી ઓપરેટિંગ સિસ્ટમ-ઓપન સોર્સ પોર્ટેબલ મલ્ટી-ટૂલ ડિવાઇસ માર્લિન (ફર્મવેર)-3D પ્રિન્ટરો અને CNC મશીનો માટે ઓપન સોર્સ ફર્મવેર ESP-IDF-ESP32 સિરીઝના પ્રુસા મિની માટે સત્તાવાર આઇઓટી ડેવલપમેન્ટ ફ્રેમવર્ક-ઓછી કિંમતના 3D પ્રિન્ટર માટે ઓપન-સોર્સ ફર્મવેર RT-થ્રેડ-ઓપન-સોર્સ રીઅલ-ટાઇમ ઓપરેટિંગ