diff options
| -rw-r--r-- | src/avr-demo/Makefile | 102 | ||||
| -rw-r--r-- | src/avr/ao_arch.h | 67 | ||||
| -rw-r--r-- | src/avr/ao_avr_stdio.c | 52 | ||||
| -rw-r--r-- | src/avr/ao_pins.h | 31 | ||||
| -rw-r--r-- | src/cc1111/ao_arch.h | 99 | ||||
| -rw-r--r-- | src/cc1111/ao_pins.h (renamed from src/core/ao_pins.h) | 17 | ||||
| -rw-r--r-- | src/core/ao.h | 76 | ||||
| -rw-r--r-- | src/core/ao_panic.c | 2 | ||||
| -rw-r--r-- | src/core/ao_task.c | 60 | ||||
| -rw-r--r-- | src/product/Makefile.telebt | 2 | ||||
| -rw-r--r-- | src/product/Makefile.teledongle | 2 | ||||
| -rw-r--r-- | src/product/Makefile.telemetrum | 2 | ||||
| -rw-r--r-- | src/product/Makefile.telemini | 2 | ||||
| -rw-r--r-- | src/product/Makefile.telenano | 2 | ||||
| -rw-r--r-- | src/tidongle/Makefile | 2 | 
15 files changed, 397 insertions, 121 deletions
| diff --git a/src/avr-demo/Makefile b/src/avr-demo/Makefile new file mode 100644 index 00000000..ea356654 --- /dev/null +++ b/src/avr-demo/Makefile @@ -0,0 +1,102 @@ +# +# AltOS build +# +# +vpath % ..:../core:../product:../driver +vpath make-altitude .. +vpath make-kalman .. +vpath kalman.5c ../kalman +vpath kalman_filter.5c ../kalman +vpath load_csv.5c ../kalman +vpath matrix.5c ../kalman +vpath ao-make-product.5c ../util + +MCU=atmega32u4 +DUDECPUTYPE=m32u4 +#PROGRAMMER=stk500v2 -P usb +PROGRAMMER=usbtiny +LOADCMD=avrdude +LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w: +CC=avr-gcc +OBJCOPY=avr-objcopy + +ifndef VERSION +include ../Version +endif + +INC = \ +	ao.h \ +	ao_pins.h \ +	altitude.h \ +	ao_kalman.h + +# +# Common AltOS sources +# +ALTOS_SRC = \ +	ao_cmd.c \ +	ao_mutex.c \ +	ao_panic.c \ +	ao_product.c \ +	ao_serial_avr.c \ +	ao_avr_stdio.c \ +	ao_stdio.c \ +	ao_task.c \ +	ao_timer.c \ +	ao_led.c + +PRODUCT=AvrDemo-v0.0 +MCU=atmega32u4 +PRODUCT_DEF=-DAVR_DEMO +IDPRODUCT=0x000a +CFLAGS = $(PRODUCT_DEF) -I. -I../avr -I../core -I.. +CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues + +NICKLE=nickle + +PROG=avr-demo + +SRC=$(ALTOS_SRC) ao_demo.c ao_debug_avr.c +OBJ=$(SRC:.c=.o) + +V=0 +# The user has explicitly enabled quiet compilation. +ifeq ($(V),0) +quiet = @printf "  $1 $2 $@\n"; $($1) +endif +# Otherwise, print the full command line. +quiet ?= $($1) + +all: $(PROG) + +$(PROG): Makefile $(OBJ) +	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) + +$(PROG).hex: $(PROG) +	avr-size $(PROG) +	$(OBJCOPY) -R .eeprom -O ihex $(PROG) $@ + + +load: $(PROG).hex +	$(LOADCMD) $(LOADARG)$(PROG).hex + +../altitude.h: make-altitude +	nickle $< > $@ + +ao_product.h: ao-make-product.5c ../Version +	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ + +ao_product.rel: ao_product.c ao_product.h +	$(call quiet,CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $< + +distclean:	clean + +clean: +	rm -f $(OBJ) +	rm -f ao_product.h + +install: + +uninstall: + +$(OBJ): ao.h ao_product.h
\ No newline at end of file diff --git a/src/avr/ao_arch.h b/src/avr/ao_arch.h index 2b566814..51a65880 100644 --- a/src/avr/ao_arch.h +++ b/src/avr/ao_arch.h @@ -18,8 +18,18 @@  #ifndef _AO_ARCH_H_  #define _AO_ARCH_H_ -#include "avr.h" +#include <avr/io.h> +#include <avr/interrupt.h> +#ifdef AVR_DEMO +#define TEENSY 1 +#endif + +#if TEENSY +#define F_CPU 16000000UL	// 16 MHz +#else +#define F_CPU  8000000UL	// 8 MHz +#endif  /*   * AVR definitions and code fragments for AltOS @@ -29,8 +39,61 @@  /* Various definitions to make GCC look more like SDCC */ -#define __naked __attribute__((naked)) +#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 ao_arch_reboot()	/* XXX */ +#define ao_arch_nop()		asm("nop") + +#define ao_arch_interrupt(n)	/* nothing */ + +#undef putchar +#undef getchar +#define putchar(c)	ao_putchar(c) +#define getchar		ao_getchar + +extern void putchar(char c); +extern char getchar(void); + +extern int ao_serial_number; + +#define ao_arch_init_stack(task, start) do {			\ +	uint8_t		*sp = task->stack + AO_STACK_SIZE - 1;	\ +	uint16_t	a = (uint16_t) start; 			\ +	int		i;					\ +								\ +	/* Return address */					\ +	PUSH8(sp, a);						\ +	PUSH8(sp, (a >> 8));					\ +								\ +	/* Clear register values */				\ +	i = 32;							\ +	while (i--)						\ +		PUSH8(sp, 0);					\ +								\ +	/* SREG with interrupts enabled */			\ +	PUSH8(sp, 0x80);					\ +	task->sp = sp;						\ +} while (0); +	 +#define ao_arch_save_context() do {			\ +	asm("push r31" "\n\t" "push r30"); \ +	asm("push r29" "\n\t" "push r28" "\n\t" "push r27" "\n\t" "push r26" "\n\t" "push r25"); \ +	asm("push r24" "\n\t" "push r23" "\n\t" "push r22" "\n\t" "push r21" "\n\t" "push r20"); \ +	asm("push r19" "\n\t" "push r18" "\n\t" "push r17" "\n\t" "push r16" "\n\t" "push r15"); \ +	asm("push r14" "\n\t" "push r13" "\n\t" "push r12" "\n\t" "push r11" "\n\t" "push r10"); \ +	asm("push r9" "\n\t" "push r8" "\n\t" "push r7" "\n\t" "push r6" "\n\t" "push r5"); \ +	asm("push r4" "\n\t" "push r3" "\n\t" "push r2" "\n\t" "push r1" "\n\t" "push r0"); \ +	asm("in r0, __SREG__" "\n\t" "push r0"); \ +	sei(); \ +	} while (0) +  #endif /* _AO_ARCH_H_ */ diff --git a/src/avr/ao_avr_stdio.c b/src/avr/ao_avr_stdio.c new file mode 100644 index 00000000..2f358eb5 --- /dev/null +++ b/src/avr/ao_avr_stdio.c @@ -0,0 +1,52 @@ +/* + * Copyright © 2011 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#include "ao.h" + +int +stdio_put(char c, FILE *stream) +{ +	if (ao_cur_task && ao_num_stdios) +		putchar(c); +	else +	{ +		if (c == '\n') +			stdio_put('\r', stream); +		loop_until_bit_is_set(UCSR1A, UDRE1); +		UDR1 = c; +	} + +	return 0; +} + +int +stdio_get(FILE *stream) +{ +	return (int) getchar() & 0xff; +} + +static FILE mystdout = FDEV_SETUP_STREAM(stdio_put, NULL, _FDEV_SETUP_WRITE); + +static FILE mystdin = FDEV_SETUP_STREAM(NULL, stdio_get, _FDEV_SETUP_READ); + +void +ao_stdio_init(void) +{ +	stdout = &mystdout; +	stdin = &mystdin; +	printf("%d stdios registered\n", ao_num_stdios); +} diff --git a/src/avr/ao_pins.h b/src/avr/ao_pins.h new file mode 100644 index 00000000..ef41b59c --- /dev/null +++ b/src/avr/ao_pins.h @@ -0,0 +1,31 @@ +/* + * Copyright © 2011 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +#ifdef AVR_DEMO +	#define AO_LED_RED		(1<<7) +	#define LEDS_AVAILABLE		(AO_LED_RED) +	#define USE_SERIAL_STDIN	1 +	#define HAS_USB			0 +	#define PACKET_HAS_SLAVE	0 +	#define HAS_SERIAL_1		1 +	#define HAS_BEEP		0 +#endif + +#endif /* _AO_PINS_H_ */ diff --git a/src/cc1111/ao_arch.h b/src/cc1111/ao_arch.h index 585fffe5..35fd66f8 100644 --- a/src/cc1111/ao_arch.h +++ b/src/cc1111/ao_arch.h @@ -24,9 +24,108 @@  #include "cc1111.h" +/* Convert a __data pointer into an __xdata pointer */ +#define DATA_TO_XDATA(a)	((void __xdata *) ((uint8_t) (a) | 0xff00)) + +/* Stack runs from above the allocated __data space to 0xfe, which avoids + * writing to 0xff as that triggers the stack overflow indicator + */ +#define AO_STACK_START	0x90 +#define AO_STACK_END	0xfe +#define AO_STACK_SIZE	(AO_STACK_END - AO_STACK_START + 1) +  #define ao_arch_reboot() do {					\  	WDCTL = WDCTL_EN | WDCTL_MODE_WATCHDOG | WDCTL_INT_64;	\  	ao_delay(AO_SEC_TO_TICKS(2));				\  	} while (0) +#define ao_arch_nop()	_asm nop _endasm +#define ao_arch_interrupt(n)	__interrupt n + +#define ao_arch_naked_declare	__naked +#define ao_arch_naked_define	__naked + +/* CC1111-specific drivers */ + +/* + * ao_romconfig.c + */ + +#define AO_ROMCONFIG_VERSION	2 + +extern __code __at (0x00a0) uint16_t ao_romconfig_version; +extern __code __at (0x00a2) uint16_t ao_romconfig_check; +extern __code __at (0x00a4) uint16_t ao_serial_number; +extern __code __at (0x00a6) uint32_t ao_radio_cal; + +#ifndef HAS_USB +#error Please define HAS_USB +#endif + +#if HAS_USB +extern __code __at (0x00aa) uint8_t ao_usb_descriptors []; +#endif + +/* Initialize stack */ +#define ao_arch_init_stack(task, start) {			\ +	uint8_t __xdata *stack = task->stack;			\ +	uint8_t	t;						\ +	*stack++ = ((uint16_t) start);		/* 0 */		\ +	*stack++ = ((uint16_t) start) >> 8;	/* 1 */		\ +								\ +	/* and the stuff saved by ao_switch */			\ +	*stack++ = 0;				/* 2 acc */   	\ +	*stack++ = 0x80;			/* 3 IE */ 	\ +								\ +	/*  4 DPL 						\ +	 *  5 DPH 						\ +	 *  6 B 						\ +	 *  7 R2 						\ +	 *  8 R3 						\ +	 *  9 R4 						\ +	 * 10 R5 						\ +	 * 11 R6 						\ +	 * 12 R7 						\ +	 * 13 R0 						\ +	 * 14 R1 						\ +	 * 15 PSW 						\ +	 * 16 BP 						\ +	 */ 							\ +	for (t = 0; t < 13; t++) 				\ +		*stack++ = 0; 					\ +	task->stack_count = 17;					\ +	} + + +   +/* Save current context */ + +#define ao_arch_save_context() \ +	_asm \ +		/* Push ACC first, as when restoring the context it must be restored \ +		 * last (it is used to set the IE register). */ \ +		push	ACC \ +		/* Store the IE register then enable interrupts. */ \ +		push	_IEN0 \ +		setb	_EA \ +		push	DPL \ +		push	DPH \ +		push	b \ +		push	ar2 \ +		push	ar3 \ +		push	ar4 \ +		push	ar5 \ +		push	ar6 \ +		push	ar7 \ +		push	ar0 \ +		push	ar1 \ +		push	PSW \ +	_endasm; \ +	PSW = 0; \ +	_asm \ +		push	_bp \ +	_endasm + + +  #endif /* _AO_ARCH_H_ */ diff --git a/src/core/ao_pins.h b/src/cc1111/ao_pins.h index e1f5459f..4ac6a84b 100644 --- a/src/core/ao_pins.h +++ b/src/cc1111/ao_pins.h @@ -405,4 +405,21 @@  #ifndef HAS_MONITOR  #error Please define HAS_MONITOR  #endif + +#ifndef HAS_ADC +#error Please define HAS_ADC +#endif + +#if HAS_ADC + +#if HAS_ACCEL +#ifndef HAS_ACCEL_REF +#error Please define HAS_ACCEL_REF +#endif +#else +#define HAS_ACCEL_REF 0 +#endif + +#endif /* HAS_ADC */ +  #endif /* _AO_PINS_H_ */ diff --git a/src/core/ao.h b/src/core/ao.h index 0f1a24ad..9b0bb545 100644 --- a/src/core/ao.h +++ b/src/core/ao.h @@ -22,21 +22,16 @@  #include <stdio.h>  #include <string.h>  #include <stddef.h> -#include <ao_arch.h>  #include "ao_pins.h" +#include <ao_arch.h>  #define TRUE 1  #define FALSE 0  /* Convert a __data pointer into an __xdata pointer */ -#define DATA_TO_XDATA(a)	((void __xdata *) ((uint8_t) (a) | 0xff00)) - -/* Stack runs from above the allocated __data space to 0xfe, which avoids - * writing to 0xff as that triggers the stack overflow indicator - */ -#define AO_STACK_START	0x90 -#define AO_STACK_END	0xfe -#define AO_STACK_SIZE	(AO_STACK_END - AO_STACK_START + 1) +#ifndef DATA_TO_XDATA +#define DATA_TO_XDATA(a)	(a) +#endif  /* An AltOS task */  struct ao_task { @@ -75,7 +70,7 @@ ao_alarm(uint16_t delay);  /* Yield the processor to another task */  void -ao_yield(void) __naked; +ao_yield(void) ao_arch_naked_declare;  /* Add a task to the run queue */  void @@ -136,7 +131,7 @@ ao_timer_set_adc_interval(uint8_t interval) __critical;  /* Timer interrupt */  void -ao_timer_isr(void) __interrupt 9; +ao_timer_isr(void) ao_arch_interrupt(9);  /* Initialize the timer */  void @@ -159,20 +154,8 @@ struct ao_adc {  	int16_t		sense_m;	/* main continuity sense */  }; -#ifndef HAS_ADC -#error Please define HAS_ADC -#endif -  #if HAS_ADC -#if HAS_ACCEL -#ifndef HAS_ACCEL_REF -#error Please define HAS_ACCEL_REF -#endif -#else -#define HAS_ACCEL_REF 0 -#endif -  /*   * ao_adc.c   */ @@ -207,7 +190,7 @@ ao_adc_get(__xdata struct ao_adc *packet);  /* The A/D interrupt handler */  void -ao_adc_isr(void) __interrupt 1; +ao_adc_isr(void) ao_arch_interrupt(1);  /* Initialize the A/D converter */  void @@ -299,25 +282,6 @@ void  ao_led_init(uint8_t enable);  /* - * ao_romconfig.c - */ - -#define AO_ROMCONFIG_VERSION	2 - -extern __code __at (0x00a0) uint16_t ao_romconfig_version; -extern __code __at (0x00a2) uint16_t ao_romconfig_check; -extern __code __at (0x00a4) uint16_t ao_serial_number; -extern __code __at (0x00a6) uint32_t ao_radio_cal; - -#ifndef HAS_USB -#error Please define HAS_USB -#endif - -#if HAS_USB -extern __code __at (0x00aa) uint8_t ao_usb_descriptors []; -#endif - -/*   * ao_usb.c   */ @@ -342,7 +306,7 @@ ao_usb_flush(void);  #if HAS_USB  /* USB interrupt handler */  void -ao_usb_isr(void) __interrupt 6; +ao_usb_isr(void) ao_arch_interrupt(6);  #endif  /* Enable the USB controller */ @@ -446,7 +410,7 @@ ao_dma_abort(uint8_t id);  /* DMA interrupt routine */  void -ao_dma_isr(void) __interrupt 8; +ao_dma_isr(void) ao_arch_interrupt(8);  /*   * ao_mutex.c @@ -927,10 +891,10 @@ ao_dbg_init(void);  #endif  void -ao_serial_rx1_isr(void) __interrupt 3; +ao_serial_rx1_isr(void) ao_arch_interrupt(3);  void -ao_serial_tx1_isr(void) __interrupt 14; +ao_serial_tx1_isr(void) ao_arch_interrupt(14);  char  ao_serial_getchar(void) __critical; @@ -1251,14 +1215,6 @@ struct ao_telemetry_tiny {  	char			callsign[AO_MAX_CALLSIGN];  }; -/* - * ao_radio_recv tacks on rssi and status bytes - */ - -struct ao_telemetry_raw_recv { -	uint8_t			packet[AO_MAX_TELEMETRY + 2]; -}; -  struct ao_telemetry_orig_recv {  	struct ao_telemetry_orig	telemetry_orig;  	int8_t				rssi; @@ -1271,6 +1227,14 @@ struct ao_telemetry_tiny_recv {  	uint8_t				status;  }; +/* + * ao_radio_recv tacks on rssi and status bytes + */ + +struct ao_telemetry_raw_recv { +	uint8_t			packet[AO_MAX_TELEMETRY + 2]; +}; +  /* Set delay between telemetry reports (0 to disable) */  #define AO_TELEMETRY_INTERVAL_PAD	AO_MS_TO_TICKS(1000) @@ -1302,7 +1266,7 @@ extern __xdata uint8_t ao_radio_done;  extern __xdata uint8_t ao_radio_mutex;  void -ao_radio_general_isr(void) __interrupt 16; +ao_radio_general_isr(void) ao_arch_interrupt(16);  void  ao_radio_get(uint8_t len); diff --git a/src/core/ao_panic.c b/src/core/ao_panic.c index fdada201..cbfdf399 100644 --- a/src/core/ao_panic.c +++ b/src/core/ao_panic.c @@ -33,7 +33,7 @@ ao_panic_delay(uint8_t n)  	while (n--)  		while (--j)  			while (--i) -				_asm nop _endasm; +				ao_arch_nop();  }  void diff --git a/src/core/ao_task.c b/src/core/ao_task.c index f5850fa4..41520476 100644 --- a/src/core/ao_task.c +++ b/src/core/ao_task.c @@ -27,7 +27,6 @@ __xdata struct ao_task *__data ao_cur_task;  void  ao_add_task(__xdata struct ao_task * task, void (*start)(void), __code char *name) __reentrant  { -	uint8_t	__xdata *stack;  	uint8_t task_id;  	uint8_t t;  	if (ao_num_tasks == AO_NUM_TASKS) @@ -42,70 +41,19 @@ ao_add_task(__xdata struct ao_task * task, void (*start)(void), __code char *nam  	ao_tasks[ao_num_tasks++] = task;  	task->task_id = task_id;  	task->name = name; +	task->wchan = NULL;  	/*  	 * Construct a stack frame so that it will 'return'  	 * to the start of the task  	 */ -	stack = task->stack; - -	*stack++ = ((uint16_t) start);		/* 0 */ -	*stack++ = ((uint16_t) start) >> 8;	/* 1 */ - -	/* and the stuff saved by ao_switch */ -	*stack++ = 0;				/* 2 acc */   -	*stack++ = 0x80;			/* 3 IE */ - -	/*  4 DPL -	 *  5 DPH -	 *  6 B -	 *  7 R2 -	 *  8 R3 -	 *  9 R4 -	 * 10 R5 -	 * 11 R6 -	 * 12 R7 -	 * 13 R0 -	 * 14 R1 -	 * 15 PSW -	 * 16 BP -	 */ -	for (t = 0; t < 13; t++) -		*stack++ = 0; - -	task->stack_count = 17; -	task->wchan = NULL; +	ao_arch_init_stack(task, start);  }  /* Task switching function. This must not use any stack variables */  void -ao_yield(void) __naked +ao_yield(void) ao_arch_naked_define  { - -	/* Save current context */ -	_asm -		/* Push ACC first, as when restoring the context it must be restored -		 * last (it is used to set the IE register). */ -		push	ACC -		/* Store the IE register then enable interrupts. */ -		push	_IEN0 -		setb	_EA -		push	DPL -		push	DPH -		push	b -		push	ar2 -		push	ar3 -		push	ar4 -		push	ar5 -		push	ar6 -		push	ar7 -		push	ar0 -		push	ar1 -		push	PSW -	_endasm; -	PSW = 0; -	_asm -		push	_bp -	_endasm; +	ao_arch_save_context();  	if (ao_cur_task_index == AO_NO_TASK_INDEX)  		ao_cur_task_index = ao_num_tasks-1; diff --git a/src/product/Makefile.telebt b/src/product/Makefile.telebt index 99730b9f..d9ef1ea7 100644 --- a/src/product/Makefile.telebt +++ b/src/product/Makefile.telebt @@ -79,7 +79,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ diff --git a/src/product/Makefile.teledongle b/src/product/Makefile.teledongle index f32c037f..cfd9b806 100644 --- a/src/product/Makefile.teledongle +++ b/src/product/Makefile.teledongle @@ -78,7 +78,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ diff --git a/src/product/Makefile.telemetrum b/src/product/Makefile.telemetrum index fd958aea..2759ac52 100644 --- a/src/product/Makefile.telemetrum +++ b/src/product/Makefile.telemetrum @@ -93,7 +93,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ diff --git a/src/product/Makefile.telemini b/src/product/Makefile.telemini index 3bd14226..7f251897 100644 --- a/src/product/Makefile.telemini +++ b/src/product/Makefile.telemini @@ -82,7 +82,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ diff --git a/src/product/Makefile.telenano b/src/product/Makefile.telenano index 72043044..c47e95ff 100644 --- a/src/product/Makefile.telenano +++ b/src/product/Makefile.telenano @@ -81,7 +81,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ diff --git a/src/tidongle/Makefile b/src/tidongle/Makefile index fc8df1f4..247f4fe0 100644 --- a/src/tidongle/Makefile +++ b/src/tidongle/Makefile @@ -73,7 +73,7 @@ all: ../$(PROG)  ../$(PROG): $(REL) Makefile  	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. -	$(call quiet,CHECK_STACK) ../core/ao.h $(PMEM) +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)  ao_product.h: ao-make-product.5c ../Version  	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ | 
