aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Flash_Memory
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-07-18 17:50:14 +0300
committerAvi Levkovich <avi@twine-s.com>2018-07-18 17:50:14 +0300
commite0c19a620f338848b130ad6d2bd0ce8d5a52ca93 (patch)
tree5a54517153b9860c8464c5211862de84cfe761ba /Software/Embedded_SW/Embedded/Drivers/Flash_Memory
parent9be0f3e321631fa497e29781480c58b0da541f9d (diff)
downloadTango-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.c134
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Flash_Memory/Flash_Memory.h119
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