Mercurial > ecos
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 |
