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

📄 lld.h

📁 Spansion 公司(原AMD flash 部门 / 富士通 闪存部门) FLASH 访问的参考函数
💻 H
📖 第 1 页 / 共 2 页
字号:
(
FLASHDATA * base_addr,   /* device base address is system */
ADDRESS offset,      /* address offset from base address */
FLASHDATA write_data /* variable containing data to program */
);
#endif

#ifndef REMOVE_LLD_SECTOR_ERASE_OP
extern DEVSTATUS lld_SectorEraseOp
(
FLASHDATA * base_addr,   /* device base address is system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_CHIP_ERASE_OP
extern DEVSTATUS lld_ChipEraseOp
(
FLASHDATA * base_addr    /* device base address is system */
);
#endif

#ifdef WS_P_CR1
extern void lld_SetConfigRegCmd
(
  FLASHDATA *   base_addr,	/* device base address in system */
  FLASHDATA value,			/* Configuration Register 0 value*/
  FLASHDATA value1			/* Configuration Register 1 value*/
);

extern FLASHDATA lld_ReadConfigRegCmd
(
  FLASHDATA *   base_addr,	/* device base address in system */
  FLASHDATA offset			/* configuration reg. offset 0/1 */
);
#else
extern void lld_SetConfigRegCmd
(
  FLASHDATA *   base_addr,	/* device base address in system */
  FLASHDATA value			/* Configuration Register 0 value*/
);

extern FLASHDATA lld_ReadConfigRegCmd
(
  FLASHDATA *   base_addr	/* device base address in system */
);
#endif

/* Command Functions */
extern void lld_ResetCmd
(
FLASHDATA * base_addr   /* device base address in system */
);

#ifndef REMOVE_LLD_SECTOR_ERASE_CMD
extern void lld_SectorEraseCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_CHIP_ERASE_CMD
extern void lld_ChipEraseCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_PROGRAM_CMD
extern void lld_ProgramCmd
(
FLASHDATA * base_addr,               /* device base address in system */
ADDRESS offset,                  /* address offset from base address */
FLASHDATA *pgm_data_ptr          /* variable containing data to program */
);
#endif

#ifndef REMOVE_LLD_UNLOCK_BYPASS_ENTRY_CMD
extern void lld_UnlockBypassEntryCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_UNLOCK_BYPASS_PROGRAM_CMD
extern void lld_UnlockBypassProgramCmd
(
FLASHDATA * base_addr,               /* device base address in system */
ADDRESS offset,                  /* address offset from base address */
FLASHDATA *pgm_data_ptr          /* variable containing data to program */
);
#endif

#ifndef REMOVE_LLD_UNLOCK_BYPASS_RESET_CMD
extern void lld_UnlockBypassResetCmd
(
FLASHDATA * base_addr   /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_AUTOSELECT_ENTRY_CMD
extern void lld_AutoselectEntryCmd
(
FLASHDATA * base_addr   /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_AUTOSELECT_EXIT_CMD
extern void lld_AutoselectExitCmd
(
FLASHDATA * base_addr   /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_SECSI_SECTOR_ENTRY_CMD
extern void lld_SecSiSectorEntryCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_SECTI_SECTOR_EXIT_CMD
extern void lld_SecSiSectorExitCmd
(
FLASHDATA * base_addr   /* device base address in system */
);
#endif

#ifndef REMOVE_WRITE_BUFFER_PROGRAMMING
extern void lld_WriteToBufferCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_WRITE_BUFFER_PROGRAMMING
extern void lld_ProgramBufferToFlashCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_WRITE_BUFFER_PROGRAMMING
extern void lld_WriteBufferAbortResetCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_PROGRAM_SUSPEND_CMD
extern void lld_ProgramSuspendCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_ERASE_SUSPEND_CMD
extern void lld_EraseSuspendCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_ERASE_RESUME_CMD
extern void lld_EraseResumeCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_PROGRAM_RESUME_CMD
extern void lld_ProgramResumeCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_CFI_ENTRY_CMD
extern void lld_CfiEntryCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

#ifndef REMOVE_LLD_CFI_EXIT_CMD
extern void lld_CfiExitCmd
(
FLASHDATA * base_addr    /* device base address in system */
);
#endif

/* Utility Functions */
#ifndef REMOVE_LLD_STATUS_GET
extern DEVSTATUS lld_StatusGet
(
FLASHDATA * base_addr,      /* device base address in system */
ADDRESS     offset          /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_POLL
extern DEVSTATUS lld_Poll
(
FLASHDATA * base_addr,          /* device base address in system */
ADDRESS offset,             /* address offset from base address */
FLASHDATA *exp_data_ptr,    /* expect data */
FLASHDATA *act_data_ptr,    /* actual data */
POLLING_TYPE polling_type   /* type of polling to perform */
);
#endif

#ifndef REMOVE_LLD_GET_DEVICE_ID
extern unsigned int lld_GetDeviceId
(
FLASHDATA * base_addr    /* device base address is system */
);
#endif

#ifndef REMOVE_WRITE_BUFFER_PROGRAMMING
DEVSTATUS lld_memcpy
(
FLASHDATA * base_addr,   /* device base address is system */
ADDRESS offset,      /* address offset from base address */
WORDCOUNT words_cnt, /* number of words to program */
FLASHDATA *data_buf  /* buffer containing data to program */
);
#endif

#ifndef REMOVE_LLD_READ_CFI_WORD
FLASHDATA lld_ReadCfiWord
(
FLASHDATA * base_addr,   /* device base address is system */
ADDRESS offset       /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_STATUS_REG_READ_CMD
extern void wlld_StatusRegReadCmd
(
FLASHDATA * base_addr,    /* device base address in system */
ADDRESS offset           /* address offset from base address */
);
#endif

#ifndef REMOVE_LLD_STATUS_REG_CLEAR_CMD
extern void wlld_StatusRegClearCmd
(
FLASHDATA * base_addr,   /* device base address in system */
ADDRESS offset           /* sector address offset from base address */
);
#endif

/* WARNING - Make sure the macro DELAY_1Us (lld_target_specific.h) */
/* is defined appropriately for your system !!                     */
/* If you decide to use your own delay functions, change the       */
/* macros DELAY_MS and DELAY_US in lld_target_specific.h.          */
#ifndef REMOVE_DELAY_MILLISECONDS
extern void DelayMilliseconds
 (
 int milliseconds
 );
#endif

#ifndef REMOVE_DELAY_MICROSECONDS
extern void DelayMicroseconds
 (
 int microseconds
 );
#endif

/*****************************************************************************/
#ifdef TRACE
extern void FlashWrite(FLASHDATA * addr, ADDRESS offset, FLASHDATA data);
extern FLASHDATA FlashRead(FLASHDATA * addr, ADDRESS offset);
#endif

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __INC_lldh */


⌨️ 快捷键说明

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