⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdcrc.lst

📁 针对at91sam7a3为主芯片开发板开发的spi口应用程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     04/Aug/2006  19:16:02 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(SPI_SD_ #
#                       RW)\SD_SPI-SAM7A3\src\sdcrc.c                        #
#    Command line    =  "C:\Documents and Settings\yc\桌面\AT91SAM7A3(SPI_SD #
#                       _RW)\SD_SPI-SAM7A3\src\sdcrc.c" -lC "C:\Documents    #
#                       and Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SA #
#                       M7A3\compil\FLASH_Debug\List\" -o "C:\Documents and  #
#                       Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SAM7A3 #
#                       \compil\FLASH_Debug\Obj\" -z2 --no_cse --no_unroll   #
#                       --no_inline --no_code_motion --no_tbaa               #
#                       --no_clustering --no_scheduling --debug --cpu_mode   #
#                       thumb --endian little --cpu ARM7TDMI --stack_align   #
#                       4 --interwork -e --fpu None --dlib_config "D:\IAR    #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl4tptinl8f.h" -I "C:\Documents    #
#                       and Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SA #
#                       M7A3\compil\srcIAR\" -I "C:\Documents and            #
#                       Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SAM7A3 #
#                       \compil\..\src\" -I "C:\Documents and                #
#                       Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SAM7A3 #
#                       \compil\..\..\" -I "D:\IAR Systems\Embedded          #
#                       Workbench 4.0 Kickstart\arm\INC\"                    #
#    List file       =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(SPI_SD_ #
#                       RW)\SD_SPI-SAM7A3\compil\FLASH_Debug\List\sdcrc.lst  #
#    Object file     =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(SPI_SD_ #
#                       RW)\SD_SPI-SAM7A3\compil\FLASH_Debug\Obj\sdcrc.r79   #
#                                                                            #
#                                                                            #
##############################################################################

C:\Documents and Settings\yc\桌面\AT91SAM7A3(SPI_SD_RW)\SD_SPI-SAM7A3\src\sdcrc.c
      1          /****************************************Copyright (c)**************************************************
      2          **                               Guangzhou ZLG-MCU Development Co.,LTD.
      3          **                                      graduate school
      4          **                                 http://www.zlgmcu.com
      5          **
      6          **--------------File Info-------------------------------------------------------------------------------
      7          ** File name:			sdcrc.c
      8          ** Last modified Date:	2005-3-15
      9          ** Last Version:		V2.0
     10          ** Descriptions:		SD/MMC 卡读写模块: 相关工具函数 ---- CRC校验
     11          **						Soft Packet of SD Card Driver: tool funcitons about sd card ---- crc check
     12          **
     13          **------------------------------------------------------------------------------------------------------
     14          ** Created by:			Ming Yuan Zheng
     15          ** Created date:		2005-1-6
     16          ** Version:				V1.0
     17          ** Descriptions:		初始版本 The original version
     18          **
     19          **------------------------------------------------------------------------------------------------------
     20          ** Modified by:			
     21          ** Modified date:		
     22          ** Version:				
     23          ** Descriptions:		
     24          **
     25          **------------------------------------------------------------------------------------------------------
     26          ** Modified by: 
     27          ** Modified date:
     28          ** Version:	
     29          ** Descriptions: 
     30          **
     31          ********************************************************************************************************/
     32          
     33          #include "config.h"
     34          #include "sdhal.h"
     35          
     36          #if SD_CRC_EN
     37          //X16 + X12 + X5 + 1 余式表
     38          INT16U const CRCTable[256]={0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,
     39          							0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef,
     40          							0x1231,0x0210,0x3273,0x2252,0x52b5,0x4294,0x72f7,0x62d6,
     41          							0x9339,0x8318,0xb37b,0xa35a,0xd3bd,0xc39c,0xf3ff,0xe3de,
     42          							0x2462,0x3443,0x0420,0x1401,0x64e6,0x74c7,0x44a4,0x5485,
     43          							0xa56a,0xb54b,0x8528,0x9509,0xe5ee,0xf5cf,0xc5ac,0xd58d,
     44          							0x3653,0x2672,0x1611,0x0630,0x76d7,0x66f6,0x5695,0x46b4,
     45          							0xb75b,0xa77a,0x9719,0x8738,0xf7df,0xe7fe,0xd79d,0xc7bc,
     46          							0x48c4,0x58e5,0x6886,0x78a7,0x0840,0x1861,0x2802,0x3823,
     47          							0xc9cc,0xd9ed,0xe98e,0xf9af,0x8948,0x9969,0xa90a,0xb92b,
     48          							0x5af5,0x4ad4,0x7ab7,0x6a96,0x1a71,0x0a50,0x3a33,0x2a12,
     49          							0xdbfd,0xcbdc,0xfbbf,0xeb9e,0x9b79,0x8b58,0xbb3b,0xab1a,
     50          							0x6ca6,0x7c87,0x4ce4,0x5cc5,0x2c22,0x3c03,0x0c60,0x1c41,
     51          							0xedae,0xfd8f,0xcdec,0xddcd,0xad2a,0xbd0b,0x8d68,0x9d49,
     52          							0x7e97,0x6eb6,0x5ed5,0x4ef4,0x3e13,0x2e32,0x1e51,0x0e70,
     53          							0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78,
     54          							0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f,
     55          							0x1080,0x00a1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067,
     56          							0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e,
     57          							0x02b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256,
     58          							0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d,
     59          							0x34e2,0x24c3,0x14a0,0x0481,0x7466,0x6447,0x5424,0x4405,
     60          							0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c,
     61          							0x26d3,0x36f2,0x0691,0x16b0,0x6657,0x7676,0x4615,0x5634,
     62          							0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab,
     63          							0x5844,0x4865,0x7806,0x6827,0x18c0,0x08e1,0x3882,0x28a3,
     64          							0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a,
     65          							0x4a75,0x5a54,0x6a37,0x7a16,0x0af1,0x1ad0,0x2ab3,0x3a92,
     66          							0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9,
     67          							0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0x0cc1,
     68          							0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8,
     69          							0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0x0ed1,0x1ef0
     70          						   };
     71          
     72          /********************************************************************************************************************
     73          ** 函数名称: INT8U SD_GetCRC16()					Name:	  INT8U SD_GetCRC16()
     74          ** 功能描述: 计算CRC16								Function: calculate CRC16 
     75          ** 输   入: INT8U *pSource: 数据					Input:    INT8U *pSource: data
     76          			 INT16U len    : 长度							  INT16U len    : len
     77          ** 输   出: CRC16码								Output:	  CRC16 code
     78          ********************************************************************************************************************/
     79          INT16U SD_GetCRC16(INT8U *pSource, INT16U len)
     80          {
     81          	INT16U i;
     82          	INT16U result = 0;
     83          
     84          	for (i = 0; i < len; i++)
     85          	    result = (result << 8) ^ (INT16U)CRCTable[(result >> 8) ^ *pSource++];
     86          	
     87          	return result;
     88          }
     89          
     90          /*******************************************************************************************************************
     91          ** 函数名称: INT8U SD_GetCmdByte6()					Name:	  INT8U SD_GetCmdByte6()
     92          ** 功能描述: 获取SD卡命令的CRC7						Function: get the CRC7 of the command of SD card
     93          ** 输   入: INT8U cmd   : 命令						Input:    INT8U cmd   :	command
     94          			 INT8U *param: 命令的参数,长度为4字节			  INT8U *param: the param of command,length is 4 bytes
     95          ** 输   出: CRC7码									Output:	  CRC7 code
     96          ********************************************************************************************************************/
     97          INT8U SD_GetCmdByte6(INT8U cmd, INT8U *param)
     98          {
     99          	INT8U i, j;
    100          	INT8U reg = 0;
    101          	INT8U array[5];
    102          	
    103          	array[0] = cmd;
    104          	for (i = 1; i < 5; i++)						/* 将参数的顺序重新排列 */
    105          		array[i] = param[4 - i];
    106          	
    107          	for (i = 0; i < 5; i++)						/* 计算5个字节的CRC7 */
    108          	{
    109          	    for (j = 0; j < 8; j++)
    110          	    {
    111          			reg <<= 1;
    112          			reg ^= ((((array[i] << j) ^ reg) & 0x80) ? 0x9 : 0);
    113          	    }
    114          	}
    115          	
    116          	return ((reg << 1) + 0x01) ;				/* 计算结果的CRC7左移一位,并将最低位置1 */
    117          }
    118          #endif


   Segment part sizes:

     Function/Label Bytes
     -------------- -----

 
 
 0 bytes of memory

Errors: none
Warnings: none

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -