summaryrefslogtreecommitdiff
path: root/src/avr
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-08-15 17:47:37 -0700
committerKeith Packard <keithp@keithp.com>2018-10-13 08:22:50 -0700
commitc6e57291d91f1f6c4de5c54a5cfd3eef66d9f830 (patch)
tree1fb7753fad10c6897906baec11d2f5756a9bb866 /src/avr
parent6023ff81f1bbd240169b9548209133d3b02d475f (diff)
altos: Remove 8051 address space specifiers
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/avr')
-rw-r--r--src/avr/ao_adc_avr.c12
-rw-r--r--src/avr/ao_arch.h6
-rw-r--r--src/avr/ao_arch_funcs.h6
-rw-r--r--src/avr/ao_eeprom_avr.c20
-rw-r--r--src/avr/ao_i2c_usart.c6
-rw-r--r--src/avr/ao_led.c4
-rw-r--r--src/avr/ao_pwmin.c8
-rw-r--r--src/avr/ao_pwmin.h2
-rw-r--r--src/avr/ao_serial_avr.c10
-rw-r--r--src/avr/ao_spi_usart.c6
-rw-r--r--src/avr/ao_timer.c8
-rw-r--r--src/avr/ao_usb_avr.c46
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)