From 5f5901d75b2020c5e85b6d5ecacbc1f4968f4dbd Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 9 Apr 2016 11:10:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9257 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- .../STM32/NASA-OSAL-STM32F746G-DISCOVERY/Makefile | 3 +- .../abstractions/nasa_osal/lib/cfe_psp_chibios.c | 71 ++++++++++++++++++++++ os/common/abstractions/nasa_osal/src/osapi.c | 2 +- 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 os/common/abstractions/nasa_osal/lib/cfe_psp_chibios.c diff --git a/demos/STM32/NASA-OSAL-STM32F746G-DISCOVERY/Makefile b/demos/STM32/NASA-OSAL-STM32F746G-DISCOVERY/Makefile index 9513bd1b1..95e58f8f0 100644 --- a/demos/STM32/NASA-OSAL-STM32F746G-DISCOVERY/Makefile +++ b/demos/STM32/NASA-OSAL-STM32F746G-DISCOVERY/Makefile @@ -115,6 +115,7 @@ CSRC = $(STARTUPSRC) \ $(BOARDSRC) \ $(TESTSRC) \ $(NASAOSALSRC) \ + $(CHIBIOS)/os/common/abstractions/nasa_osal/lib/cfe_psp_chibios.c \ main.c # C++ sources that can be compiled in ARM or THUMB mode depending on the global @@ -146,7 +147,7 @@ ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ - $(NASAOSALINC) + $(NASAOSALINC) $(CHIBIOS)/os/common/abstractions/nasa_osal/lib # # Project, sources and paths diff --git a/os/common/abstractions/nasa_osal/lib/cfe_psp_chibios.c b/os/common/abstractions/nasa_osal/lib/cfe_psp_chibios.c new file mode 100644 index 000000000..3a17798c1 --- /dev/null +++ b/os/common/abstractions/nasa_osal/lib/cfe_psp_chibios.c @@ -0,0 +1,71 @@ +/* + ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @file cfe_psp_chibios.c + * @brief CFE PSP module code. + * + * @addtogroup nasa_cfe_psp + * @{ + */ + +#include "ch.h" + +#include "common_types.h" +#include "osapi.h" + +/*===========================================================================*/ +/* Module local definitions. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module exported variables. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module local types. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module local variables. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module local functions. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module exported functions. */ +/*===========================================================================*/ + +/** + * @brief Provides a common interface to the processor reset. + * @note Not currently implemented. + */ +void CFE_PSP_Restart(uint32 reset_type) { + + (void)reset_type; +} + +/** + * @brief Generic panic handler. + */ +void CFE_PSP_Panic(int32 ErrorCode) { + + chSysHalt((char *)ErrorCode); +} + +/** @} */ diff --git a/os/common/abstractions/nasa_osal/src/osapi.c b/os/common/abstractions/nasa_osal/src/osapi.c index cb39acca9..28088165e 100644 --- a/os/common/abstractions/nasa_osal/src/osapi.c +++ b/os/common/abstractions/nasa_osal/src/osapi.c @@ -2120,7 +2120,7 @@ int32 OS_TaskGetIdByName(uint32 *task_id, const char *task_name) { */ int32 OS_TaskGetInfo(uint32 task_id, OS_task_prop_t *task_prop) { thread_t *tp = (thread_t *)task_id; - size_t wasize = (size_t)tp - (size_t)tp->stklimit + sizeof (thread_t); + size_t wasize = (size_t)tp - (size_t)tp->wabase + sizeof (thread_t); /* NULL pointer checks.*/ if (task_prop == NULL) { -- cgit v1.2.3