📄 sdhcbase.h
字号:
#ifndef __SDHCBASE_H__
#define __SDHCBASE_H__
#include "mcu.h"
#define SDHC_OFFSET 0x00001100
#define SDHC_EXT_OFFSET 0x00001000
//#define MEM_OFFSET 0x00080000 // begins at offset (512kB)//#define MEM_LENGTH 0x00080000 // length in bytes (512kB)//#define RegAddress 0xF6000000//#define MemAddress 0xF6080000//#define SDHC_MODULE_BASE (RegAddress+0x1100)
#define MMC_DEF_RCA 0x0001
#define CARDTYPE_SDMEM 1
#define CARDTYPE_SDIO 2
#define CARDTYPE_MMC 4
#define SD_PANASONIC 1
#define SD_TWINMOS 2
#define CARD_TYPE SD_TWINMOS
/* rw flags
* byte0 - for sdhc hw options, eg. dma & autocmd12
* byte1 - reserved
* byte2 - for rd api
* byte3 - for wr api
*/
#define RWF_DMA 0x00000001UL
#define RWF_AUTOCMD12 0x00000002UL
#define RWF_MULTIBLK 0x00000004UL // set only for IO && when Multi block transfer is enabled
#define RWF_IO_INCR 0x00000008UL // set only for IO, OP Code bit in IO_RW_EXTENDED, 0=fixed,1=incr
#define RWF_IO 0x00000010UL // set for IO and cleared for Memory Read/Write
#define RWF_CONT 0x00000100UL // not used
#define RWF_END 0x00000200UL // not used
#define RWF_CURR_BUF 0x00000400UL // used when RW_NOFILL_EN or RW_NOREAD_EN is enabled to signal selected buffer
#define RWF_SYNC 0x00000800UL // used by interrupt routines
#define RWF_BYTECMP 0x00010000UL
#define RWF_BLKCMP 0x00020000UL
#define RWF_FILESAVE 0x00040000UL
#define RWF_NOREAD 0x00080000UL
#define RWF_BYTEFILL 0x01000000UL
#define RWF_BLKFILL 0x02000000UL
#define RWF_FILEFILL 0x04000000UL
#define RWF_NOFILL 0x08000000UL
// for both write & read
#define RW_DMA_EN(x) ((x) & RWF_DMA)
#define RW_AUTOCMD12_EN(x) ((x) & RWF_AUTOCMD12)
#define RW_MULTIBLK_EN(x) ((x) & RWF_MULTIBLK) // checked for SDIO only
#define RW_IO_INCR_EN(x) ((x) & RWF_IO_INCR) // checked for SDIO only
#define RW_IO_EN(x) ((x) & RWF_IO) // checked for memory or SDIO access
// for continuous mode write via internal memory (RW_NOFILLE_EN=1)
#define RW_CONT_EN(x) ((x) & RWF_CONT)
#define RW_END_EN(x) ((x) & RWF_END)
#define RW_CURR_BUF(x) ((x) & RWF_CURR_BUF)
#define RW_SYNC_EN(x) ((x) & RWF_SYNC)
// for read_data
#define RW_BYTECMP_EN(x) ((x) & RWF_BYTECMP)
#define RW_BLKCMP_EN(x) ((x) & RWF_BLKCMP)
#define RW_FILESAVE_EN(x) ((x) & RWF_FILESAVE)
#define RW_NOREAD_EN(x) ((x) & RWF_NOREAD)
// for write_data
#define RW_BYTEFILL_EN(x) ((x) & RWF_BYTEFILL)
#define RW_BLKFILL_EN(x) ((x) & RWF_BLKFILL)
#define RW_FILEFILL_EN(x) ((x) & RWF_FILEFILL)
#define RW_NOFILL_EN(x) ((x) & RWF_NOFILL)
#if (CPU == MC68VZ328)
//#define SDHC_BASE AMAZON_BASE+SDHC_OFFSET#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -