190 lines
62 KiB
XML
190 lines
62 KiB
XML
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_bsp___s_d_8h_source" xml:lang="zh">
|
||
<title>bsp_SD.h</title>
|
||
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h</primary></indexterm>
|
||
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___s_d_8h_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00002"/>00002 <emphasis role="comment"> #</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00003"/>00003 <emphasis role="comment"> #  Copyright (c) 2022 Yuankang Liang(XerolySkinner)</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00004"/>00004 <emphasis role="comment"> #</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00005"/>00005 <emphasis role="comment"> #  本软件按原样提供,无任何明示或暗示</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00006"/>00006 <emphasis role="comment"> #  在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00007"/>00007 <emphasis role="comment"> #</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00008"/>00008 <emphasis role="comment"> #  使用的许可声明:</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00009"/>00009 <emphasis role="comment"> #  1.  不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00010"/>00010 <emphasis role="comment"> #  2.  免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00011"/>00011 <emphasis role="comment"> #      并且版权声明和许可声明同时出现.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00012"/>00012 <emphasis role="comment"> #  3.  你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00013"/>00013 <emphasis role="comment"> #  4.  如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00014"/>00014 <emphasis role="comment"> #  5.  本通知不得从任何来源删除或更改.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00015"/>00015 <emphasis role="comment"> #</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00016"/>00016 <emphasis role="comment"> #  Yuankang Liang(XerolySkinner)</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00017"/>00017 <emphasis role="comment"> #      E-mail:zabbcccbbaz@163.com</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00018"/>00018 <emphasis role="comment"> #      QQ:2715099320</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00019"/>00019 <emphasis role="comment"> #      Mobile Phone:13005636215</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00020"/>00020 <emphasis role="comment"> #</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00021"/>00021 <emphasis role="comment"> #  All rights reserved.</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00022"/>00022 <emphasis role="comment"> */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00023"/>00023
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00034"/>00034 <emphasis role="preprocessor">#pragma once</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00035"/>00035 <emphasis role="preprocessor">#ifdef __cplusplus</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00037"/>00037 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00038"/>00038 <emphasis role="comment">//  头文件</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00039"/>00039 <emphasis role="comment">//  </emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00040"/>00040 <emphasis role="preprocessor">#include "spi.h"</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00041"/>00041 <emphasis role="preprocessor">#include "<link linkend="_varint_8h">varint.h</link>"</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00043"/>00043 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00044"/>00044 <emphasis role="comment">//  数据</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00045"/>00045 <emphasis role="comment">//  </emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00046"/>00046 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00047"/>00047 <emphasis role="comment">//SD卡类型</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00048"/><link linkend="_bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b">00048</link> <emphasis role="preprocessor">#define ERR                     0x00</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00049"/><link linkend="_bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c">00049</link> <emphasis role="preprocessor">#define MMC                     0x01</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00050"/><link linkend="_bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a">00050</link> <emphasis role="preprocessor">#define V1                      0x02</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00051"/><link linkend="_bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1">00051</link> <emphasis role="preprocessor">#define V2                      0x04</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00052"/><link linkend="_bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec">00052</link> <emphasis role="preprocessor">#define V2HC                    0x06</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00053"/><link linkend="_bsp___s_d_8h_1adc81a065700d3af56b6fb631585e3641">00053</link> <emphasis role="preprocessor">#define DUMMY_BYTE              0xFF </emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00054"/><link linkend="_bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38">00054</link> <emphasis role="preprocessor">#define MSD_BLOCKSIZE           512</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00055"/>00055 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00056"/>00056 <emphasis role="comment">//CMD定义</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00057"/><link linkend="_bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1">00057</link> <emphasis role="preprocessor">#define CMD0                    0                   </emphasis><emphasis role="comment">//卡复位</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00058"/><link linkend="_bsp___s_d_8h_1aca9979f299fa78c1128d778084478673">00058</link> <emphasis role="preprocessor">#define CMD1                    1</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00059"/><link linkend="_bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668">00059</link> <emphasis role="preprocessor">#define CMD8                    8                   </emphasis><emphasis role="comment">//命令8 ,SEND_IF_COND</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00060"/><link linkend="_bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459">00060</link> <emphasis role="preprocessor">#define CMD9                    9                   </emphasis><emphasis role="comment">//命令9 ,读CSD数据</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00061"/><link linkend="_bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104">00061</link> <emphasis role="preprocessor">#define CMD10                   10                  </emphasis><emphasis role="comment">//命令10,读CID数据</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00062"/><link linkend="_bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8">00062</link> <emphasis role="preprocessor">#define CMD12                   12                  </emphasis><emphasis role="comment">//命令12,停止数据传输</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00063"/><link linkend="_bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541">00063</link> <emphasis role="preprocessor">#define CMD16                   16                  </emphasis><emphasis role="comment">//命令16,设置SectorSize 应返回0x00</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00064"/><link linkend="_bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad">00064</link> <emphasis role="preprocessor">#define CMD17                   17                  </emphasis><emphasis role="comment">//命令17,读sector</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00065"/><link linkend="_bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14">00065</link> <emphasis role="preprocessor">#define CMD18                   18                  </emphasis><emphasis role="comment">//命令18,读Multi sector</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00066"/><link linkend="_bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1">00066</link> <emphasis role="preprocessor">#define CMD23                   23                  </emphasis><emphasis role="comment">//命令23,设置多sector写入前预先擦除N个block</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00067"/><link linkend="_bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85">00067</link> <emphasis role="preprocessor">#define CMD24                   24                  </emphasis><emphasis role="comment">//命令24,写sector</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00068"/><link linkend="_bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e">00068</link> <emphasis role="preprocessor">#define CMD25                   25                  </emphasis><emphasis role="comment">//命令25,写Multi sector</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00069"/><link linkend="_bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865">00069</link> <emphasis role="preprocessor">#define CMD41                   41                  </emphasis><emphasis role="comment">//命令41,应返回0x00</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00070"/><link linkend="_bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780">00070</link> <emphasis role="preprocessor">#define CMD55                   55                  </emphasis><emphasis role="comment">//命令55,应返回0x01</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00071"/><link linkend="_bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa">00071</link> <emphasis role="preprocessor">#define CMD58                   58                  </emphasis><emphasis role="comment">//命令58,读OCR信息</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00072"/><link linkend="_bsp___s_d_8h_1aa8ea570644ddff6d18b63e4abbf39e0d">00072</link> <emphasis role="preprocessor">#define CMD59                   59                  </emphasis><emphasis role="comment">//命令59,使能/禁止CRC,应返回0x00</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00073"/>00073 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00074"/>00074 <emphasis role="comment">//数据写入回应字意义</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00075"/><link linkend="_bsp___s_d_8h_1ab953703883503eb3ce420f096b1621d0">00075</link> <emphasis role="preprocessor">#define MSD_DATA_OK             0x05</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00076"/><link linkend="_bsp___s_d_8h_1a7ba9783b76cf956a82211e058071f984">00076</link> <emphasis role="preprocessor">#define MSD_DATA_CRC_ERROR      0x0B</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00077"/><link linkend="_bsp___s_d_8h_1a6a6a48e9e40eda37b834b23d5320dfdf">00077</link> <emphasis role="preprocessor">#define MSD_DATA_WRITE_ERROR    0x0D</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00078"/><link linkend="_bsp___s_d_8h_1ad68bbaecb6931999de71e8a6b703574f">00078</link> <emphasis role="preprocessor">#define MSD_DATA_OTHER_ERROR    0xFF</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00079"/>00079 <emphasis role="comment">//SD卡回应标记字</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00080"/><link linkend="_bsp___s_d_8h_1afa5629413ae6bf82d3f1182df4cea0cf">00080</link> <emphasis role="preprocessor">#define MSD_RESPONSE_NO_ERROR   0x00</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00081"/><link linkend="_bsp___s_d_8h_1a70bdd15776b2a749ae184132d2a5da28">00081</link> <emphasis role="preprocessor">#define MSD_IN_IDLE_STATE       0x01</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00082"/><link linkend="_bsp___s_d_8h_1ad0ce329dc56b89327987e754ab0e93b8">00082</link> <emphasis role="preprocessor">#define MSD_ERASE_RESET         0x02</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00083"/><link linkend="_bsp___s_d_8h_1a80ede800869bbe11125170faf44ad94f">00083</link> <emphasis role="preprocessor">#define MSD_ILLEGAL_COMMAND     0x04</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00084"/><link linkend="_bsp___s_d_8h_1a8c6cecbb8cb9921c38776a83ed4ad343">00084</link> <emphasis role="preprocessor">#define MSD_COM_CRC_ERROR       0x08</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00085"/><link linkend="_bsp___s_d_8h_1a8c7923c819c9ba27f65a380f7360f429">00085</link> <emphasis role="preprocessor">#define MSD_ERASE_SEQUENCE_ERROR 0x10</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00086"/><link linkend="_bsp___s_d_8h_1a211793a480ef462b7a1c55d6d36a8c25">00086</link> <emphasis role="preprocessor">#define MSD_ADDRESS_ERROR       0x20</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00087"/><link linkend="_bsp___s_d_8h_1ae3555061fbbb3bd2becaa0d1bdf6c825">00087</link> <emphasis role="preprocessor">#define MSD_PARAMETER_ERROR     0x40</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00088"/><link linkend="_bsp___s_d_8h_1ab5e7857b07a45a8828a235c55d3873ff">00088</link> <emphasis role="preprocessor">#define MSD_RESPONSE_FAILURE    0xFF</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00089"/>00089 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00090"/><link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9">00090</link> <emphasis role="keyword">enum</emphasis> <link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9">_CD_HOLD</link> {
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00091"/><link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a">00091</link>     <link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a">HOLD</link> = 0, 
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00092"/><link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf">00092</link>     <link linkend="_bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf">RELEASE</link> = 1, 
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00093"/>00093     };
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00094"/>00094 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00095"/><link linkend="_struct_m_s_d___c_s_d">00095</link> <emphasis role="keyword">typedef</emphasis> <emphasis role="keyword">struct </emphasis>{                                    <emphasis role="comment">/* Card Specific Data */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00096"/><link linkend="_struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97">00096</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97">CSDStruct</link>;                      <emphasis role="comment">/* CSD structure */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00097"/><link linkend="_struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1">00097</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1">SysSpecVersion</link>;                 <emphasis role="comment">/* System specification version */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00098"/><link linkend="_struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0">00098</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0">Reserved1</link>;                      <emphasis role="comment">/* Reserved */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00099"/><link linkend="_struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d">00099</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d">TAAC</link>;                           <emphasis role="comment">/* Data read access-time 1 */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00100"/><link linkend="_struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b">00100</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b">NSAC</link>;                           <emphasis role="comment">/* Data read access-time 2 in CLK cycles */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00101"/><link linkend="_struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487">00101</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487">MaxBusClkFrec</link>;                  <emphasis role="comment">/* Max. bus clock frequency */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00102"/><link linkend="_struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279">00102</link>     <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>             <link linkend="_struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279">CardComdClasses</link>;                <emphasis role="comment">/* Card command classes */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00103"/><link linkend="_struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca">00103</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca">RdBlockLen</link>;                     <emphasis role="comment">/* Max. read data block length */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00104"/><link linkend="_struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315">00104</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315">PartBlockRead</link>;                  <emphasis role="comment">/* Partial blocks for read allowed */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00105"/><link linkend="_struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66">00105</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66">WrBlockMisalign</link>;                <emphasis role="comment">/* Write block misalignment */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00106"/><link linkend="_struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0">00106</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0">RdBlockMisalign</link>;                <emphasis role="comment">/* Read block misalignment */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00107"/><link linkend="_struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165">00107</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165">DSRImpl</link>;                        <emphasis role="comment">/* DSR implemented */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00108"/><link linkend="_struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb">00108</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb">Reserved2</link>;                      <emphasis role="comment">/* Reserved */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00109"/><link linkend="_struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321">00109</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321">DeviceSize</link>;                     <emphasis role="comment">/* Device Size */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00110"/><link linkend="_struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4">00110</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4">MaxRdCurrentVDDMin</link>;             <emphasis role="comment">/* Max. read current @ VDD min */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00111"/><link linkend="_struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881">00111</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881">MaxRdCurrentVDDMax</link>;             <emphasis role="comment">/* Max. read current @ VDD max */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00112"/><link linkend="_struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8">00112</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8">MaxWrCurrentVDDMin</link>;             <emphasis role="comment">/* Max. write current @ VDD min */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00113"/><link linkend="_struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1">00113</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1">MaxWrCurrentVDDMax</link>;             <emphasis role="comment">/* Max. write current @ VDD max */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00114"/><link linkend="_struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718">00114</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718">DeviceSizeMul</link>;                  <emphasis role="comment">/* Device size multiplier */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00115"/><link linkend="_struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419">00115</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419">EraseGrSize</link>;                    <emphasis role="comment">/* Erase group size */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00116"/><link linkend="_struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28">00116</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28">EraseGrMul</link>;                     <emphasis role="comment">/* Erase group size multiplier */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00117"/><link linkend="_struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689">00117</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689">WrProtectGrSize</link>;                <emphasis role="comment">/* Write protect group size */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00118"/><link linkend="_struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915">00118</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915">WrProtectGrEnable</link>;              <emphasis role="comment">/* Write protect group enable */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00119"/><link linkend="_struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428">00119</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428">ManDeflECC</link>;                     <emphasis role="comment">/* Manufacturer default ECC */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00120"/><link linkend="_struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae">00120</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae">WrSpeedFact</link>;                    <emphasis role="comment">/* Write speed factor */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00121"/><link linkend="_struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307">00121</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307">MaxWrBlockLen</link>;                  <emphasis role="comment">/* Max. write data block length */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00122"/><link linkend="_struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4">00122</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4">WriteBlockPaPartial</link>;            <emphasis role="comment">/* Partial blocks for write allowed */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00123"/><link linkend="_struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5">00123</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5">Reserved3</link>;                      <emphasis role="comment">/* Reserded */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00124"/><link linkend="_struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec">00124</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec">ContentProtectAppli</link>;            <emphasis role="comment">/* Content protection application */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00125"/><link linkend="_struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792">00125</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792">FileFormatGrouop</link>;               <emphasis role="comment">/* File format group */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00126"/><link linkend="_struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59">00126</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59">CopyFlag</link>;                       <emphasis role="comment">/* Copy flag (OTP) */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00127"/><link linkend="_struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab">00127</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab">PermWrProtect</link>;                  <emphasis role="comment">/* Permanent write protection */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00128"/><link linkend="_struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f">00128</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f">TempWrProtect</link>;                  <emphasis role="comment">/* Temporary write protection */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00129"/><link linkend="_struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e">00129</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e">FileFormat</link>;                     <emphasis role="comment">/* File Format */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00130"/><link linkend="_struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906">00130</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906">ECC</link>;                            <emphasis role="comment">/* ECC code */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00131"/><link linkend="_struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226">00131</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226">CSD_CRC</link>;                        <emphasis role="comment">/* CSD CRC */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00132"/><link linkend="_struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1">00132</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1">Reserved4</link>;                      <emphasis role="comment">/* always 1*/</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00133"/>00133 } <link linkend="_struct_m_s_d___c_s_d">MSD_CSD</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00134"/>00134
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00135"/>00135 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00136"/><link linkend="_struct_m_s_d___c_i_d">00136</link> <emphasis role="keyword">typedef</emphasis> <emphasis role="keyword">struct </emphasis>{                                    <emphasis role="comment">/*Card Identification Data*/</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00137"/><link linkend="_struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e">00137</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e">ManufacturerID</link>;                 <emphasis role="comment">/* ManufacturerID */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00138"/><link linkend="_struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53">00138</link>     <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>             <link linkend="_struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53">OEM_AppliID</link>;                    <emphasis role="comment">/* OEM/Application ID */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00139"/><link linkend="_struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292">00139</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292">ProdName1</link>;                      <emphasis role="comment">/* Product Name part1 */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00140"/><link linkend="_struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea">00140</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea">ProdName2</link>;                      <emphasis role="comment">/* Product Name part2*/</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00141"/><link linkend="_struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b">00141</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b">ProdRev</link>;                        <emphasis role="comment">/* Product Revision */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00142"/><link linkend="_struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c">00142</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c">ProdSN</link>;                         <emphasis role="comment">/* Product Serial Number */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00143"/><link linkend="_struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b">00143</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b">Reserved1</link>;                      <emphasis role="comment">/* Reserved1 */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00144"/><link linkend="_struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a">00144</link>     <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>             <link linkend="_struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a">ManufactDate</link>;                   <emphasis role="comment">/* Manufacturing Date */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00145"/><link linkend="_struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de">00145</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de">CID_CRC</link>;                        <emphasis role="comment">/* CID CRC */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00146"/><link linkend="_struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05">00146</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05">Reserved2</link>;                      <emphasis role="comment">/* always 1 */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00147"/>00147 } <link linkend="_struct_m_s_d___c_i_d">MSD_CID</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00148"/>00148 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00149"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o">00149</link> <emphasis role="keyword">typedef</emphasis> <emphasis role="keyword">struct </emphasis>{
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00150"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a">00150</link>     <link linkend="_struct_m_s_d___c_s_d">MSD_CSD</link>         <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a">CSD</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00151"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509">00151</link>     <link linkend="_struct_m_s_d___c_i_d">MSD_CID</link>         <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509">CID</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00152"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf">00152</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf">Capacity</link>;                       <emphasis role="comment">/* Card Capacity */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00153"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148">00153</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148">BlockSize</link>;                      <emphasis role="comment">/* Card Block Size */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00154"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a">00154</link>     <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>             <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a">RCA</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00155"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04">00155</link>     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>              <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04">CardType</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00156"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568">00156</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568">SpaceTotal</link>;                     <emphasis role="comment">/* Total space size in file system */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00157"/><link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24">00157</link>     <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>             <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24">SpaceFree</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00158"/>00158 } <emphasis role="comment">/* Free space size in file system */</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00159"/>00159 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00160"/><link linkend="_bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6">00160</link> <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o">MSD_CARDINFO</link>, *<link linkend="_bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6">PMSD_CARDINFO</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00161"/>00161 <emphasis role="keyword">extern</emphasis> <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o">MSD_CARDINFO</link> <link linkend="_bsp___s_d_8h_1a2c85a6a257358283b46ba829ae0c2dba">SD0_CardInfo</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00163"/>00163 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00164"/>00164 <emphasis role="comment">//  类目</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00165"/>00165 <emphasis role="comment">//  </emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00169"/><link linkend="_classbsp___s_d">00169</link> <emphasis role="comment"></emphasis><emphasis role="keyword">class </emphasis><link linkend="_classbsp___s_d">bsp_SD</link>{
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00170"/>00170     <emphasis role="keyword">public</emphasis>:
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00171"/>00171         <link linkend="_classbsp___s_d">bsp_SD</link>(SPI_HandleTypeDef *<link linkend="_classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992">hspi</link>,GPIO_TypeDef *<link linkend="_classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180">GPIOx_CS</link>,uint16_t <link linkend="_classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f">GPIO_Pin_CS</link>);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00172"/>00172     <emphasis role="keyword">public</emphasis>:
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00173"/>00173         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066">SD_init</link>(<emphasis role="keywordtype">void</emphasis>);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00174"/>00174         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937">SD_ReadDisk</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * buf, <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> sector, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> cnt);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00175"/>00175         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6">SD_WriteDisk</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * buf, <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> sector, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> cnt);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00176"/>00176         <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>                 <link linkend="_classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92">SD_GetSectorCount</link>(<emphasis role="keywordtype">void</emphasis>);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00177"/>00177         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a164f0bb03133464f2da485f362a52718">offsetWrite</link>(<link linkend="_varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</link> offset,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>* dat,<link linkend="_varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</link> datlen);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00178"/>00178         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20">offsetRead</link>(<link linkend="_varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</link> offset,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>* dat,<link linkend="_varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</link> datlen);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00179"/>00179     <emphasis role="keyword">private</emphasis>:
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00180"/><link linkend="_classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992">00180</link>         SPI_HandleTypeDef   *<link linkend="_classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992">hspi</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00181"/><link linkend="_classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180">00181</link>         GPIO_TypeDef        *<link linkend="_classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180">GPIOx_CS</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00182"/><link linkend="_classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f">00182</link>         uint16_t            <link linkend="_classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f">GPIO_Pin_CS</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00183"/>00183
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00184"/><link linkend="_classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa">00184</link>         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa">DFF</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00185"/><link linkend="_classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4">00185</link>         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4">SD_TYPE</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00186"/><link linkend="_classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4">00186</link>         <link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o">MSD_CARDINFO</link>        <link linkend="_classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4">SD0_CardInfo</link>;
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00187"/>00187         
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00188"/>00188         <emphasis role="keywordtype">void</emphasis>                <link linkend="_classbsp___s_d_1a3250f411819ed57543b0326d13faddc6">SD_CS</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> p);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00189"/>00189         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0">SD_GETCID</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * cid_data);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00190"/>00190         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665">SD_GETCSD</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * csd_data);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00191"/>00191         <emphasis role="keywordtype">int</emphasis>                 <link linkend="_classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12">MSD0_GetCardInfo</link>(<link linkend="_struct_m_s_d___c_a_r_d_i_n_f_o">PMSD_CARDINFO</link> <link linkend="_classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4">SD0_CardInfo</link>);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00192"/>00192         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe">SD_ReceiveData</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * data, <link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link> len);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00193"/>00193         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a2df843979bb4c764422a37b255c184ea">SD_SendBlock</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> * buf, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> cmd);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00194"/>00194         <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>                 <link linkend="_classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37">SD_sendcmd</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> cmd, <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> arg, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> crc);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00195"/>00195
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00196"/>00196         <emphasis role="keywordtype">void</emphasis>                <link linkend="_classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a">SPI_setspeed</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> speed);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00197"/>00197         <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>                  <link linkend="_classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5">spi_readwrite</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> Txdata);
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00198"/>00198     };
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00200"/>00200 <emphasis role="preprocessor">#endif</emphasis>
|
||
<anchor xml:id="_bsp___s_d_8h_source_1l00201"/>00201
|
||
</programlisting></section>
|