diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-07-24 16:29:39 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-07-24 16:29:39 +0300 |
| commit | 8120fdebdff3feee85f8faa07e7abbe4064e1ca3 (patch) | |
| tree | f15f37bde2c9743f7df9b722abf3485f79121441 /Software/Embedded_SW/Embedded | |
| parent | 7aaa8cb0c4b3c39c7583af89fcee5ea24e7b60ce (diff) | |
| download | Tango-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.c | 26 |
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); |
