aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-07-24 16:29:39 +0300
committerAvi Levkovich <avi@twine-s.com>2018-07-24 16:29:39 +0300
commit8120fdebdff3feee85f8faa07e7abbe4064e1ca3 (patch)
treef15f37bde2c9743f7df9b722abf3485f79121441 /Software/Embedded_SW/Embedded
parent7aaa8cb0c4b3c39c7583af89fcee5ea24e7b60ce (diff)
downloadTango-8120fdebdff3feee85f8faa07e7abbe4064e1ca3.tar.gz
Tango-8120fdebdff3feee85f8faa07e7abbe4064e1ca3.zip
update Stub_ExFlash.c
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c
index d7aa770c6..eb58c48ac 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c
@@ -169,7 +169,7 @@ void Stub_ExtFlashReadRequest(MessageContainer* requestContainer)
}
//-------------------------------------------------------------------------------------
-#define MaxFlashWords 1050
+#define MaxFlashWords 1024
#define MaxFlashBytes MaxFlashWords*4
typedef union
@@ -178,17 +178,23 @@ typedef union
uint8_t Bytes[MaxFlashBytes];
}Flash_Union;
+Flash_Union Flash_RW;
+//Flash_Union Flash_R;
+
+uint32_t WriteBuf[MaxFlashBytes];
+uint32_t ReadBuf[MaxFlashBytes];
+
#define MaxBytesForAddress 256;// The addresses to be programmed must not span a 256-byte boundary
//---------------------------------------------------------------------------------------------
void Stub_ExtFlashWriteWordsRequest(MessageContainer* requestContainer)
{
- uint32_t WriteBuf[MaxFlashWords];
+
uint32_t status = PASSED;
- Flash_Union Flash_W;
+
uint32_t i;
uint32_t No_Words,No_Bytes;
@@ -205,15 +211,17 @@ void Stub_ExtFlashWriteWordsRequest(MessageContainer* requestContainer)
No_Words = request->n_wordtwrite;
No_Bytes = request->n_wordtwrite *4;
+ memset(&Flash_RW,0,sizeof(Flash_RW));
+
for(i = 0; i < No_Words;i++)
{
- Flash_W.DWords[i] = request->wordtwrite[i];
+ Flash_RW.DWords[i] = request->wordtwrite[i];
}
for(i = 0; i < No_Bytes;i++)
{
- WriteBuf[i] = Flash_W.Bytes[i];
+ WriteBuf[i] = Flash_RW.Bytes[i];
}
if(No_Bytes >256)
@@ -258,14 +266,14 @@ void Stub_ExtFlashReadWordsRequest(MessageContainer* requestContainer)
uint32_t status = PASSED;
MessageContainer responseContainer;
- Flash_Union Flash_R;
+ memset(&Flash_RW,0,sizeof(Flash_RW));
uint32_t i;
StubExtFlashReadWordsRequest* request = stub_ext_flash_read_words_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
uint32_t No_Words,No_Bytes;
- uint32_t ReadBuf[MaxFlashWords];
+
No_Words = request->number_of_words;
No_Bytes = request->number_of_words *4;
@@ -291,12 +299,12 @@ void Stub_ExtFlashReadWordsRequest(MessageContainer* requestContainer)
for(i = 0; i < No_Bytes;i++)
{
- Flash_R.Bytes[i] = ReadBuf[i];
+ Flash_RW.Bytes[i] = ReadBuf[i];
}
StubExtFlashReadWordsResponse response = STUB_EXT_FLASH_READ_WORDS_RESPONSE__INIT;
- response.readbytes = Flash_R.DWords;
+ response.readbytes = Flash_RW.DWords;
response.n_readbytes = No_Words;
status_response(status,&response.status, &response.statusword ,&response.has_statusword);