From 5d340609f2820fb1c909019f254fceefafef3fd4 Mon Sep 17 00:00:00 2001 From: asterix Date: Tue, 13 May 2008 10:02:32 +0000 Subject: [PATCH] Add low level template module for dataflash drive. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1248 38d2e660-2303-0410-9eaa-f027e97ec537 --- bertos/hw/hw_dataflash.c | 88 ++++++++++++++++++++++++++++++++++++++++ bertos/hw/hw_dataflash.h | 22 ++++++++++ 2 files changed, 110 insertions(+) create mode 100644 bertos/hw/hw_dataflash.c create mode 100644 bertos/hw/hw_dataflash.h diff --git a/bertos/hw/hw_dataflash.c b/bertos/hw/hw_dataflash.c new file mode 100644 index 00000000..d802d0d7 --- /dev/null +++ b/bertos/hw/hw_dataflash.c @@ -0,0 +1,88 @@ +/** + * \file + * + * + * \brief Dataflash HW control routines. + * + * \version $Id$ + * \author Francesco Sacchi + */ + +#include "hw_dataflash.h" + +#include +#include +#include + +#include + + +MOD_DEFINE(hw_dataflash); + +/** + * Data flash init function. + * + * This function provide to initialize all that + * needs to drive a dataflash memory. + * Generaly needs to init pins to drive a CS line + * and reset line. + */ +void dataflash_hw_init(void) +{ + //Disable CS line (remove if not needed) + dataflash_hw_setCS(false); + + /* + * Put here your code! + * + * Note: + * - if you drive manualy CS line, here init a CS pin + * - if you use a dedicated reset line, here init a reset pin + */ + + MOD_INIT(hw_dataflash); +} + +/** + * Chip Select drive. + * + * This function enable or disable a CS line. + * You must implement this function comply to a dataflash + * memory datasheet to allow the drive to enable a memory + * when \p enable flag is true, and disable it when is false. + */ +void dataflash_hw_setCS(bool enable) +{ + if (enable) + /* + * Put here your code to enable + * dataflash memory + */ + else + /* + * Put here your code to disable + * dataflash memory + */ +} + +/** + * Reset data flash memory. + * + * This function provide to send reset signal to + * dataflash memory. You must impement it comly to a dataflash + * memory datasheet that describe a reset procedure for select + * device. + * + */ +void dataflash_hw_reset(void) +{ + /* + * Put here your code to reset + * data flash memory + */ + +} + diff --git a/bertos/hw/hw_dataflash.h b/bertos/hw/hw_dataflash.h new file mode 100644 index 00000000..aa726f1b --- /dev/null +++ b/bertos/hw/hw_dataflash.h @@ -0,0 +1,22 @@ +/** + * \file + * + * + * \brief Dataflash HW control routines (interface). + * + * \version $Id$ + * \author Francesco Sacchi + */ + +#ifndef HW_DATAFLASH_H +#define HW_DATAFLASH_H + +#include + +void dataflash_hw_init(void); +void dataflash_hw_setCS(bool enable); + +#endif /* HW_DATAFLASH_H */ -- 2.25.1