亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? config.tex

?? 嵌入式文件系統 EFSL 0.3.5 / 嵌入式文件系統 EFSL 0.3.5
?? TEX
字號:
In this section we're going to talk about the configuration file (\filename{config.h}),that defines the behavior of the library. In the configuration files there are manysettings, most of which default to safe or 'standard' compliant settings.For every platform we try to deliver a sample configuration, with setting tweaked forthat architecture. This documentation only refers to the general elements which aretied to the library rather that the target hardware.\subsection{Hardware target}Here you will define what kind of hardware you will be using. Please refer tosection \ref{hwdriver} to learn how to write a hardware endpoint.Here you must \code{\#define} the name of your hardware endpoint.The following list contains the endpoints that the library ships with.\\\begin{tabular}{|l|p{8cm}|}	\hline	\code{HW\_ENDPOINT\_LINUX}& This endpoint uses a regular file as	a "disc" containing a filesystem. This is a great endpoint for	testing and debugging. All development is done using this emulation.\\	\code{HW\_ENDPOINT\_ATMEGA128\_SD}& This endpoint is for the Atmel ATMega 128	with an SD card attached to the SPI pins of the device. Several settings	that are specific for this endpoint can be found in the AVR sample 	configuration. A Makefile is also provided for compiling the EFSL library	using avr-gcc.\\	\code{HW\_ENDPOINT\_DSP\_TI6713\_SD}& This endpoint is for a TI DSP, it should	work with any McBSP port, due to the infinite amount of options, you should	refer to the source code of this endpoint for fine tuning, or selecting what	port to use (defaults to McBSP0).\\	\hline\end{tabular}\subsection{Memory configuration}This section only has one option, called \code{BYTE\_ALIGNMENT}. If you definethis keyword the library will assume that your CPU is capable of accessing thememory in any way it sees fit. This is the case on AVR, because they are 8 bitprocessors, and it is also the case on Intel x86 hardware. Both architectures can read and write words, or double words on any location in memory, be it word aligned or not.However, some CPU's, are not capable of doing this, and require that all double wordsare aligned on a double word boundary, and all word are aligned on a word boundary.This causes problems with some of the casts that are performed in EFSL. If you have sucha CPU, then you must comment this option out. The effect is that special functionswill be used to copy or cast memory. These functions work around the problem byusing memCpy, or manually copying elements of the structs that are normally cast when\code{BYTE\_ALIGNMENT} is defined.If you have an 8 bit architecture, or are running on PC, there is no need to turn thisoff. If you do, the library will work fine, and maybe even without slowdown.On architectures that do have the alignment problem, you should turn this flag off.Failure to do so will result in undefined behavior.\subsection{Cache configuration}This section is dedicated to configuring the cache memory for the library. Cachingis performed by the IOMan object, see section \ref{ioman}.\subsubsection*{IOMAN\_NUMBUFFER}This number determines how much memory will be used for caching. Since thisis sector based one \code{IOMAN\_NUMBUFFER} equals to 512 byes of memory, plusa small overhead in settings (approximately 8 bytes). This number is also affectedby \code{IOMAN\_NUMITERATIONS}. You should carefully consider how much memory you will dedicate to caching. A toolow number will cause excessive data transfer to and from the disc, where a too highnumber will simply be a waste of memory.A good rule of thumb is to use 1 buffer per filesystem you create, and 2 buffersper file you want to use simultaneously. So for a simple application withone filesystem, and one file operation, 2 or 3 buffers will be fine. If you have memoryto spare, you can use 6 buffers. Using more buffers will have a minimal effect onperformance.If you want to seek and rewrite portions of a file, add an extra buffer for that file.Using the list function or creating directories will be disc intensive, try to smoothenit by using an extra 3 buffer for either operation.It is perfectly possible to have multiple files op for reading and writing, on differentfilesystems, with listing etc and only using 1 buffer. It will be a tough blow onperformance though.\subsubsection*{IOMAN\_NUMITERATION}This number controls how many stack places each cache place gets. Refer to the IOMan section for an explanation. In short, if you only have 1 buffer, leave it at 3. If youuse more than 4 buffers try decreasing the number to 2 or 1 for a small memory gain.If you get errors, it means you have set it too low (see error support). It is bestto leave this at the default setting (do not increase it), unless you know what youare doing.\subsubsection*{IOMAN\_DOMEMALLOC}This configures how IOMan will get it's memory. If you leave it enable, the memory will be allocated by IOMan itself. That means that when you declare the IOMan objectit will have a member the size of $512 \cdot \mathrm{IOMAN\_NUMBUFFER}$. That also means that that huge lump of memory will reside on the stack. On a true embedded platform with no malloc, this is your best option.The last argument of \code{ioman\_init} will be ignored.If you comment this out,IOMan will take a \code{euint8*} pointer as it's thirdargument to \code{ioman\_init}. It will use the memory pointed to as cache.You will have to make sure it's reserved and of the correct size.This allows you to put the memory on the heap, or perform special tricks likedeallocating it without having to umount your filesystem and open files.On systems with malloc, this is the recommended setting. If you use the efs wrapper object, please look at the \code{efs\_init} documentationon how to pass the ioman pointer.\subsection{Pre-allocation}Our VFAT module supports the concept of pre-allocation. When writing files, forexample log files, it is usually done with tiny bits a time. That is not themost efficient way, but it is usually the only solution that works on embeddedsystems. Every time you cross a cluster boundary with your write, the library has to search a new cluster (reading the FAT), allocate it (write to the FAT).Clearly, this is a waste. The solution we came up with was preallocating. This meansthat when you write to a file, and fwrite sees that it needs to allocate more clusters,it will allocate too many of them. Since this is done in one operation, it requiresusually only one read and one write to the FAT. This can save up to 50\% disc I/Oin some applications. The drawback is that the allocation happens in larger chunks, if you do this withmany files, you might end up with larger than normal amounts of slackspace.We have also implemented this feature for directories. This is very useful if youhave to create a lot of small files, since the directories grow by larger portionsthen.\subsubsection*{CLUSTER\_PREALLOC\_FILE}This number determines the default value of extra clusters that will be allocatedwith every sizeincrease. For example, if fwrite calculates that it needs 7 clusters,and \code{CLUSTER\_PREALLOC\_FILE} is 30 then efsl will allocate 37 clusters.This means (assuming every write needs 7 clusters) that the next 4 writes won't require any write operation to the FAT (and due to the cluster cache the FAT will probably have to be read only once).The value you put here will be the default value, it can be changed per fileobject. (not yet implemented).\subsubsection*{CLUSTER\_PREALLOC\_DIRECTORY}The same explanation as above counts, only this value is used for directories.Generally you should not put this above 10 (unless your speed tests prove otherwiseoff course).\subsection{Endianness}The Microsoft FAT filesystem was originally created to be run on Intel compatible hardware.Therefore the Microsoft programmers decided to record all data on the disc in little endianformat. Our library supports running on big endian devices. Here you can select whether yourtarget CPU is little or big endian.Running on big endian will cause some performance lose because (rather simple) calculations haveto be made to all numbers that have to interpreted by the library. This does not apply todata within the files off course.If the flag \code{\#LITTLE\_ENDIAN} is set, efsl will assume that your hardware is little endian.If you have a big endian system, you should comment this out. The function \code{fs\_checkEndian}will tell you if you have selected the right endianness, this is a check you might want to use.\subsection{Date and time}This flag determines if you want to have date and time support. With date and time support wemean that when you create or update a file the directory entry will receive the correct date andtime stamp.Please refer to section \ref{dateandtime} to learn more about how this works.If you disable date and time support by commenting the \code{\#DATE\_TIME\_SUPPORT} thenall dates and times that need to be created or updated will be set to zero, which in FAT land corresponds to the first of January of the year 1970.\subsection{Errors}When the library encounters an error, there be an error cascade moving from the error-causing objectto the topmost object where the request started. Seen from userland this gives you extremely littleinformation, usually nothing more than fail or success.Every object in the library has an optional error field, that contains a unique number thatcorresponds to a specific error. If you examine every error field you can see exactly where theerror was started and what the effect was on the higher level objects.In a more practical sense you can display an error number or explanation to your users, givingyourself or them a better chance to correct or avoid the problem.Please see the section on error on what every value means.\subsection{Debug}This will turn debug support on or off. When enable (and your platform has a means of output thatis supported by EFSL) it you will see messages you have created yourself, or that are printed by thelibrary. By default the library is very silent, only very critical errors might get printed out.This option is depreciated and is left in for backward compatibility.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲1区2区3区视频| 国产精品成人一区二区艾草| 在线观看视频一区二区欧美日韩| 久久精品国产澳门| 日本aⅴ亚洲精品中文乱码| 亚洲高清不卡在线观看| 亚洲狠狠丁香婷婷综合久久久| 中文一区二区在线观看| 亚洲欧洲日韩av| 综合网在线视频| 最新国产精品久久精品| 亚洲精品成人悠悠色影视| 亚洲影院理伦片| 亚洲超丰满肉感bbw| 蜜臀av性久久久久蜜臀av麻豆| 一区二区三区美女视频| 午夜精品久久久久久不卡8050| 亚洲国产成人av网| 日韩不卡一区二区三区| 国产一区二区免费在线| www.欧美.com| 在线视频你懂得一区二区三区| 欧美日韩你懂得| 国产精品久久99| 一区二区三区四区亚洲| 亚洲国产日产av| 精品一区二区三区欧美| www.视频一区| 91.麻豆视频| 久久久久99精品一区| 亚洲人成电影网站色mp4| 日韩电影免费在线观看网站| 激情五月激情综合网| 色视频欧美一区二区三区| 欧美欧美欧美欧美首页| 欧美激情一区三区| 亚洲va欧美va人人爽| 国v精品久久久网| 欧美一区二区人人喊爽| 久久女同精品一区二区| 亚洲高清免费观看| 国产一区二区三区电影在线观看 | 欧美国产一区二区| 亚洲一区中文日韩| 国产成人8x视频一区二区 | 欧美一级欧美三级| 国产精品美女久久久久高潮| 日本视频中文字幕一区二区三区| 国产999精品久久| 欧美一卡二卡三卡| 亚洲一区二区三区中文字幕在线| 国产成人一区二区精品非洲| 欧美疯狂做受xxxx富婆| 国产精品久久久久aaaa樱花| 午夜影院久久久| 91免费看片在线观看| 国产日韩欧美不卡在线| 久久精品国产77777蜜臀| 欧美日韩久久久一区| 亚洲免费资源在线播放| 国产成人精品一区二| 精品国产制服丝袜高跟| 日本 国产 欧美色综合| 欧美三级日韩三级| 中文字幕在线观看一区二区| 国产精品18久久久久久vr| 欧美一区二区三区白人| 亚洲国产精品久久久男人的天堂 | 美腿丝袜在线亚洲一区| 欧美精品久久一区| 一级做a爱片久久| 色就色 综合激情| 中文字幕在线播放不卡一区| eeuss影院一区二区三区| 国产精品久久久久婷婷| 国产99久久久国产精品免费看| 精品国产乱码久久久久久蜜臀| 奇米888四色在线精品| 欧美一区二区久久| 麻豆视频观看网址久久| 日韩精品一区二区三区中文不卡| 日韩电影一区二区三区| 91精品国产综合久久久久久漫画 | 欧美mv日韩mv国产网站app| 日本v片在线高清不卡在线观看| 884aa四虎影成人精品一区| 国产a久久麻豆| 国产女人18水真多18精品一级做| 懂色一区二区三区免费观看| 国产精品久久久久毛片软件| 99视频一区二区三区| 悠悠色在线精品| 69久久夜色精品国产69蝌蚪网| 久久99蜜桃精品| 亚洲国产精品ⅴa在线观看| 色综合色狠狠综合色| 午夜久久久久久久久| 欧美成人欧美edvon| 国产在线观看免费一区| 亚洲婷婷国产精品电影人久久| 91国内精品野花午夜精品| 日韩av一级片| 精品国产免费一区二区三区四区| 成人不卡免费av| 一区二区三区鲁丝不卡| 精品国产sm最大网站免费看| 国产成人在线看| 亚洲3atv精品一区二区三区| 久久久噜噜噜久噜久久综合| av在线综合网| 日韩1区2区3区| 国产精品三级电影| 3d动漫精品啪啪一区二区竹菊 | 欧美视频在线一区| 精品中文字幕一区二区小辣椒| 国产精品久久久久久久久免费丝袜| 欧日韩精品视频| 国产成人激情av| 日韩vs国产vs欧美| 亚洲图片欧美激情| 337p粉嫩大胆噜噜噜噜噜91av| 在线看国产一区二区| 国产一区二区电影| 五月婷婷欧美视频| 亚洲色图.com| 久久久99免费| 日韩丝袜情趣美女图片| 色婷婷av久久久久久久| 国产99精品视频| 麻豆精品精品国产自在97香蕉| 亚洲最新视频在线观看| 欧美激情一区在线| 精品国产免费一区二区三区香蕉| 欧美日韩亚洲高清一区二区| jlzzjlzz亚洲女人18| 国产乱码一区二区三区| 奇米色777欧美一区二区| 亚洲国产你懂的| 亚洲欧美视频在线观看视频| 欧美激情综合在线| 国产视频在线观看一区二区三区| 欧美日韩激情在线| 91精品办公室少妇高潮对白| 91污片在线观看| 99热精品国产| 91丨九色丨尤物| av一二三不卡影片| 成人一区二区三区视频| 国产伦精一区二区三区| 国产成a人亚洲| 国产精品自产自拍| 国产激情一区二区三区四区 | 麻豆精品视频在线观看| 亚洲美女视频在线观看| 亚洲三级小视频| 久久精品无码一区二区三区| 日本中文一区二区三区| 夜夜嗨av一区二区三区网页 | 久久青草欧美一区二区三区| 亚洲精品视频一区| 国内精品第一页| 欧美午夜影院一区| 国产欧美1区2区3区| 美女视频一区在线观看| 95精品视频在线| 久久亚洲免费视频| 五月天一区二区| 91黄色免费版| 欧美韩日一区二区三区四区| 秋霞午夜av一区二区三区| 成人h动漫精品一区二区| 欧美高清视频一二三区 | 一本色道久久加勒比精品| 久久美女高清视频| 婷婷综合另类小说色区| caoporm超碰国产精品| 亚洲精品一区二区三区精华液| 午夜久久电影网| 欧美亚洲自拍偷拍| 国产精品嫩草影院av蜜臀| 韩国女主播一区| 日韩欧美国产1| 日本vs亚洲vs韩国一区三区二区 | 国产三级精品在线| 捆绑调教一区二区三区| 欧美日韩一区二区欧美激情| 亚洲婷婷在线视频| av亚洲精华国产精华精| 国产欧美日韩视频在线观看| 久久av资源网| 欧美成人猛片aaaaaaa| 日韩高清不卡一区| 欧美浪妇xxxx高跟鞋交| 亚洲高清中文字幕| 欧美在线不卡视频| 亚洲一二三四久久| 欧美偷拍一区二区| 日韩激情av在线| 日韩精品中文字幕在线一区| 男人的天堂久久精品|