diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-07-18 17:50:14 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-07-18 17:50:14 +0300 |
| commit | e0c19a620f338848b130ad6d2bd0ce8d5a52ca93 (patch) | |
| tree | 5a54517153b9860c8464c5211862de84cfe761ba /Software/Embedded_SW/Embedded/Drivers/Flash_Memory | |
| parent | 9be0f3e321631fa497e29781480c58b0da541f9d (diff) | |
| download | Tango-e0c19a620f338848b130ad6d2bd0ce8d5a52ca93.tar.gz Tango-e0c19a620f338848b130ad6d2bd0ce8d5a52ca93.zip | |
Flash R/W Buf
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers/Flash_Memory')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.c | 134 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h | 119 |
2 files changed, 250 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.c b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.c index 418fde3d3..0170e7a52 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.c +++ b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.c @@ -33,6 +33,7 @@ #include "third_party/fatfs/src/ff.h" #include "drivers/twine_graphicslib/graphics_adapter.h" #include "include.h" +#include <drivers/Flash_Memory/Flash_Memory.h> //#define NUM_SSI_DATA 20 #define INS_WRITE_ENABLE 0x06 @@ -709,11 +710,16 @@ int Ext_Flash_Operation(uint32_t Operation, uint32_t NumOfWords, uint32_t* pui3 pui32DataTx = (uint32_t*) malloc(NumOfWords*sizeof(uint32_t)); pui32DataRx = (uint32_t*) malloc(NumOfWords*sizeof(uint32_t));*/ + static uint8_t flag = 1; - Init_Ext_Flash(); + if (flag) + { + Init_Ext_Flash(); - // Read the DEVICE ID - Read_Ext_Flash_Device_ID(); + // Read the DEVICE ID + Read_Ext_Flash_Device_ID(); + flag = 0; + } if((Operation == TX) || (Operation == TXRX)) { @@ -756,3 +762,125 @@ int Ext_Flash_Operation(uint32_t Operation, uint32_t NumOfWords, uint32_t* pui3 return 0; } + +//------------------------------ test ------------------------- + +FlashMem Flash; + +uint32_t Test_Write_Flash_Buf() +{ + uint32_t ReadBuf[400]; + + Flash.DWord.DWord1 = 1; + Flash.DWord.DWord2 = 2; + Flash.DWord.DWord3 = 3; + Flash.DWord.DWord4 = 4; + Flash.DWord.DWord5 = 5; + Flash.DWord.DWord6 = 6; + Flash.DWord.DWord7 = 7; + Flash.DWord.DWord8 = 8; + Flash.DWord.DWord9 = 9; + Flash.DWord.DWord10 = 10; + Flash.DWord.DWord11 = 11; + Flash.DWord.DWord12 = 12; + Flash.DWord.DWord13 = 13; + Flash.DWord.DWord14 = 14; + Flash.DWord.DWord15 = 15; + Flash.DWord.DWord16 = 16; + Flash.DWord.DWord17 = 17; + Flash.DWord.DWord18 = 18; + Flash.DWord.DWord19 = 19; + Flash.DWord.DWord20 = 20; + Flash.DWord.DWord21 = 21; + Flash.DWord.DWord22 = 22; + Flash.DWord.DWord23 = 23; + Flash.DWord.DWord24 = 24; + Flash.DWord.DWord25 = 25; + Flash.DWord.DWord26 = 26; + Flash.DWord.DWord27 = 27; + Flash.DWord.DWord28 = 28; + Flash.DWord.DWord29 = 29; + Flash.DWord.DWord30 = 30; + Flash.DWord.DWord31 = 31; + Flash.DWord.DWord32 = 32; + Flash.DWord.DWord33 = 33; + Flash.DWord.DWord34 = 34; + Flash.DWord.DWord35 = 35; + Flash.DWord.DWord36 = 36; + Flash.DWord.DWord37 = 37; + Flash.DWord.DWord38 = 38; + Flash.DWord.DWord39 = 39; + Flash.DWord.DWord40 = 40; + Flash.DWord.DWord41 = 41; + Flash.DWord.DWord42 = 42; + Flash.DWord.DWord43 = 43; + Flash.DWord.DWord44 = 44; + Flash.DWord.DWord45 = 45; + Flash.DWord.DWord46 = 46; + Flash.DWord.DWord47 = 47; + Flash.DWord.DWord48 = 48; + Flash.DWord.DWord49 = 49; + Flash.DWord.DWord50 = 50; + Flash.DWord.DWord51 = 51; + Flash.DWord.DWord52 = 52; + Flash.DWord.DWord53 = 53; + Flash.DWord.DWord54 = 54; + Flash.DWord.DWord55 = 55; + Flash.DWord.DWord56 = 56; + Flash.DWord.DWord57 = 57; + Flash.DWord.DWord58 = 58; + Flash.DWord.DWord59 = 59; + Flash.DWord.DWord60 = 60; + Flash.DWord.DWord61 = 61; + Flash.DWord.DWord62 = 62; + Flash.DWord.DWord63 = 63; + Flash.DWord.DWord64 = 64; + Flash.DWord.DWord65 = 65; + Flash.DWord.DWord66 = 66; + Flash.DWord.DWord67 = 67; + Flash.DWord.DWord68 = 68; + Flash.DWord.DWord69 = 69; + Flash.DWord.DWord70 = 70; + Flash.DWord.DWord71 = 71; + Flash.DWord.DWord72 = 72; + Flash.DWord.DWord73 = 73; + Flash.DWord.DWord74 = 74; + Flash.DWord.DWord75 = 75; + Flash.DWord.DWord76 = 76; + Flash.DWord.DWord77 = 77; + Flash.DWord.DWord78 = 78; + Flash.DWord.DWord79 = 79; + Flash.DWord.DWord80 = 80; + Flash.DWord.DWord81 = 81; + Flash.DWord.DWord82 = 82; + Flash.DWord.DWord83 = 83; + Flash.DWord.DWord84 = 84; + Flash.DWord.DWord85 = 85; + Flash.DWord.DWord86 = 86; + Flash.DWord.DWord87 = 87; + Flash.DWord.DWord88 = 88; + Flash.DWord.DWord89 = 89; + Flash.DWord.DWord90 = 90; + Flash.DWord.DWord91 = 91; + Flash.DWord.DWord92 = 92; + Flash.DWord.DWord93 = 93; + Flash.DWord.DWord94 = 94; + Flash.DWord.DWord95 = 95; + Flash.DWord.DWord96 = 96; + Flash.DWord.DWord97 = 97; + Flash.DWord.DWord98 = 98; + Flash.DWord.DWord99 = 99; + Flash.DWord.DWord100 = 100; + + //unsigned int temp = Data_Size; + + Ext_Flash_Operation(TX, 5, Flash.Buf, NULL ); + + SysCtlDelay(1000); + uint32_t No_Words = 5; + + Ext_Flash_Operation(RX, No_Words, NULL, ReadBuf ); + + return OK; +} + diff --git a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h index 21551aa7f..7b27ce1fb 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h +++ b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h @@ -4,4 +4,123 @@ int Ext_Flash_Operation(); int FlashFS_Init(); + +//--------------- + +#include <stdlib.h> +#include <stdint.h> +#include <stdbool.h> + +typedef struct +{ + uint32_t DWord1; // 1 + uint32_t DWord2; // 2 + uint32_t DWord3; // 3 + uint32_t DWord4; // 4 + uint32_t DWord5; // 5 + uint32_t DWord6; // 6 + uint32_t DWord7; // 7 + uint32_t DWord8; // 8 + uint32_t DWord9; // 9 + uint32_t DWord10; //10 + uint32_t DWord11; //11 + uint32_t DWord12; //12 + uint32_t DWord13; //13 + uint32_t DWord14; //14 + uint32_t DWord15; //15 + uint32_t DWord16; //16 + uint32_t DWord17; //17 + uint32_t DWord18; //18 + uint32_t DWord19; //19 + uint32_t DWord20; //20 + uint32_t DWord21; //21 + uint32_t DWord22; //22 + uint32_t DWord23; //23 + uint32_t DWord24; //24 + uint32_t DWord25; //25 + uint32_t DWord26; //26 + uint32_t DWord27; //27 + uint32_t DWord28; //28 + uint32_t DWord29; //29 + uint32_t DWord30; //30 + uint32_t DWord31; //31 + uint32_t DWord32; //32 + uint32_t DWord33; //33 + uint32_t DWord34; //34 + uint32_t DWord35; //35 + uint32_t DWord36; //36 + uint32_t DWord37; //37 + uint32_t DWord38; //38 + uint32_t DWord39; //39 + uint32_t DWord40; //40 + uint32_t DWord41; //41 + uint32_t DWord42; //42 + uint32_t DWord43; //43 + uint32_t DWord44; //44 + uint32_t DWord45; //45 + uint32_t DWord46; //46 + uint32_t DWord47; //47 + uint32_t DWord48; //48 + uint32_t DWord49; //49 + uint32_t DWord50; //50 + uint32_t DWord51; //51 + uint32_t DWord52; //52 + uint32_t DWord53; //53 + uint32_t DWord54; //54 + uint32_t DWord55; //55 + uint32_t DWord56; //56 + uint32_t DWord57; //57 + uint32_t DWord58; //58 + uint32_t DWord59; //59 + uint32_t DWord60; //60 + uint32_t DWord61; //61 + uint32_t DWord62; //62 + uint32_t DWord63; //63 + uint32_t DWord64; //64 + uint32_t DWord65; //65 + uint32_t DWord66; //66 + uint32_t DWord67; //67 + uint32_t DWord68; //68 + uint32_t DWord69; //69 + uint32_t DWord70; //70 + uint32_t DWord71; //71 + uint32_t DWord72; //72 + uint32_t DWord73; //73 + uint32_t DWord74; //74 + uint32_t DWord75; //75 + uint32_t DWord76; //76 + uint32_t DWord77; //77 + uint32_t DWord78; //78 + uint32_t DWord79; //79 + uint32_t DWord80; //80 + uint32_t DWord81; //81 + uint32_t DWord82; //82 + uint32_t DWord83; //83 + uint32_t DWord84; //84 + uint32_t DWord85; //85 + uint32_t DWord86; //86 + uint32_t DWord87; //87 + uint32_t DWord88; //88 + uint32_t DWord89; //89 + uint32_t DWord90; //90 + uint32_t DWord91; //91 + uint32_t DWord92; //92 + uint32_t DWord93; //90 + uint32_t DWord94; //94 + uint32_t DWord95; //95 + uint32_t DWord96; //96 + uint32_t DWord97; //97 + uint32_t DWord98; //98 + uint32_t DWord99; //99 + uint32_t DWord100;//100 +}Data_Struct; + +#define Data_Size sizeof(Data_Struct) + +typedef union +{ + Data_Struct DWord; + uint32_t Buf[Data_Size]; +}FlashMem; + #endif //FLASHMEMORY_H |
