From: richardbarry Date: Mon, 20 Oct 2008 17:21:22 +0000 (+0000) Subject: Continue ColdeFire/CodeWarrior development. X-Git-Tag: V5.1.2~189 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=dec61cda60943bb02e080f5dbd242a87cae6cd29;p=freertos Continue ColdeFire/CodeWarrior development. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@507 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/CWSettingsWindows.stg b/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/CWSettingsWindows.stg index 9cfc047a1..9c3ff743c 100644 Binary files a/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/CWSettingsWindows.stg and b/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/CWSettingsWindows.stg differ diff --git a/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/INTERNAL_FLASH/TargetDataWindows.tdt b/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/INTERNAL_FLASH/TargetDataWindows.tdt index 8789996f9..608dcf48a 100644 Binary files a/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/INTERNAL_FLASH/TargetDataWindows.tdt and b/Demo/ColdFire_MCF52221_CodeWarrior/RTOSDemo_Data/INTERNAL_FLASH/TargetDataWindows.tdt differ diff --git a/Demo/ColdFire_MCF52221_CodeWarrior/lcf/MCF52221_INTERNAL_FLASH.lcf b/Demo/ColdFire_MCF52221_CodeWarrior/lcf/MCF52221_INTERNAL_FLASH.lcf index a7cacb026..6cf788e78 100644 --- a/Demo/ColdFire_MCF52221_CodeWarrior/lcf/MCF52221_INTERNAL_FLASH.lcf +++ b/Demo/ColdFire_MCF52221_CodeWarrior/lcf/MCF52221_INTERNAL_FLASH.lcf @@ -8,15 +8,15 @@ MEMORY { vectorrom (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400 cfmprotrom (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000020 code (RX) : ORIGIN = 0x00000500, LENGTH = 0x0001FB00 - vectorram (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00000400 userram (RWX) : ORIGIN = 0x20000400, LENGTH = 0x00003C00 } SECTIONS { # Heap and Stack sizes definition - ___heap_size = 0x1000; - ___stack_size = 0x1000; + ___heap_size = 0x4; + ___stack_size = 0x200; + @@ -39,7 +39,6 @@ SECTIONS { .userram : {} > userram .code : {} > code - .vectorram : {} > vectorram .vectors : { @@ -121,7 +120,7 @@ SECTIONS { . = ALIGN (0x4); } >> userram - ___VECTOR_RAM = ADDR(.vectorram); +# ___VECTOR_RAM = ADDR(.vectorram); __SP_INIT = ___SP_INIT; diff --git a/Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOSConfig.h b/Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOSConfig.h index 876be9ae5..2cca51ac5 100644 --- a/Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOSConfig.h +++ b/Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOSConfig.h @@ -70,7 +70,7 @@ #define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 80000000 ) #define configTICK_RATE_HZ ( ( portTickType ) 100 ) #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 160 ) -#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 0 ) ) /* The heap size is worked out from the linker script, so this constant is not used. */ +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 10 * 1024 ) ) /* The heap size is worked out from the linker script, so this constant is not used. */ #define configMAX_TASK_NAME_LEN ( 12 ) #define configUSE_TRACE_FACILITY 1 #define configUSE_16_BIT_TICKS 0 diff --git a/Demo/ColdFire_MCF52221_CodeWarrior/sources/exceptions.c b/Demo/ColdFire_MCF52221_CodeWarrior/sources/exceptions.c index a6a41edf2..93cedda05 100644 --- a/Demo/ColdFire_MCF52221_CodeWarrior/sources/exceptions.c +++ b/Demo/ColdFire_MCF52221_CodeWarrior/sources/exceptions.c @@ -10,8 +10,10 @@ #define REGISTER_ABI __REGABI__ -extern __declspec(system) unsigned long __VECTOR_RAM[]; -#define VECTOR_RAM_ADDRESS (uint32)__VECTOR_RAM + +extern void vPIT0InterruptHandler( void ); +extern void vPortYieldISR( void ); +extern void vFECISRHandler( void ); /***********************************************************************/ /* @@ -402,7 +404,7 @@ __declspec(vectortable) vectorTableEntryType _vect[256] = { /* Interrupt vecto asm_exception_handler, /* 77 (0x134) Device-specific interrupts */ asm_exception_handler, /* 78 (0x138) Device-specific interrupts */ asm_exception_handler, /* 79 (0x13C) Device-specific interrupts */ - asm_exception_handler, /* 80 (0x140) Device-specific interrupts */ + vPortYieldISR, /* 80 (0x140) Device-specific interrupts */ asm_exception_handler, /* 81 (0x144) Device-specific interrupts */ asm_exception_handler, /* 82 (0x148) Device-specific interrupts */ asm_exception_handler, /* 83 (0x14C) Device-specific interrupts */ @@ -441,7 +443,7 @@ __declspec(vectortable) vectorTableEntryType _vect[256] = { /* Interrupt vecto asm_exception_handler, /* 116 (0x___) Reserved */ asm_exception_handler, /* 117 (0x___) Reserved */ asm_exception_handler, /* 118 (0x___) Reserved */ - asm_exception_handler, /* 119 (0x___) Reserved */ + vPIT0InterruptHandler, /* 119 (0x___) Reserved */ asm_exception_handler, /* 120 (0x___) Reserved */ asm_exception_handler, /* 121 (0x___) Reserved */ asm_exception_handler, /* 122 (0x___) Reserved */ @@ -604,6 +606,7 @@ asm void mcf5xxx_wr_vbr(unsigned long) { /* Set VBR */ */ void initialize_exceptions(void) { +#if 0 /* * Memory map definitions from linker command files used by mcf5xxx_startup */ @@ -619,6 +622,9 @@ void initialize_exceptions(void) __VECTOR_RAM[n] = (unsigned long)_vect[n]; } mcf5xxx_wr_vbr((unsigned long)__VECTOR_RAM); +#endif + + mcf5xxx_wr_vbr((unsigned long)_vect); } #ifdef __cplusplus