34 void nvol_write_edge_m(
bool z_val,
edge_t* p_val, uint8 z_task);
36 #ifndef M24256_EEPROM_INTERFACE_H
37 #define M24256_EEPROM_INTERFACE_H
39 #define EEPROM_PAGE_SIZE 64
41 extern unsigned char* eeprom_n_byte_read(
unsigned long addr,
unsigned int n);
42 extern unsigned char eeprom_byte_write(
unsigned long addr,
unsigned char data);
43 extern unsigned char eeprom_page_write(
unsigned long addr,
unsigned char * data,
unsigned int n);
46 #ifndef FM24CL16_FRAM_INTERFACE_H
47 #define FM24CL16_FRAM_INTERFACE_H
48 #define FM24CL16_PAGE_SIZE 256
50 #define FRAM_WRITE_REC_OFFSET 0x0000
51 #define FRAM_PARAM_OFFSET 0x0100
52 #define FRAM_HFFS_DATA_OFFSET 0x7F00
53 #define FRAM_FEATURE_OFFSET 0x7FD0
54 #define FRAM_FEATURE2_OFFSET (FRAM_FEATURE_OFFSET + FRAM_FEATURE_SIZE)
55 #define FRAM_FEATURE3_OFFSET (FRAM_FEATURE2_OFFSET + FRAM_FEATURE_SIZE)
56 #define FRAM_TIME_SEG_OFFSET 0x7FE0
57 #define FRAM_POWERDOWN_OFFSET 0x7FF0
58 #define FRAM_DB_REV_OFFSET 0x7FFC
59 #define FRAM_DB_STARTUP_FLAG_OFFSET 0x7FFE
60 #define FRAM_PROCESS_BYTE_OFFSET 0x7FFF
62 #define FRAM_HFFS_DATA_SIZE 28
63 #define FRAM_FEATURE_SIZE 2
64 #define FRAM_POWERDOWN_SIZE 4
65 #define FRAM_DB_REV_SIZE 2
66 #define FRAM_DB_STARTUP_FLAG_SIZE 1
67 #define FRAM_PROCESS_BYTE_SIZE 1
75 extern unsigned char* fram_n_byte_read(uint8 fram,
unsigned int addr,
unsigned char n);
76 extern unsigned char fram_n_byte_write_to(uint8 fram,
unsigned int addr,
unsigned char * data,
unsigned char n);
77 extern unsigned char fram_n_byte_write(
unsigned int addr,
unsigned char * data,
unsigned char n);
78 extern void fram_n_byte_write_nowait(
unsigned int addr,
unsigned char * data,
unsigned char n);
80 extern void * get_HFFS_non_vol_memory_region_addr();
81 extern void * get_mkt_nv_memory_pool_region_addr();
86 #define MAX_NVOL_DATA_SIZE 4
92 #define nvol_write_boolean_m(z_val, p_val, z_task) (*p_val = z_val)
93 #define nvol_write_uint8_m(z_val, p_val, z_task) (*p_val = z_val)
94 #define nvol_write_uint16_m(z_val, p_val, z_task) (*p_val = z_val)
95 #define nvol_write_int16_m(z_val, p_val, z_task) (*p_val = z_val)
96 #define nvol_write_bit_m(z_val, z_mask, p_val, z_task) {if (z_val) *p_val |= z_mask; else *p_val &= ~z_mask;}
97 #define nvol_write_uint32_m(z_val, p_val, z_task) (*p_val = z_val)
98 #define nvol_write_int32_m(z_val, p_val, z_task) (*p_val = z_val)
99 #define nvol_write_time32_m(z_val, p_val, z_task) (*p_val = z_val)
100 #define nvol_write_float32_m(z_val, p_val, z_task) (*p_val = z_val)
101 #define nvol_write_f32_status_m(z_val, p_val, z_task) (*p_val = z_val)
102 #define nvol_write_string_m(z_val, p_val, z_task) {unicode_copy(p_val, z_val);}
103 #define nvol_write_unicode_char_m(z_val, p_val, z_task) (*p_val = z_val)
109 #define NVOL_START ((uint32)(&nvol_start+1)) // Points to the first byte in nvol (start of nonvol)
110 #define NVOL_END ((uint32)(&nvol_end)) // Points to the first byte after the last byte in nonvol (just past the end of nonvol)
111 #define NVOL_SIZE (NVOL_END - NVOL_START)
112 #define IS_IN_NVOL(x) (((uint32)(x) >= NVOL_START) && ((uint32)(x) < NVOL_END))
113 #define EEPROM_OFFSET(x) ((uint32)x - NVOL_START)
114 #define RAM_ADDRESS(x) ((uint32)x + NVOL_START)
117 #define WRITE_REQ_NONE 0x0
118 #define WRITE_REQ_COMMS 0x1
119 #define WRITE_REQ_FBLOCKS 0x2
120 #define WRITE_REQ_RUNTIME 0x3
121 #define WRITE_REQ_IMMEDIATE 0xF
122 #define NVOL_COMMS_MASK 0x11
123 #define NVOL_FBLOCKS_MASK 0x22
124 #define NVOL_RUNTIME_MASK 0x33
128 #define SIZE_MASK 0x0C
129 #define SIZE_1BYTE 0x00 //0000
130 #define SIZE_2BYTES 0x04 //0100
131 #define SIZE_4BYTES 0x08 //1000
132 #define SIZE_8BYTES 0x0C //1100
135 #define RTC_WRITE_COMPLETE 0x00
136 #define RTC_WRITE_PENDING 0x01
137 #define RTC_WRITE_STARTED 0x02
140 #define CSUM_SEED 0xA5
143 #define NVOL_CSUM_SECTION_SIZE 256
144 #define NVOL_CSUM_SECTIONS ((NVOL_SIZE/NVOL_CSUM_SECTION_SIZE)+1)
145 #define NVOL_CSUM_LAST_SECTION (NVOL_CSUM_SECTIONS-1)
152 uint8 data[MAX_NVOL_DATA_SIZE];
156 void nvol_write_boolean_m(
bool z_val,
bool * p_val, uint8 z_task);
157 void nvol_write_uint8_m(uint8 z_val, uint8 * p_val, uint8 z_task);
158 void nvol_write_uint16_m(uint16 z_val, uint16 * p_val, uint8 z_task);
159 void nvol_write_int16_m(int16 z_val, int16 *p_val, uint8 z_task);
160 void nvol_write_bit_m(
bool z_val, uint8 z_mask, uint8 * p_val, uint8 z_task);
161 void nvol_write_uint32_m(uint32 z_val, uint32 * p_val, uint8 z_task);
162 void nvol_write_int32_m(int32 z_val, int32 * p_val, uint8 z_task);
163 void nvol_write_time32_m(time32 z_val, time32 * p_val, uint8 z_task);
164 void nvol_write_float32_m(float32 z_val, float32 * p_val, uint8 z_task);
166 void nvol_write_string_m(unicode_p src_val, unicode_p dest_val, uint8 z_task);
167 void nvol_write_unicode_char_m(unicode_c z_val, unicode_p p_val, uint8 z_task);
169 void nvol_populate_runtime_nvol_table(
void);
170 int16 nvol_size_of_runtime_nvol_table();
171 uint8 nvol_store_coldstarted_runtime_params(
void);
172 uint8 nvol_load_runtime_params(
void);
173 void nvol_set_configuration_revision(
void);
174 void nvol_set_rtc_write_pending(
void);
175 void nvol_rtc_write_pending(
void);
176 bool nvol_is_rtc_write_complete(
void);
177 bool nvol_security_parameter(uint32 address);
178 void nvol_set_security_revision(
void);
179 unicode_p nvol_is_coldstart_popup_required();
180 bool nvol_virgin_coldstart();
181 extern bool is_not_in_runtime_nvol_table(uint32 z_cisp);
182 extern bool is_safe_parameter(uint32 z_cisp);
192 #ifndef SYSTOMONITOR_H
193 #define SYSTOMONITOR_H
201 unsigned char data[MAX_NVOL_DATA_SIZE];
205 #define WRITE_RECORD_SIZE (18)
212 extern void force_power_fail();
214 #define POWER_FAIL_DEBUG (0)
218 #define NVRAM_MAX_SIZE 2*1024*1024;
220 #define SIM_PRIM_FRAM_OFFSET 0
221 #define SIM_FRAM_SIZE 32*1024
222 #define SIM_EEPROM_OFFSET (SIM_PRIM_FRAM_OFFSET + SIM_FRAM_SIZE)
223 #define SIM_EEPROM_SIZE 512*1024
224 #define SIM_SEC_FRAM_OFFSET (SIM_EEPROM_OFFSET + SIM_EEPROM_SIZE)
225 #define SIM_SECURITY_OFFSET (SIM_SEC_FRAM_OFFSET + SIM_FRAM_SIZE)
226 #define SIM_SECURITY_SIZE 512*1024
228 #define HFFS_NON_VOL_MEMORY_REGION_OFFSET (SIM_SECURITY_OFFSET + SIM_SECURITY_SIZE)
229 #define HFFS_NON_VOL_MEMORY_REGION_SIZE 500
231 #define MKT_NV_MEMORY_POOL_REGION_OFFSET (HFFS_NON_VOL_MEMORY_REGION_OFFSET + HFFS_NON_VOL_MEMORY_REGION_SIZE)
232 #define MKT_NV_MEMORY_POOL_REGION_SIZE 32*1024
235 #define FLASH_WIRING_OFFSET 0
236 #define FLASH_WIRING_SIZE 128*1024
Definition: stdtypes.h:122
Definition: nvol_write.h:28
Definition: stdtypes.h:116
Definition: nvol_write.h:21
Definition: nvol_write.h:195
Definition: nvol_write.h:148