diff --git a/cpu/cc2430/dev/bus.c b/cpu/cc2430/dev/bus.c index 0274ce3d6..299cc677c 100644 --- a/cpu/cc2430/dev/bus.c +++ b/cpu/cc2430/dev/bus.c @@ -57,79 +57,3 @@ bus_init (void) clock_init(); } /*---------------------------------------------------------------------------*/ -/** - * Read a block of code memory. - * The code must be placed in the lowest bank of flash. - * - * \param address address to read from flash - * \param buffer buffer to store data - * \param size number of bytes to read - */ -#if !SHORTCUTS_CONF_FLASH_READ -void -flash_read(uint8_t *buf, uint32_t address, uint8_t size) -{ - buf; /*dptr0*/ - address; /*stack-6*/ - size; /*stack-7*/ - - buf; - - DISABLE_INTERRUPTS(); - __asm - mov dpl, r2 - mov dph, r3 - mov a, r0 - push acc - mov a, r2 - push acc - mov a, _MEMCTR - push acc - - mov a, _bp - add a, #0xf9 ;stack - 7 = size - mov r0,a - mov a, @r0 ;r2 = size - mov r2, a ;r2 = size - - inc r0 - mov a, @r0 - mov _DPL1, a ;DPTR1 = address & 0x7FFF | 0x8000 - inc r0 - mov a, @r0 - orl a, #0x80 - mov _DPH1, a - inc r0 ;MEMCTR = ((address >> 15 & 3) << 4) | 0x01 (bank select) - mov a, @r0 - dec r0 - rrc a - mov a, @r0 - rrc a - rr a - rr a - anl a, #0x30 - orl a, #1 - mov _MEMCTR,a -lp1: - mov _DPS, #1 ;active DPTR = 1 - clr a - movc a, @a+dptr ;read flash (DPTR1) - inc dptr - mov _DPS, #0 ;active DPTR = 0 - movx @dptr,a ;write to DPTR0 - inc dptr - djnz r2,lp1 ;while (--size) - - pop acc - mov _MEMCTR, a ;restore bank - - pop acc - mov r2,a - pop acc - mov r0,a - __endasm; - ENABLE_INTERRUPTS(); - DPL1 = *buf++; -} -#endif -/*---------------------------------------------------------------------------*/ diff --git a/cpu/cc2430/dev/bus.h b/cpu/cc2430/dev/bus.h index 6c20dac54..b6aec1671 100644 --- a/cpu/cc2430/dev/bus.h +++ b/cpu/cc2430/dev/bus.h @@ -49,9 +49,6 @@ #define inline void bus_init(void); -#if !SHORTCUTS_CONF_FLASH_READ -void flash_read(uint8_t *buf, uint32_t address, uint8_t size); -#endif void clock_ISR( void ) __interrupt (ST_VECTOR); #endif /* __BUS_H__ */ diff --git a/platform/sensinode/contiki-conf.h b/platform/sensinode/contiki-conf.h index 894c2174a..e40f70b8c 100644 --- a/platform/sensinode/contiki-conf.h +++ b/platform/sensinode/contiki-conf.h @@ -95,12 +95,6 @@ */ #define SHORTCUTS_CONF_NETSTACK 1 -/* - * Directly read mac from flash with a __code pointer, instead of using the - * generic flash_read() routine. This reduces HOME code size - */ -#define SHORTCUTS_CONF_FLASH_READ 1 - /* * Sensors * It is harmless to #define XYZ 1 diff --git a/platform/sensinode/contiki-sensinode-main.c b/platform/sensinode/contiki-sensinode-main.c index a1f9abb9d..48d27269f 100644 --- a/platform/sensinode/contiki-sensinode-main.c +++ b/platform/sensinode/contiki-sensinode-main.c @@ -99,12 +99,7 @@ set_rime_addr(void) uint8_t *addr_long = NULL; uint16_t addr_short = 0; char i; - -#if SHORTCUTS_CONF_FLASH_READ __code unsigned char * macp; -#else - static uint8_t ft_buffer[8]; -#endif PUTSTRING("Rime is 0x"); PUTHEX(sizeof(rimeaddr_t)); @@ -112,7 +107,6 @@ set_rime_addr(void) if(node_id == 0) { PUTSTRING("Reading MAC from flash\n"); -#if SHORTCUTS_CONF_FLASH_READ /* * The MAC is always stored in 0x1FFF8 of our flash. This maps to address * 0xFFF8 of our CODE segment, when BANK3 is selected. @@ -138,18 +132,6 @@ set_rime_addr(void) /* Remap 0x8000 – 0xFFFF to BANK1 */ FMAP = 1; ENABLE_INTERRUPTS(); -#else - /* - * Or use the more generic flash_read() routine which can read from any - * address of our flash - */ - flash_read(ft_buffer, 0x1FFF8, 8); - - /* Flip the byte order and store MSB first */ - for(i = (RIMEADDR_SIZE - 1); i >= 0; --i) { - rimeaddr_node_addr.u8[RIMEADDR_SIZE - 1 - i] = ft_buffer[i]; - } -#endif } else { PUTSTRING("Setting manual address from node_id\n");