diff options
Diffstat (limited to 'src/avr')
-rw-r--r-- | src/avr/ao_adc_avr.c | 12 | ||||
-rw-r--r-- | src/avr/ao_arch.h | 6 | ||||
-rw-r--r-- | src/avr/ao_arch_funcs.h | 6 | ||||
-rw-r--r-- | src/avr/ao_eeprom_avr.c | 20 | ||||
-rw-r--r-- | src/avr/ao_i2c_usart.c | 6 | ||||
-rw-r--r-- | src/avr/ao_led.c | 4 | ||||
-rw-r--r-- | src/avr/ao_pwmin.c | 8 | ||||
-rw-r--r-- | src/avr/ao_pwmin.h | 2 | ||||
-rw-r--r-- | src/avr/ao_serial_avr.c | 10 | ||||
-rw-r--r-- | src/avr/ao_spi_usart.c | 6 | ||||
-rw-r--r-- | src/avr/ao_timer.c | 8 | ||||
-rw-r--r-- | src/avr/ao_usb_avr.c | 46 |
12 files changed, 64 insertions, 70 deletions
diff --git a/src/avr/ao_adc_avr.c b/src/avr/ao_adc_avr.c index 2732c4db..2aae95ac 100644 --- a/src/avr/ao_adc_avr.c +++ b/src/avr/ao_adc_avr.c @@ -19,8 +19,8 @@ #include "ao.h" #include "ao_pwmin.h" -volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING]; -volatile __data uint8_t ao_data_head; +volatile struct ao_data ao_data_ring[AO_DATA_RING]; +volatile uint8_t ao_data_head; #ifdef TELESCIENCE const uint8_t adc_channels[AO_LOG_TELESCIENCE_NUM_ADC] = { @@ -119,16 +119,16 @@ ao_adc_poll(void) } void -ao_data_get(__xdata struct ao_data *packet) +ao_data_get(struct ao_data *packet) { uint8_t i = ao_data_ring_prev(ao_data_head); memcpy(packet, (void *) &ao_data_ring[i], sizeof (struct ao_data)); } static void -ao_adc_dump(void) __reentrant +ao_adc_dump(void) { - static __xdata struct ao_data packet; + static struct ao_data packet; uint8_t i; ao_data_get(&packet); printf("tick: %5u", packet.tick); @@ -137,7 +137,7 @@ ao_adc_dump(void) __reentrant printf("\n"); } -__code struct ao_cmds ao_adc_cmds[] = { +const struct ao_cmds ao_adc_cmds[] = { { ao_adc_dump, "a\0ADC" }, { 0, NULL }, }; diff --git a/src/avr/ao_arch.h b/src/avr/ao_arch.h index 2b1da642..6166c50e 100644 --- a/src/avr/ao_arch.h +++ b/src/avr/ao_arch.h @@ -48,12 +48,6 @@ #define ao_arch_naked_declare __attribute__((naked)) #define ao_arch_naked_define -#define __pdata -#define __data -#define __xdata -#define __code const -#define __reentrant -#define __critical #define __interrupt(n) #define __at(n) diff --git a/src/avr/ao_arch_funcs.h b/src/avr/ao_arch_funcs.h index 891ad9b1..dc248660 100644 --- a/src/avr/ao_arch_funcs.h +++ b/src/avr/ao_arch_funcs.h @@ -20,7 +20,7 @@ * ao_spi.c */ -extern __xdata uint8_t ao_spi_mutex; +extern uint8_t ao_spi_mutex; #define ao_spi_get_mask(reg,mask,bus,speed) do { \ ao_mutex_get(&ao_spi_mutex); \ @@ -66,10 +66,10 @@ extern __xdata uint8_t ao_spi_mutex; void -ao_spi_send_bus(void __xdata *block, uint16_t len) __reentrant; +ao_spi_send_bus(void *block, uint16_t len); void -ao_spi_recv_bus(void __xdata *block, uint16_t len) __reentrant; +ao_spi_recv_bus(void *block, uint16_t len); #define ao_spi_send(block, len, bus) ao_spi_send_bus(block, len) #define ao_spi_recv(block, len, bus) ao_spi_recv_bus(block, len) diff --git a/src/avr/ao_eeprom_avr.c b/src/avr/ao_eeprom_avr.c index 2fdf177b..84942cd7 100644 --- a/src/avr/ao_eeprom_avr.c +++ b/src/avr/ao_eeprom_avr.c @@ -21,16 +21,16 @@ #include <ao_storage.h> /* Total bytes of available storage */ -__pdata ao_pos_t ao_storage_total = 1024; +ao_pos_t ao_storage_total = 1024; /* Block size - device is erased in these units. */ -__pdata ao_pos_t ao_storage_block = 1024; +ao_pos_t ao_storage_block = 1024; /* Byte offset of config block. Will be ao_storage_block bytes long */ -__pdata ao_pos_t ao_storage_config = 0; +ao_pos_t ao_storage_config = 0; /* Storage unit size - device reads and writes must be within blocks of this size. */ -__pdata uint16_t ao_storage_unit = 1024; +uint16_t ao_storage_unit = 1024; /* * The internal flash chip is arranged in 8 byte sectors; the @@ -45,7 +45,7 @@ __pdata uint16_t ao_storage_unit = 1024; * Erase the specified sector */ uint8_t -ao_storage_erase(ao_pos_t pos) __reentrant +ao_storage_erase(ao_pos_t pos) { /* Not necessary */ return 1; @@ -83,10 +83,10 @@ ao_intflash_read(uint16_t pos) */ uint8_t -ao_storage_device_write(ao_pos_t pos32, __xdata void *v, uint16_t len) __reentrant +ao_storage_device_write(ao_pos_t pos32, void *v, uint16_t len) { uint16_t pos = pos32; - __xdata uint8_t *d = v; + uint8_t *d = v; if (pos >= ao_storage_total || pos + len > ao_storage_total) return 0; @@ -101,7 +101,7 @@ ao_storage_device_write(ao_pos_t pos32, __xdata void *v, uint16_t len) __reentra * Read from flash */ uint8_t -ao_storage_device_read(ao_pos_t pos, __xdata void *v, uint16_t len) __reentrant +ao_storage_device_read(ao_pos_t pos, void *v, uint16_t len) { uint8_t *d = v; @@ -113,7 +113,7 @@ ao_storage_device_read(ao_pos_t pos, __xdata void *v, uint16_t len) __reentrant } void -ao_storage_flush(void) __reentrant +ao_storage_flush(void) { } @@ -123,7 +123,7 @@ ao_storage_setup(void) } void -ao_storage_device_info(void) __reentrant +ao_storage_device_info(void) { printf ("Using internal flash\n"); } diff --git a/src/avr/ao_i2c_usart.c b/src/avr/ao_i2c_usart.c index c95548d4..67bee339 100644 --- a/src/avr/ao_i2c_usart.c +++ b/src/avr/ao_i2c_usart.c @@ -22,7 +22,7 @@ * Atmega32u4 TWI master mode (I2C) */ -__xdata uint8_t ao_i2c_mutex; +uint8_t ao_i2c_mutex; /* Send bytes over I2C. * @@ -30,7 +30,7 @@ __xdata uint8_t ao_i2c_mutex; * so using interrupts would take way too long */ void -ao_i2c_send(void __xdata *block, uint16_t len) __reentrant +ao_i2c_send(void *block, uint16_t len) { uint8_t *d = block; @@ -51,7 +51,7 @@ ao_i2c_send(void __xdata *block, uint16_t len) __reentrant * clocks the data coming in. */ void -ao_i2c_recv(void __xdata *block, uint16_t len) __reentrant +ao_i2c_recv(void *block, uint16_t len) { uint8_t *d = block; diff --git a/src/avr/ao_led.c b/src/avr/ao_led.c index 8eba4898..165e95d3 100644 --- a/src/avr/ao_led.c +++ b/src/avr/ao_led.c @@ -18,7 +18,7 @@ #include "ao.h" -__pdata uint8_t ao_led_enable; +uint8_t ao_led_enable; #define LED_PORT PORTB #define LED_DDR DDRB @@ -48,7 +48,7 @@ ao_led_toggle(uint8_t colors) } void -ao_led_for(uint8_t colors, uint16_t ticks) __reentrant +ao_led_for(uint8_t colors, uint16_t ticks) { ao_led_on(colors); ao_delay(ticks); diff --git a/src/avr/ao_pwmin.c b/src/avr/ao_pwmin.c index 5eb392a4..2d83380f 100644 --- a/src/avr/ao_pwmin.c +++ b/src/avr/ao_pwmin.c @@ -26,8 +26,8 @@ * project payload developed at Challenger Middle School. */ -volatile __data uint16_t ao_icp3_count = 0; -volatile __data uint16_t ao_icp3_last = 0; +volatile uint16_t ao_icp3_count = 0; +volatile uint16_t ao_icp3_last = 0; uint16_t ao_icp3(void) { @@ -39,7 +39,7 @@ uint16_t ao_icp3(void) } static void -ao_pwmin_display(void) __reentrant +ao_pwmin_display(void) { /* display the most recent value */ printf("icp 3: %5u\n", ao_icp3()); @@ -62,7 +62,7 @@ ISR(TIMER3_CAPT_vect) ao_icp3_last = ao_icp3_this; } -__code struct ao_cmds ao_pwmin_cmds[] = { +const struct ao_cmds ao_pwmin_cmds[] = { { ao_pwmin_display, "p\0PWM input" }, { 0, NULL }, }; diff --git a/src/avr/ao_pwmin.h b/src/avr/ao_pwmin.h index 43c12f53..fcb5e267 100644 --- a/src/avr/ao_pwmin.h +++ b/src/avr/ao_pwmin.h @@ -18,4 +18,4 @@ void ao_pwmin_init(void); -extern volatile __data uint16_t ao_icp3_count; +extern volatile uint16_t ao_icp3_count; diff --git a/src/avr/ao_serial_avr.c b/src/avr/ao_serial_avr.c index ab82b7b1..cfdd7dfe 100644 --- a/src/avr/ao_serial_avr.c +++ b/src/avr/ao_serial_avr.c @@ -18,8 +18,8 @@ #include "ao.h" -__xdata struct ao_fifo ao_serial1_rx_fifo; -__xdata struct ao_fifo ao_serial1_tx_fifo; +struct ao_fifo ao_serial1_rx_fifo; +struct ao_fifo ao_serial1_tx_fifo; void ao_debug_out(char c) @@ -40,7 +40,7 @@ ISR(USART1_RX_vect) #endif } -static __xdata uint8_t ao_serial_tx1_started; +static uint8_t ao_serial_tx1_started; static void ao_serial1_tx_start(void) @@ -75,7 +75,7 @@ _ao_serial1_pollchar(void) #endif char -ao_serial1_getchar(void) __critical +ao_serial1_getchar(void) { char c; @@ -99,7 +99,7 @@ ao_serial1_putchar(char c) } void -ao_serial1_drain(void) __critical +ao_serial1_drain(void) { ao_arch_block_interrupts(); while (!ao_fifo_empty(ao_serial1_tx_fifo)) diff --git a/src/avr/ao_spi_usart.c b/src/avr/ao_spi_usart.c index 0d509cb7..6c30b025 100644 --- a/src/avr/ao_spi_usart.c +++ b/src/avr/ao_spi_usart.c @@ -22,7 +22,7 @@ * Atmega32u4 USART in MSPIM (master SPI mode) */ -__xdata uint8_t ao_spi_mutex; +uint8_t ao_spi_mutex; /* Send bytes over SPI. * @@ -30,7 +30,7 @@ __xdata uint8_t ao_spi_mutex; * so using interrupts would take way too long */ void -ao_spi_send_bus(void __xdata *block, uint16_t len) __reentrant +ao_spi_send_bus(void *block, uint16_t len) { uint8_t *d = block; @@ -47,7 +47,7 @@ ao_spi_send_bus(void __xdata *block, uint16_t len) __reentrant * Poll, sending zeros and reading data back */ void -ao_spi_recv_bus(void __xdata *block, uint16_t len) __reentrant +ao_spi_recv_bus(void *block, uint16_t len) { uint8_t *d = block; diff --git a/src/avr/ao_timer.c b/src/avr/ao_timer.c index 2eaa8b63..ff6a829a 100644 --- a/src/avr/ao_timer.c +++ b/src/avr/ao_timer.c @@ -18,7 +18,7 @@ #include "ao.h" -volatile __data uint16_t ao_tick_count; +volatile uint16_t ao_tick_count; uint16_t ao_time(void) { @@ -33,8 +33,8 @@ uint16_t ao_time(void) #define T1_SAMPLE_TIME 30000 /* 3e6/30000 = 100 */ #if HAS_ADC -volatile __data uint8_t ao_adc_interval = 1; -volatile __data uint8_t ao_adc_count; +volatile uint8_t ao_adc_interval = 1; +volatile uint8_t ao_adc_count; #endif void @@ -53,7 +53,7 @@ ISR(TIMER1_COMPA_vect) #if HAS_ADC void -ao_timer_set_adc_interval(uint8_t interval) __critical +ao_timer_set_adc_interval(uint8_t interval) { ao_adc_interval = interval; ao_adc_count = 0; diff --git a/src/avr/ao_usb_avr.c b/src/avr/ao_usb_avr.c index 41d3c1be..df800994 100644 --- a/src/avr/ao_usb_avr.c +++ b/src/avr/ao_usb_avr.c @@ -27,7 +27,7 @@ #define debug(format, args...) #endif -struct ao_task __xdata ao_usb_task; +struct ao_task ao_usb_task; struct ao_usb_setup { uint8_t dir_type_recip; @@ -35,21 +35,21 @@ struct ao_usb_setup { uint16_t value; uint16_t index; uint16_t length; -} __xdata ao_usb_setup; - -static __xdata uint8_t ao_usb_ep0_state; -static const uint8_t * __xdata ao_usb_ep0_in_data; -static __xdata uint8_t ao_usb_ep0_in_len; -static __xdata uint8_t ao_usb_ep0_in_pending; -static __xdata uint8_t ao_usb_addr_pending; -static __xdata uint8_t ao_usb_ep0_in_buf[2]; -static __xdata uint8_t ao_usb_ep0_out_len; -static __xdata uint8_t *__xdata ao_usb_ep0_out_data; - -static __xdata uint8_t ao_usb_in_flushed; -__xdata uint8_t ao_usb_running; -static __xdata uint8_t ao_usb_configuration; -static __xdata uint8_t ueienx_0; +} ao_usb_setup; + +static uint8_t ao_usb_ep0_state; +static const uint8_t * ao_usb_ep0_in_data; +static uint8_t ao_usb_ep0_in_len; +static uint8_t ao_usb_ep0_in_pending; +static uint8_t ao_usb_addr_pending; +static uint8_t ao_usb_ep0_in_buf[2]; +static uint8_t ao_usb_ep0_out_len; +static uint8_t *ao_usb_ep0_out_data; + +static uint8_t ao_usb_in_flushed; +uint8_t ao_usb_running; +static uint8_t ao_usb_configuration; +static uint8_t ueienx_0; void ao_usb_set_address(uint8_t address) @@ -143,9 +143,9 @@ struct ao_usb_line_coding ao_usb_line_coding = {115200, 0, 0, 8}; static void ao_usb_get_descriptor(uint16_t value) { - const uint8_t *__xdata descriptor; - __xdata uint8_t type = value >> 8; - __xdata uint8_t index = value; + const uint8_t *descriptor; + uint8_t type = value >> 8; + uint8_t index = value; descriptor = ao_usb_descriptors; while (descriptor[0] != 0) { @@ -174,7 +174,7 @@ ao_usb_ep0_set_in_pending(uint8_t in_pending) static void ao_usb_ep0_flush(void) { - __xdata uint8_t this_len; + uint8_t this_len; cli(); UENUM = 0; @@ -242,7 +242,7 @@ static void ao_usb_ep0_setup(void) { /* Pull the setup packet out of the fifo */ - ao_usb_ep0_out_data = (__xdata uint8_t *) &ao_usb_setup; + ao_usb_ep0_out_data = (uint8_t *) &ao_usb_setup; ao_usb_ep0_out_len = 8; ao_usb_ep0_fill(8, (1 << RXSTPI) | (1 << RXOUTI) | (1 << TXINI)); if (ao_usb_ep0_out_len != 0) { @@ -334,7 +334,7 @@ ao_usb_ep0_setup(void) case AO_USB_SET_LINE_CODING: debug ("set line coding\n"); ao_usb_ep0_out_len = 7; - ao_usb_ep0_out_data = (__xdata uint8_t *) &ao_usb_line_coding; + ao_usb_ep0_out_data = (uint8_t *) &ao_usb_line_coding; break; case AO_USB_GET_LINE_CODING: debug ("get line coding\n"); @@ -636,7 +636,7 @@ ao_usb_enable(void) } #if USB_DEBUG -struct ao_task __xdata ao_usb_echo_task; +struct ao_task ao_usb_echo_task; static void ao_usb_echo(void) |