40 static inline const uint32_t* chip_get_magic_location(
void) {
return (
const uint32_t*) 0xF000; }
43 static inline uint32_t chip_get_prog_count(
void) {
return *(chip_get_magic_location() + 0); }
46 static inline uint32_t chip_get_prog_modify_count(
void) {
return *(chip_get_magic_location() + 1); }
49 static inline uint32_t chip_get_prog_max(
void) {
return *(chip_get_magic_location() + 2); }
52 static inline uint32_t chip_get_prog_min(
void) {
return *(chip_get_magic_location() + 3); }
55 static inline uint32_t chip_get_prog_time_ms(
void) {
return *(chip_get_magic_location() + 4); }
63 static inline void chip_program_from_filename(
const char* filename)
66 const uint32_t maxChars = 12;
67 const uint32_t signature = 0xDEADD00D;
68 volatile uint32_t *pCommandReg = &(
LPC_RTC->GPREG0);
69 volatile uint32_t *pFilename = &(
LPC_RTC->GPREG1);
72 memcpy((
void*) pFilename, filename, maxChars);
75 *pCommandReg = signature;
#define LPC_RTC
Definition: LPC17xx.h:1026