CDMS_CODE_samp_23SEP_DMA_flag
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE_samp_23SEP_DMA by
Flash.h@257:7d404e9dc9e2, 2016-07-12 (annotated)
- Committer:
- chaithanyarss
- Date:
- Tue Jul 12 17:07:17 2016 +0000
- Revision:
- 257:7d404e9dc9e2
- Parent:
- 52:0bd68655c651
- Child:
- 259:066a7abd2a5f
pipi;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aniruddhv | 52:0bd68655c651 | 1 | #include "FreescaleIAP.h" |
aniruddhv | 52:0bd68655c651 | 2 | |
chaithanyarss | 257:7d404e9dc9e2 | 3 | int strt_add = flash_size() - (2*SECTOR_SIZE); |
chaithanyarss | 257:7d404e9dc9e2 | 4 | uint32_t flasharray[32]; //256+(3*1024) |
chaithanyarss | 257:7d404e9dc9e2 | 5 | uint32_t INITIAL_FLASH[32]; |
chaithanyarss | 257:7d404e9dc9e2 | 6 | /*corrected*/ |
chaithanyarss | 257:7d404e9dc9e2 | 7 | int *nativeflash = (int*)strt_add; |
chaithanyarss | 257:7d404e9dc9e2 | 8 | |
chaithanyarss | 257:7d404e9dc9e2 | 9 | void FLASH_INI() |
chaithanyarss | 257:7d404e9dc9e2 | 10 | { |
chaithanyarss | 257:7d404e9dc9e2 | 11 | uint32_t read[32]; |
chaithanyarss | 257:7d404e9dc9e2 | 12 | for(int i=0;i<32;i++) |
chaithanyarss | 257:7d404e9dc9e2 | 13 | { |
chaithanyarss | 257:7d404e9dc9e2 | 14 | read[i] = nativeflash[i]; |
chaithanyarss | 257:7d404e9dc9e2 | 15 | } |
chaithanyarss | 257:7d404e9dc9e2 | 16 | |
chaithanyarss | 257:7d404e9dc9e2 | 17 | if(read[0] == -1) |
chaithanyarss | 257:7d404e9dc9e2 | 18 | for(int j=0;j<32;j++) |
chaithanyarss | 257:7d404e9dc9e2 | 19 | { |
chaithanyarss | 257:7d404e9dc9e2 | 20 | FCTN_CDMS_WR_FLASH(j,INITIAL_FLASH[j]); |
chaithanyarss | 257:7d404e9dc9e2 | 21 | } |
chaithanyarss | 257:7d404e9dc9e2 | 22 | else |
chaithanyarss | 257:7d404e9dc9e2 | 23 | { |
chaithanyarss | 257:7d404e9dc9e2 | 24 | for(int j=0;j<32;j++) |
chaithanyarss | 257:7d404e9dc9e2 | 25 | { |
chaithanyarss | 257:7d404e9dc9e2 | 26 | read[j] = nativeflash[j]; |
chaithanyarss | 257:7d404e9dc9e2 | 27 | } |
chaithanyarss | 257:7d404e9dc9e2 | 28 | EPS_V_A_EN_STATUS = read[0] >> 31; |
chaithanyarss | 257:7d404e9dc9e2 | 29 | BAE_SW_STATUS = (read[0] << 1) >> 30; |
chaithanyarss | 257:7d404e9dc9e2 | 30 | CDMS_SD_SW_STATUS = (read[0] << 3) >> 30; |
chaithanyarss | 257:7d404e9dc9e2 | 31 | PL_BEE_SW_STATUS = (read[0] << 5) >> 30; |
chaithanyarss | 257:7d404e9dc9e2 | 32 | PL_EPS_LATCH_SW_EN = (read[0] << 7) >> 31; |
chaithanyarss | 257:7d404e9dc9e2 | 33 | RTC_INIT_STATUS = (read[0] << 8) >> 30; |
chaithanyarss | 257:7d404e9dc9e2 | 34 | CDMS_RTC_DISABLE = (read[0] << 10) >> 31; |
chaithanyarss | 257:7d404e9dc9e2 | 35 | CDMS_RESET_COUNTER = read[0]; |
chaithanyarss | 257:7d404e9dc9e2 | 36 | TIME_LATEST_CDSMS_RESET = read[1]; |
chaithanyarss | 257:7d404e9dc9e2 | 37 | COM_TC_BYTES_LIMIT = read[2] >> 16; |
chaithanyarss | 257:7d404e9dc9e2 | 38 | COM_RX_CURRENT_MAX = (read[2] << 16) >> 24; |
chaithanyarss | 257:7d404e9dc9e2 | 39 | COM_RX_DISABLE_TIMEOUT = read[2]; |
chaithanyarss | 257:7d404e9dc9e2 | 40 | COM_PA_TMP_HIGH = read[3] >> 24; |
chaithanyarss | 257:7d404e9dc9e2 | 41 | COM_PA_RECOVERY_TIMEOUT = (read[3] << 8) >> 24; |
chaithanyarss | 257:7d404e9dc9e2 | 42 | COM_SESSION_TIMEOUT = (read[3] << 16) << 24; |
chaithanyarss | 257:7d404e9dc9e2 | 43 | COM_RSSI_MIN = read[3]; |
chaithanyarss | 257:7d404e9dc9e2 | 44 | SD_LIB_BLK_CURRENT = read[4] >> 16; |
chaithanyarss | 257:7d404e9dc9e2 | 45 | } |
chaithanyarss | 257:7d404e9dc9e2 | 46 | |
chaithanyarss | 257:7d404e9dc9e2 | 47 | } |
aniruddhv | 52:0bd68655c651 | 48 | |
aniruddhv | 52:0bd68655c651 | 49 | /*Writing to the Flash*/ |
chaithanyarss | 257:7d404e9dc9e2 | 50 | void FCTN_CDMS_WR_FLASH(uint16_t j,uint32_t datablock) //j-position to write address ; fdata - flash data to be written |
aniruddhv | 52:0bd68655c651 | 51 | { |
chaithanyarss | 257:7d404e9dc9e2 | 52 | for(int i=0;i<5;i++) |
aniruddhv | 52:0bd68655c651 | 53 | { |
aniruddhv | 52:0bd68655c651 | 54 | flasharray[i]=nativeflash[i]; |
aniruddhv | 52:0bd68655c651 | 55 | } |
chaithanyarss | 257:7d404e9dc9e2 | 56 | flasharray[j]=datablock; |
aniruddhv | 52:0bd68655c651 | 57 | erase_sector(strt_add); |
chaithanyarss | 257:7d404e9dc9e2 | 58 | program_flash(strt_add, (char*)flasharray,32); |
aniruddhv | 52:0bd68655c651 | 59 | } |
aniruddhv | 52:0bd68655c651 | 60 | /*End*/ |
aniruddhv | 52:0bd68655c651 | 61 | |
chaithanyarss | 257:7d404e9dc9e2 | 62 | /*===================================================MMS Functions=================================================*/ |
chaithanyarss | 257:7d404e9dc9e2 | 63 | |
chaithanyarss | 257:7d404e9dc9e2 | 64 | void WRITE_TO_FLASH(uint8_t *); |
chaithanyarss | 257:7d404e9dc9e2 | 65 | |
chaithanyarss | 257:7d404e9dc9e2 | 66 | void WRITE_TO_FLASH(uint8_t *flash) |
aniruddhv | 52:0bd68655c651 | 67 | { |
chaithanyarss | 257:7d404e9dc9e2 | 68 | uint32_t FLASH[5]; |
chaithanyarss | 257:7d404e9dc9e2 | 69 | FLASH[0] = ((uint32_t)flash[0] << 24) | ((uint32_t)flash[1] << 16) | ((uint32_t)flash[2] << 8) | ((uint32_t)flash[3]); |
chaithanyarss | 257:7d404e9dc9e2 | 70 | FLASH[1] = ((uint32_t)flash[4] << 24) | ((uint32_t)flash[5] << 16) | ((uint32_t)flash[6] << 8) | ((uint32_t)flash[7]); |
chaithanyarss | 257:7d404e9dc9e2 | 71 | FLASH[2] = ((uint32_t)flash[8] << 24) | ((uint32_t)flash[9] << 16) | ((uint32_t)flash[10] << 8) | ((uint32_t)flash[11]); |
chaithanyarss | 257:7d404e9dc9e2 | 72 | FLASH[3] = ((uint32_t)flash[12] << 24) | ((uint32_t)flash[13] << 16) | ((uint32_t)flash[14] << 8) | ((uint32_t)flash[15]); |
chaithanyarss | 257:7d404e9dc9e2 | 73 | FLASH[4] = ((uint32_t)flash[16] << 24) | ((uint32_t)flash[17] << 16) | ((uint32_t)flash[18] << 8) | ((uint32_t)flash[19]); |
chaithanyarss | 257:7d404e9dc9e2 | 74 | erase_sector(strt_add); |
chaithanyarss | 257:7d404e9dc9e2 | 75 | program_flash(strt_add, (char*)FLASH,160); |
chaithanyarss | 257:7d404e9dc9e2 | 76 | } |
chaithanyarss | 257:7d404e9dc9e2 | 77 | |
chaithanyarss | 257:7d404e9dc9e2 | 78 | void FCTN_CDMS_WR_S_FLASH(uint16_t , uint32_t); |
chaithanyarss | 257:7d404e9dc9e2 | 79 | |
chaithanyarss | 257:7d404e9dc9e2 | 80 | void FCTN_CDMS_WR_S_FLASH(uint16_t mid, uint32_t datavalue) |
chaithanyarss | 257:7d404e9dc9e2 | 81 | { |
chaithanyarss | 257:7d404e9dc9e2 | 82 | |
aniruddhv | 52:0bd68655c651 | 83 | } |