From 1e29c3a095310fe360325ef6fbb5c9cd9af709da Mon Sep 17 00:00:00 2001 From: richardbarry Date: Fri, 13 Jan 2012 16:41:42 +0000 Subject: [PATCH] Add a few lines to the RX ports that allow the vector to be installed when the FreeRTOS code is built as a library. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1663 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Source/portable/Renesas/RX200/port.c | 8 ++++++++ Source/portable/Renesas/RX200/port_asm.src | 1 + Source/portable/Renesas/RX600/port.c | 8 ++++++++ Source/portable/Renesas/RX600/port_asm.src | 1 + 4 files changed, 18 insertions(+) diff --git a/Source/portable/Renesas/RX200/port.c b/Source/portable/Renesas/RX200/port.c index d49a61a47..bfb6cc3f6 100644 --- a/Source/portable/Renesas/RX200/port.c +++ b/Source/portable/Renesas/RX200/port.c @@ -73,6 +73,14 @@ PSW is set with U and I set, and PM and IPL clear. */ /*-----------------------------------------------------------*/ +/* The following lines are to ensure vSoftwareInterruptEntry can be referenced, + and therefore installed in the vector table, when the FreeRTOS code is built +as a library. */ +extern portBASE_TYPE vSoftwareInterruptEntry; +const portBASE_TYPE * p_vSoftwareInterruptEntry = &vSoftwareInterruptEntry; + +/*-----------------------------------------------------------*/ + /* * Function to start the first task executing - written in asm code as direct * access to registers is required. diff --git a/Source/portable/Renesas/RX200/port_asm.src b/Source/portable/Renesas/RX200/port_asm.src index 3214abdf6..e8c566406 100644 --- a/Source/portable/Renesas/RX200/port_asm.src +++ b/Source/portable/Renesas/RX200/port_asm.src @@ -51,6 +51,7 @@ ; licensing and training services. ;*/ .GLB _vSoftwareInterruptISR + .GLB _vSoftwareInterruptEntry .SECTION P,CODE diff --git a/Source/portable/Renesas/RX600/port.c b/Source/portable/Renesas/RX600/port.c index c84776d6b..b48617517 100644 --- a/Source/portable/Renesas/RX600/port.c +++ b/Source/portable/Renesas/RX600/port.c @@ -74,6 +74,14 @@ PSW is set with U and I set, and PM and IPL clear. */ /*-----------------------------------------------------------*/ +/* The following lines are to ensure vSoftwareInterruptEntry can be referenced, + and therefore installed in the vector table, when the FreeRTOS code is built +as a library. */ +extern portBASE_TYPE vSoftwareInterruptEntry; +const portBASE_TYPE * p_vSoftwareInterruptEntry = &vSoftwareInterruptEntry; + +/*-----------------------------------------------------------*/ + /* * Function to start the first task executing - written in asm code as direct * access to registers is required. diff --git a/Source/portable/Renesas/RX600/port_asm.src b/Source/portable/Renesas/RX600/port_asm.src index 3214abdf6..e8c566406 100644 --- a/Source/portable/Renesas/RX600/port_asm.src +++ b/Source/portable/Renesas/RX600/port_asm.src @@ -51,6 +51,7 @@ ; licensing and training services. ;*/ .GLB _vSoftwareInterruptISR + .GLB _vSoftwareInterruptEntry .SECTION P,CODE -- 2.39.5