# Eeprom **Repository Path**: yongchanglin/Eeprom ## Basic Information - **Project Name**: Eeprom - **Description**: Cofdet开源项目之:嵌入式系统通用驱动程序接口及其实现-EERPOM操作及存取位置 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2024-07-11 - **Last Updated**: 2024-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##嵌入式系统通用驱动程序接口及其实现-EERPOM操作及存取位置 * 此接口为具体项目中: 需要存取非易失性数据(EEPROM)的软件模块,提供统一的存取操作函数,实现了调用层与的EEPOM硬件/存储空间的分离。 * 相关软件模块需要EEPROM存储数据时,统一通过包含"Eeprom.h"文件,实现操作的标准化;通过调用"InfoBase.h",实现存取位置的标准化。 ####软件结构说明: + **Eeprom通用操作接口:** 即对外接口调用文件:**Eeprom.h** ,其它软件部分操作EEprom时,**包含此文件即可**。 + **Eeprom操作接口的各种实现:** 以*Eeprom(下横线_)EEPOM硬件名称(或载体)_专用编译环境(可选,严重不建议代码与编译环境相关连)*命名, 与具体使用的EEPROM硬件有关,即有各种不同的实现。但一种硬件仅实现一次,项目中需要那个加入那个即可,具有通用性(*实现时需尽量排除编译器影响,使一个芯片的实现能在各种编译器里运行*)。 ####使用说明: + 1.根据项目嵌入式硬件不同,将Eeprom.h和**与项目对应的**的Eeprom具体实现文件。增加到开发环境中。 + 2.(此步可选) 查看Eeprom具体实现文件文件内,是否有“编译选项”部分(如I2C的24系列多个芯片的驱动用的是一个实现,所以根据实际使用芯片不同,需进行配置选择),若有,根据“编译选项”提示,在系统预编译头文件中增加相应配置。**为保证Eeprom实现文件的通用性,严禁对此实现做任何的改动**(BUG或提升功能与性能除外),若有不适用性,请复制后,包含复制文件进行操作。 ####目录结构组织: * **小型项目时**: 即不区分组件层,放在“项目源文件目录\Eeprom”下,内部不再有子目录 * **大中型项目时**: 区分组件层,放在“项目源文件目录\components\Eeprom”下,若项目很多,且同一项目也有较多实现时,可将具体实现文件放在此目录“项目名称”目录下,以实现分类存放。 ####现支持的EEPROM: * Eeprom_AT24: AT24全系列(使用I2c标准接口) * Eepom_AVR: AVR 8位MCU内部 * Eepom_PIC: PIC 8位中端19系列MCU内部 * Eepom_PIC16F18: PIC 8位中端18系列MCU内部 * Eepom_FlashXXX: 使用MCU的Flash模拟的EEPOM(使用Flash标准接口),主要有: + Eeprom_FlashS: 使用单页flash时的实现(注意保存期间不应掉电) + Eeprom_FlashM: 跨多页flash实现(注意保存期间不应掉电) + Eeprom_FlashD: 双页大容量Falsh实现(两页相同,但交叉存储以实现冗余,可提高可靠性) + Eeprom_FlashDS: 使用内部的Flash双页小空量-全RAM缓冲时实现(交叉存储,全部数据缓存至RAM) * EepomInner.h: 操作Eepom_Flash实现时,提供的内部辅助函数等,外部需调用其实现相关功能。 ------------------------------------------------------------------------------- ##开源项目说明 * 为各类单片机提供模板支持,**欢迎大家增加对各类嵌入式硬件的操作模板**,以让更多人使用 * 版权声明: ...ch这世道,说了也等于白说,总之以下点: + **源代码部分:** 可以自由使用,源代码中,也不需做任何版权声明。 + **分享时:** 为防止碎化片,请注明出处,以利于开源项目的推广。 + **关于fork:** 这个欢迎(但为防止碎化片化,请不要分支或单独推广)。更欢迎为此开源项目直接贡献代码。 ##此开源项目对应的教程 * 视频在分享平台:http://thtfcccj.56.com * 与视频同步输入的文字,在http://blog.csdn.net/thtfcccj * 同步的开源项目,则在代码托管平台:https://github.com/thtfcccj ##此开源项目对应的两个件教学视频: * 嵌入式系统通用驱动程序接口及其实现2-EERPOM操作标准化 * 嵌入式系统通用驱动程序接口及其实现n-EERPOM存取位置标准化