comparison packages/hal/common/current/src/hal_if.c @ 1200:0e41ddaf36fe

Flesh out exported FIS functions - from Patrick Doyle
author gthomas
date Sun, 07 Sep 2003 11:48:56 +0000
parents ff838098079a
children c15fe26f81c7
comparison
equal deleted inserted replaced
1199:e8111345b655 1200:0e41ddaf36fe
122 static __call_if_flash_fis_op_fn_t flash_fis_op; 122 static __call_if_flash_fis_op_fn_t flash_fis_op;
123 123
124 static cyg_bool 124 static cyg_bool
125 flash_fis_op( int op, char *name, void *val) 125 flash_fis_op( int op, char *name, void *val)
126 { 126 {
127 cyg_bool res = false; 127 cyg_bool res = false;
128 struct fis_image_desc *fis; 128 struct fis_image_desc *fis;
129 int num; 129 int num;
130 130
131 CYGARC_HAL_SAVE_GP(); 131 CYGARC_HAL_SAVE_GP();
132 fis = fis_lookup(name, &num); 132 fis = fis_lookup(name, &num);
133 if(fis != NULL) 133 if(fis != NULL)
134 { 134 {
135 switch ( op ) { 135 switch ( op ) {
136 case CYGNUM_CALL_IF_FLASH_FIS_GET_FLASH_BASE: 136 case CYGNUM_CALL_IF_FLASH_FIS_GET_FLASH_BASE:
137 *(CYG_ADDRESS *)val = fis->flash_base; 137 *(CYG_ADDRESS *)val = fis->flash_base;
138 res = true; 138 res = true;
139 break; 139 break;
140 case CYGNUM_CALL_IF_FLASH_FIS_GET_SIZE: 140 case CYGNUM_CALL_IF_FLASH_FIS_GET_SIZE:
141 *(unsigned long *)val = fis->size; 141 *(unsigned long *)val = fis->size;
142 res = true; 142 res = true;
143 break; 143 break;
144 default: 144 case CYGNUM_CALL_IF_FLASH_FIS_GET_MEM_BASE:
145 break; 145 *(CYG_ADDRESS *)val = fis->mem_base;
146 } 146 res = true;
147 } 147 break;
148 CYGARC_HAL_RESTORE_GP(); 148 case CYGNUM_CALL_IF_FLASH_FIS_GET_ENTRY_POINT:
149 return res; 149 *(CYG_ADDRESS *)val = fis->entry_point;
150 res = true;
151 break;
152 case CYGNUM_CALL_IF_FLASH_FIS_GET_DATA_LENGTH:
153 *(unsigned long *)val = fis->data_length;
154 res = true;
155 break;
156 case CYGNUM_CALL_IF_FLASH_FIS_GET_DESC_CKSUM:
157 *(unsigned long *)val = fis->desc_cksum;
158 res = true;
159 break;
160 case CYGNUM_CALL_IF_FLASH_FIS_GET_FILE_CKSUM:
161 *(unsigned long *)val = fis->file_cksum;
162 res = true;
163 break;
164 default:
165 break;
166 }
167 }
168 CYGARC_HAL_RESTORE_GP();
169 return res;
150 } 170 }
151 #endif 171 #endif
152 172
153 //---------------------------- 173 //----------------------------
154 // Delay uS 174 // Delay uS