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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? index.html

?? 采用fat格式對sd卡進(jìn)行操作
?? HTML
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>sd-reader: MMC/SD card example application</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.5 --><div class="navigation" id="top">  <div class="tabs">    <ul>      <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>      <li><a href="modules.html"><span>Modules</span></a></li>      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>      <li><a href="files.html"><span>Files</span></a></li>    </ul>  </div></div><div class="contents"><h1>MMC/SD card example application</h1><p>This project is a small test application which implements read and write support for MMC and SD cards. It includes<ul><li>low-level <a class="el" href="group__sd__raw.html">MMC read/write routines </a></li><li><a class="el" href="group__partition.html">partition table support </a></li><li>a simple <a class="el" href="group__fat16.html">FAT16 read/write implementation </a></li></ul><h2><a class="anchor" name="circuit">The circuit</a></h2>The curcuit board is a self-made and self-soldered board consisting of a single copper layer and standard DIL components, except of the MMC/SD card connector.<p>The connector is soldered to the bottom side of the board. It has a simple eject button which, when a card is inserted, needs some space beyond the connector itself. As an additional feature the connector has two electrical switches to detect wether a card is inserted and wether this card is write-protected.<p>I used two microcontrollers during development, the Atmel ATmega8 with 8kBytes of flash, and its pin-compatible alternative, the ATmega168 with 16kBytes flash. The first one is the one I started with, but when I implemented FAT16 write support, I ran out of flash space and switched to the ATmega168.<h2><a class="anchor" name="pictures">Pictures</a></h2><div align="center"><img src="pic01.jpg" alt="pic01.jpg"><p><strong>The circuit board used to implement and test this application.</strong></p></div> <div align="center"><img src="pic02.jpg" alt="pic02.jpg"><p><strong>The MMC/SD card connector on the soldering side of the circuit board.</strong></p></div> <h2><a class="anchor" name="software">The software</a></h2>The software is written in pure standard ANSI-C. Sure, it might not be the smallest or the fastest one, but I think it is quite flexible.<p>I implemented a simple command prompt which is accessible via the UART at 9600 Baud. With commands similiar to the Unix shell you can browse different directories, read and write files, create new ones and delete them again. Not all commands are available in all software configurations.<ul><li><code>cat &lt;file&gt;</code><br> Writes a hexdump of &lt;file&gt; to the terminal.</li><li><code>cd &lt;directory&gt;</code><br> Changes current working directory to &lt;directory&gt;.</li><li><code>disk</code><br> Shows card manufacturer, status, filesystem capacity and free storage space.</li><li><code>init</code><br> Reinitializes and reopens the memory card.</li><li><code>ls</code><br> Shows the content of the current directory.</li><li><code>mkdir &lt;directory&gt;</code><br> Creates a directory called &lt;directory&gt;.</li><li><code>rm &lt;file&gt;</code><br> Deletes &lt;file&gt;.</li><li><code>sync</code><br> Ensures all buffered data is written to the card.</li><li><code>touch &lt;file&gt;</code><br> Creates &lt;file&gt;.</li><li><code>write &lt;file&gt; &lt;offset&gt;</code><br> Writes text to &lt;file&gt;, starting from &lt;offset&gt;. The text is read from the UART, line by line. Finish with an empty line.</li></ul><p>  <p> The following table shows some typical code sizes in bytes, using the 20061101 release with malloc()/free(): </p> <table border="1" cellpadding="2">     <tr>         <th>layer</th>         <th>code size</th>         <th>static RAM usage</th>     </tr>     <tr>         <td>MMC/SD (read-only)</td>         <td align="right">1576</td>         <td align="right">0</td>     </tr>     <tr>         <td>MMC/SD (read-write)</td>         <td align="right">2202</td>         <td align="right">517</td>     </tr>     <tr>         <td>Partition</td>         <td align="right">418</td>         <td align="right">0</td>     </tr>     <tr>         <td>FAT16 (read-only)</td>         <td align="right">3834</td>         <td align="right">0</td>     </tr>     <tr>         <td>FAT16 (read-write)</td>         <td align="right">7932</td>         <td align="right">0</td>     </tr> </table> <p> The static RAM in the read-write case is used for buffering memory card access. Without this buffer, implementation would have been much more complicated. </p>  <p> Please note that the numbers above do not include the C library functions used, e.g. malloc()/free() and some string functions. These will raise the numbers somewhat if they are not already used in other program parts. </p>  <p> When opening a partition, filesystem, file or directory, a little amount of dynamic RAM is used, as listed in the following table. Alternatively, the same amount of static RAM can be used. </p> <table border="1" cellpadding="2">     <tr>         <th>descriptor</th>         <th>dynamic/static RAM</th>     </tr>     <tr>         <td>partition</td>         <td align="right">17</td>     </tr>     <tr>         <td>filesystem</td>         <td align="right">26</td>     </tr>     <tr>         <td>file</td>         <td align="right">51</td>     </tr>     <tr>         <td>directory</td>         <td align="right">47</td>     </tr> </table>  <h2><a class="anchor" name="adaptation">Adapting the software to your needs</a></h2>The only hardware dependent part is the communication layer talking to the memory card. The other parts like partition table and FAT16 support are completely independent, you could use them even for managing Compact Flash cards or standard ATAPI hard disks.<p>By changing the MCU* variables in the Makefile, you can use other Atmel microcontrollers or different clock speeds. You might also want to change the configuration defines in the files <a class="el" href="fat16__config_8h.html" title="FAT16 configuration (license: GPLv2 or LGPLv2.1).">fat16_config.h</a>, <a class="el" href="partition__config_8h.html" title="Partition configuration (license: GPLv2 or LGPLv2.1).">partition_config.h</a>, <a class="el" href="sd__raw__config_8h.html" title="MMC/SD support configuration (license: GPLv2 or LGPLv2.1).">sd_raw_config.h</a> and <a class="el" href="sd-reader__config_8h.html" title="Common sd-reader configuration used by all modules (license: GPLv2 or LGPLv2.1).">sd-reader_config.h</a>. For example, you could disable write support completely if you only need read support.<h2><a class="anchor" name="bugs">Bugs or comments?</a></h2>If you have comments or found a bug in the software - there might be some of them - you may contact me per mail at <a href="mailto:feedback@roland-riegel.de">feedback@roland-riegel.de</a>.<h2><a class="anchor" name="acknowledgements">Acknowledgements</a></h2>Thanks go to Ulrich Radig, who explained on his homepage how to interface MMC cards to the Atmel microcontroller (<a href="http://www.ulrichradig.de/">http://www.ulrichradig.de/</a>). I adapted his work for my circuit. Although this is a very simple solution, I had no problems using it.<h2><a class="anchor" name="copyright">Copyright 2006-2008 by Roland Riegel</a></h2>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation (<a href="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a>). At your option, you can alternatively redistribute and/or modify the following files under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation (<a href="http://www.gnu.org/copyleft/lgpl.html">http://www.gnu.org/copyleft/lgpl.html</a>):<ul><li><a class="el" href="fat16_8c.html" title="FAT16 implementation (license: GPLv2 or LGPLv2.1).">fat16.c</a></li><li><a class="el" href="fat16_8h.html" title="FAT16 header (license: GPLv2 or LGPLv2.1).">fat16.h</a></li><li><a class="el" href="fat16__config_8h.html" title="FAT16 configuration (license: GPLv2 or LGPLv2.1).">fat16_config.h</a></li><li><a class="el" href="partition_8c.html" title="Partition table implementation (license: GPLv2 or LGPLv2.1).">partition.c</a></li><li><a class="el" href="partition_8h.html" title="Partition table header (license: GPLv2 or LGPLv2.1).">partition.h</a></li><li><a class="el" href="partition__config_8h.html" title="Partition configuration (license: GPLv2 or LGPLv2.1).">partition_config.h</a></li><li><a class="el" href="sd__raw_8c.html" title="MMC/SD raw access implementation (license: GPLv2 or LGPLv2.1).">sd_raw.c</a></li><li><a class="el" href="sd__raw_8h.html" title="MMC/SD raw access header (license: GPLv2 or LGPLv2.1).">sd_raw.h</a></li><li><a class="el" href="sd__raw__config_8h.html" title="MMC/SD support configuration (license: GPLv2 or LGPLv2.1).">sd_raw_config.h</a></li><li><a class="el" href="sd-reader__config_8h.html" title="Common sd-reader configuration used by all modules (license: GPLv2 or LGPLv2.1).">sd-reader_config.h</a> </li></ul></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Jun 8 10:23:35 2008 for sd-reader by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address></body></html>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一区二区三区| 国产一区二区毛片| 欧美午夜理伦三级在线观看| 亚洲精品中文在线影院| 91福利社在线观看| 午夜久久久久久久久久一区二区| 欧美日韩国产综合视频在线观看| 亚洲国产精品久久不卡毛片| 欧美精品日日鲁夜夜添| 日本欧美肥老太交大片| 精品久久久久久久久久久久久久久 | 在线精品视频一区二区三四| 一区二区视频在线看| 欧美人成免费网站| 精品综合久久久久久8888| 国产网红主播福利一区二区| 91理论电影在线观看| 日韩和欧美一区二区三区| 精品久久久久久最新网址| www.亚洲色图| 日韩—二三区免费观看av| 国产肉丝袜一区二区| 在线观看av不卡| 久久se这里有精品| 成人欧美一区二区三区1314| 欧美精品在线观看播放| 国产精一区二区三区| 亚洲免费在线观看| 日韩欧美在线影院| 91精品国产综合久久精品性色| 久久精品国产精品亚洲红杏| 国产精品视频麻豆| 91精品国产综合久久香蕉麻豆 | 91精品国产91久久综合桃花| 国产成人高清视频| 亚洲成av人影院| 久久久影视传媒| 欧美日韩在线三级| 国产.欧美.日韩| 日本在线不卡视频| 亚洲欧美另类在线| 久久奇米777| 欧美综合欧美视频| 国产精品自拍av| 午夜一区二区三区视频| 国产精品久久久久影院亚瑟| 日韩一区二区精品| 欧美在线观看一区| 成人国产亚洲欧美成人综合网| 三级欧美韩日大片在线看| 国产精品色眯眯| 精品久久久三级丝袜| 欧美日韩国产高清一区二区三区 | 久久久久国产成人精品亚洲午夜| 欧美日韩在线三区| 色综合久久久久久久久久久| 国产激情精品久久久第一区二区| 亚洲地区一二三色| 亚洲宅男天堂在线观看无病毒| 国产夜色精品一区二区av| 91麻豆精品久久久久蜜臀| 色视频成人在线观看免| 波多野结衣亚洲一区| 国精产品一区一区三区mba视频 | 午夜欧美2019年伦理| 亚洲乱码国产乱码精品精98午夜 | 国产乱人伦偷精品视频不卡| 日韩中文字幕亚洲一区二区va在线 | 日韩中文字幕麻豆| 午夜视频在线观看一区二区| 亚洲一区二区在线视频| 亚洲精品v日韩精品| 亚洲欧美日本韩国| 亚洲精品国产第一综合99久久| 中文字幕一区二区三区在线不卡 | 亚洲成人av在线电影| 一区二区三区美女视频| 亚洲免费观看高清完整| 亚洲特级片在线| 亚洲日本va在线观看| 亚洲男帅同性gay1069| √…a在线天堂一区| 自拍偷拍国产精品| 依依成人精品视频| 亚洲综合色噜噜狠狠| 亚洲综合在线电影| 亚洲成人一区二区在线观看| 香蕉久久夜色精品国产使用方法| 亚洲va国产va欧美va观看| 性做久久久久久免费观看欧美| 天堂在线亚洲视频| 另类小说欧美激情| 国产精品自拍在线| 91美女蜜桃在线| 欧美日韩一区二区三区高清| 91麻豆精品久久久久蜜臀| 精品国产一区二区精华| 中文字幕国产精品一区二区| 亚洲伦理在线精品| 日韩精品视频网站| 国产精品资源在线看| 成人性生交大片免费看视频在线 | 亚洲大片一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品一区二区三区久久久| 成人一区二区在线观看| 色婷婷综合视频在线观看| 欧美福利一区二区| 国产拍欧美日韩视频二区| 亚洲视频一区二区在线| 日本美女一区二区三区| 粉嫩绯色av一区二区在线观看 | 色综合激情五月| 欧美一区二区精品| 国产精品你懂的在线| 亚洲成a人片在线不卡一二三区| 久久99久久99精品免视看婷婷| 成人永久免费视频| 欧美精品日韩一本| 国产欧美精品一区二区三区四区| 亚洲一二三区不卡| 国产精品一区二区久久精品爱涩| 日本韩国欧美在线| 日韩三级视频在线看| 亚洲三级免费电影| 精品一区二区在线播放| 日本丶国产丶欧美色综合| 精品日韩成人av| 亚洲一区二区视频| 岛国精品在线观看| 欧美一区二区三区视频免费播放 | 91麻豆视频网站| 精品播放一区二区| 亚洲一区二区欧美激情| 国产凹凸在线观看一区二区| 4438x成人网最大色成网站| 中文字幕一区二区三区不卡| 久久超碰97中文字幕| 欧美色窝79yyyycom| 国产精品久久久久影院色老大| 久久国产剧场电影| 欧美片网站yy| 亚洲精品高清视频在线观看| 国产成人在线看| 日韩欧美亚洲国产另类| 亚洲一区在线观看免费 | 色久综合一二码| 日本一区二区三区高清不卡| 蜜桃精品视频在线| 欧美日韩国产高清一区二区三区| 精品一区二区在线观看| 欧美日本精品一区二区三区| 尤物视频一区二区| 色综合天天综合狠狠| 中文字幕av免费专区久久| 精品一区二区三区视频在线观看 | 日本一区中文字幕| 欧美色电影在线| 亚洲一区在线观看视频| 色婷婷久久99综合精品jk白丝 | 曰韩精品一区二区| 91天堂素人约啪| 亚洲欧美国产高清| 91小宝寻花一区二区三区| 国产精品色一区二区三区| 成人午夜电影网站| 国产精品毛片久久久久久| 国产美女一区二区| 久久久欧美精品sm网站| 国产在线精品一区在线观看麻豆| 欧美v亚洲v综合ⅴ国产v| 久久成人久久爱| www国产成人免费观看视频 深夜成人网| 日韩一级大片在线观看| 蓝色福利精品导航| 久久久久久久久免费| 国产aⅴ综合色| 国产精品久久久久久久久免费相片 | 亚洲综合av网| 欧美日韩久久不卡| 日本成人在线看| 日韩三级视频在线看| 国产伦精一区二区三区| 国产欧美日韩不卡| 99久久夜色精品国产网站| 亚洲人一二三区| 欧美老人xxxx18| 精品中文字幕一区二区小辣椒| 久久久久久久久久久久电影| 高清国产午夜精品久久久久久| 国产精品视频免费看| 日本黄色一区二区| 男人的天堂久久精品| 久久久久久电影| 99久久99久久精品国产片果冻| 亚洲午夜国产一区99re久久| 91精品国产色综合久久不卡蜜臀| 国内精品伊人久久久久影院对白| 国产精品无人区| 欧美日本韩国一区二区三区视频 |