summaryrefslogtreecommitdiff
path: root/openpicc/config
diff options
context:
space:
mode:
authorhenryk <henryk@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2007-11-06 20:26:48 +0000
committerhenryk <henryk@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2007-11-06 20:26:48 +0000
commit633c646ab36368caf6eaeedd326d9f1835196afd (patch)
treefdd0f60747745d3e528c0f5d8f8895b26fb79633 /openpicc/config
parent3b41196cb6b64cf6ba8ba41d6995428f73d4764a (diff)
Initial import of FreeRTOS code for OpenPICC
git-svn-id: https://svn.openpcd.org:2342/trunk@311 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'openpicc/config')
-rw-r--r--openpicc/config/FreeRTOSConfig.h82
-rw-r--r--openpicc/config/atmel-rom.ld53
-rw-r--r--openpicc/config/board.h78
3 files changed, 213 insertions, 0 deletions
diff --git a/openpicc/config/FreeRTOSConfig.h b/openpicc/config/FreeRTOSConfig.h
new file mode 100644
index 0000000..e4de597
--- /dev/null
+++ b/openpicc/config/FreeRTOSConfig.h
@@ -0,0 +1,82 @@
+/*
+ FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org 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; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org 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 FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ See http://www.FreeRTOS.org for documentation, latest information, license
+ and contact details. Please ensure to read the configuration and relevant
+ port sections of the online documentation.
+
+ Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along
+ with commercial development and support options.
+ ***************************************************************************
+*/
+
+#ifndef FREERTOS_CONFIG_H
+#define FREERTOS_CONFIG_H
+
+/*-----------------------------------------------------------
+ * Application specific definitions.
+ *
+ * These definitions should be adjusted for your particular hardware and
+ * application requirements.
+ *
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
+ *----------------------------------------------------------*/
+
+/* The SWI is used by the scheduler. */
+#define vPortYieldProcessor swi_handler
+
+
+#define configUSE_PREEMPTION 1
+#define configUSE_IDLE_HOOK 1
+#define configUSE_TICK_HOOK 0
+#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 47923200 )
+#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
+#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
+#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 110 )
+#define configTOTAL_HEAP_SIZE ( ( size_t ) 1024*16 )
+#define configMAX_TASK_NAME_LEN ( 16 )
+#define configUSE_TRACE_FACILITY 0
+#define configUSE_16_BIT_TICKS 0
+#define configIDLE_SHOULD_YIELD 1
+
+/* Co-routine definitions. */
+#define configUSE_CO_ROUTINES 0
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
+
+/* Set the following definitions to 1 to include the API function, or zero
+to exclude the API function. */
+
+#define INCLUDE_vTaskPrioritySet 1
+#define INCLUDE_uxTaskPriorityGet 1
+#define INCLUDE_vTaskDelete 1
+#define INCLUDE_vTaskCleanUpResources 0
+#define INCLUDE_vTaskSuspend 1
+#define INCLUDE_vTaskDelayUntil 1
+#define INCLUDE_vTaskDelay 1
+#define INCLUDE_xTaskGetCurrentTaskHandle 1
+
+#endif /* FREERTOS_CONFIG_H */
diff --git a/openpicc/config/atmel-rom.ld b/openpicc/config/atmel-rom.ld
new file mode 100644
index 0000000..9a74420
--- /dev/null
+++ b/openpicc/config/atmel-rom.ld
@@ -0,0 +1,53 @@
+MEMORY
+{
+ flash : ORIGIN = 0x00100000, LENGTH = 256K - 1K /* save 1K for environment on top of flash */
+ ram : ORIGIN = 0x00200000, LENGTH = 64K
+}
+
+__stack_end__ = 0x00200000 + 64K - 4;
+
+SECTIONS
+{
+ . = 0;
+ startup : { *(.startup)} >flash
+
+ prog :
+ {
+ *(.text)
+ *(.text.*)
+ *(.rodata)
+ *(.rodata*)
+ *(.glue_7)
+ *(.glue_7t)
+ } >flash
+
+ __end_of_text__ = .;
+
+ .data :
+ {
+ __data_beg__ = .;
+ __data_beg_src__ = __end_of_text__;
+ *(.data)
+ *(.data.*)
+ *(.ramfunc)
+ __data_end__ = .;
+ } >ram AT>flash
+
+ .bss :
+ {
+ __bss_beg__ = .;
+ *(.bss)
+ *(.bss.*)
+ } >ram
+
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(32 / 8);
+}
+ . = ALIGN(32 / 8);
+ _end = .;
+ _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
+ PROVIDE (end = .);
+
+
diff --git a/openpicc/config/board.h b/openpicc/config/board.h
new file mode 100644
index 0000000..5a56155
--- /dev/null
+++ b/openpicc/config/board.h
@@ -0,0 +1,78 @@
+/***************************************************************
+ *
+ * OpenBeacon.org - board specific configuration
+ *
+ * Copyright 2007 Milosch Meriac <meriac@openbeacon.de>
+ *
+ * change this file to reflect hardware design changes
+ *
+ ***************************************************************
+
+ 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.
+
+ 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+*/
+#ifndef Board_h
+#define Board_h
+
+#include "lib_AT91SAM7.h"
+
+#define RAMFUNC __attribute__ ((long_call, section (".ramfunc")))
+#define IRQFUNC __attribute__ ((interrupt("IRQ")))
+#define FIQFUNC __attribute__ ((interrupt("FIQ")))
+
+#define true -1
+#define false 0
+
+/*-------------------------------*/
+/* SAM7Board Memories Definition */
+/*-------------------------------*/
+
+#define ENVIRONMENT_SIZE 1024
+#define FLASH_PAGE_NB AT91C_IFLASH_NB_OF_PAGES-(ENVIRONMENT_SIZE/AT91C_IFLASH_PAGE_SIZE)
+
+/*-----------------*/
+/* Master Clock */
+/*-----------------*/
+
+#define EXT_OC 18432000 // Exetrnal ocilator MAINCK
+#define MCK 47923200 // MCK (PLLRC div by 2)
+#define MCKKHz (MCK/1000) //
+
+/*-----------------*/
+/* LED declaration */
+/*-----------------*/
+
+//#define LED_GREEN (1L<<23)
+#define LED_GREEN AT91C_PIO_PA25
+//#define LED_RED (1L<<20)
+#define LED_RED AT91C_PIO_PA12
+#define LED_MASK (LED_GREEN|LED_RED)
+
+/*-----------------*/
+/* task priorities */
+/*-----------------*/
+
+#define TASK_BEACON_PRIORITY ( tskIDLE_PRIORITY )
+#define TASK_BEACON_STACK ( 512 )
+
+#define TASK_CMD_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define TASK_CMD_STACK ( 512 )
+
+#define TASK_USB_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define TASK_USB_STACK ( 512 )
+
+#define TASK_NRF_PRIORITY ( tskIDLE_PRIORITY + 3 )
+#define TASK_NRF_STACK ( 512 )
+
+#endif /* Board_h */
personal git repositories of Harald Welte. Your mileage may vary