Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSP430 port #32

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
cedc619
agrego modulos rtos para 430
fbucafusco Mar 2, 2016
c59724f
port msp430
fbucafusco Mar 2, 2016
e386678
Merge branch 'msp430_port'
fbucafusco Mar 2, 2016
8266f42
se avanza con el porting. Se agregan rutinas de cambio de contexto
fbucafusco Mar 7, 2016
e8e837d
se avanza con el porting. Se agregan rutinas de cambio de contexto
fbucafusco Mar 7, 2016
279e8a2
se avanza con la definicion de los PHP para el make generate. La def…
fbucafusco Apr 3, 2016
afcff09
1ra version funcional para msp430
fbucafusco Apr 19, 2016
dfc300e
se comienza a portar los tests de conformidad
fbucafusco May 9, 2016
12f9d15
- se corrigen algunas cosas para los tests
fbucafusco May 30, 2016
364dcfb
- cambio minimo
fbucafusco May 31, 2016
72299a6
- se agrega al makefile del test para msp430 una definicion para el p…
fbucafusco Jun 1, 2016
0ec2981
- Se corrige context switch para msp430
fbucafusco Jun 3, 2016
f77f2b1
- cambios en manejo de irq en diferentes lugares del codigo
fbucafusco Jun 5, 2016
bfcf08b
- se corrigen bugs en interrupciones de cambio de contexto y de tick.
fbucafusco Jun 5, 2016
75c15b6
- Post and Pre ISR2 macro/functiones are called parametrized egains t…
fbucafusco Jun 5, 2016
94b3796
- Se agrega funcion PreIsr2_Arch() y se ejecuta en todas los handlers…
fbucafusco Jun 6, 2016
ad536bc
- se mejoran algunos phps y se implementa el wrapper de las irq tipo 1
fbucafusco Jun 6, 2016
ee565aa
- se resuelve el tema de las IRQ de tipo 2.
fbucafusco Jun 11, 2016
d60b912
- Modificaciones para MSP430-GCC 4_00_01_00
fbucafusco Jun 12, 2016
4c64fe3
Correccion de migracion anterior
fbucafusco Jun 12, 2016
20f9a6b
- deplaced some assembly lines for intrinsic functions defined by TI.
fbucafusco Jun 13, 2016
de4962a
- se mejora el generador, rspecto de la parte que asigna flags para l…
fbucafusco Jun 17, 2016
8dbfe10
- minimum changes
fbucafusco Jun 17, 2016
f21ccb0
- Bug in event definition generation, resolved
fbucafusco Jun 17, 2016
febf713
- correcciones de bugs
fbucafusco Jun 17, 2016
543fe16
- se remueve bug
fbucafusco Jun 18, 2016
b8748ac
- bugs corrections
fbucafusco Jun 18, 2016
68d2529
- se modifican IntSecureXXX
fbucafusco Jun 18, 2016
5835909
- debug script for testing is places within each project folder for …
fbucafusco Jun 20, 2016
59b2108
- add clearing iinterrupt flags for ISR Type 1.
fbucafusco Jun 20, 2016
d25b067
ALL CTESTS RUNNING OK
fbucafusco Jun 22, 2016
2c2c6de
ALL TESTS PASSED
fbucafusco Jun 23, 2016
1e764a6
- rebase module/rtos
fbucafusco Jul 1, 2016
309269a
Luego del Rebase 1
fbucafusco Jul 1, 2016
9735117
- Added Platform Helper to AID generation process
fbucafusco Jul 2, 2016
96dbb60
- the $intList is retrieved from Platform.php
fbucafusco Jul 2, 2016
6ef8a37
- added Os_Internal_Defs.php for other platforms
fbucafusco Jul 3, 2016
d924726
- fix trailing spaces
fbucafusco Jul 7, 2016
416971f
Merge remote-tracking branch 'rtos_r/master'
fbucafusco Jul 7, 2016
23aaecb
minor changes
fbucafusco Oct 11, 2016
925f1ec
- many context change corrections
fbucafusco Nov 9, 2016
a901deb
Removed naked attribute from ISR where not needed
fbucafusco Nov 10, 2016
6722c25
- remove debug lines
fbucafusco Nov 13, 2016
40cbef8
- comments
fbucafusco Nov 16, 2016
7335436
- change the default sr fo allow fll to be enabled
fbucafusco Nov 17, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions gen/ginc/Platform.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?php
/* Copyright 2016, Franco Bucafusco
* All rights reserved.
*
* This file is part of CIAA Firmware.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/

/** \brief FreeOSEK Generator : Platform functions
**
** This file implements required funtions that has definitions for all the platforms
**
** \file Platform.php
**
**/

/** \addtogroup FreeOSEK
** @{ */
/** \addtogroup Generator
** @{ */

/*==================[inclusions]=============================================*/
require_once('Helper.php');


/*=================[user functions]==========================================*/

class Platform extends Helper
{
public function __construct($config, $definitions, $log)
{
parent::__construct($config, $definitions, $log);
}

/** \brief Returns the bitwidth of the int type of the choosen platform.
* return the number of bits that has the type int
*/
function getIntWidth()
{
/*TODO: should this be based on CIAAPLATFORM_REGLENGTH definition within ciaaPlatforms.h ? */

if( $this->definitions["ARCH"]== "msp430")
{
return 16;
}
else
{
return 32;
}
}

function getInterruptHandlerList()
{
require("modules/rtos/gen/ginc/".$this->definitions["ARCH"]."/Os_Internal_Defs.php");
return $intList;
}
}
/** @} doxygen end group definition */
/** @} doxygen end group definition */
/*==================[end of file]============================================*/
?>
103 changes: 103 additions & 0 deletions gen/ginc/cortexM0/Os_Internal_Defs.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?php
/********************************************************
* DO NOT CHANGE THIS FILE, IT IS GENERATED AUTOMATICALY*
********************************************************/

/* Copyright 2014, 2015 Mariano Cerdeiro
* Copyright 2014, 2015 Pablo Ridolfi
* Copyright 2015, Alejandro Permingeat
*
* This file is part of CIAA Firmware.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/

/** \brief FreeOSEK Os Support File for cortexM0 Architectures.
**
** \file Os_Internal_Defs.php
**
**/

/** \addtogroup FreeOSEK
** @{ */
/** \addtogroup FreeOSEK_Os
** @{ */
/** \addtogroup FreeOSEK_Os_Internal
** @{ */

/** \brief Handlers used by OSEK */

switch ($this->definitions["CPU"])
{
case "lpc4337":
/* Interrupt sources for LPC43xx (Cortex-M0 core).
* See externals/platforms/cortexM0/lpc43xx/inc/cmsis_43xx_m0app.h.
*/
$intList = array (
0 => "RTC",
1 => "M4CORE",
2 => "DMA",
3 => "RES1",
4 => "FLASH_EEPROM_ATIMER",
5 => "ETH",
6 => "SDIO",
7 => "LCD",
8 => "USB0",
9 => "USB1",
10 => "SCT",
11 => "RIT_WWDT",
12 => "TIMER0",
13 => "GINT1",
14 => "PIN_INT4",
15 => "TIMER3",
16 => "MCPWM",
17 => "ADC0",
18 => "I2C0_I2C1",
19 => "SGPIO",
20 => "SPI_DAC",
21 => "ADC1",
22 => "SSP0_SSP1",
23 => "EVENTROUTER",
24 => "UART0",
25 => "UART1",
26 => "UART2_CCAN1",
27 => "UART3",
28 => "I2S0_I2S1_QEI",
29 => "CCAN_0",
30 => "ADCHS",
31 => "M0SUB",
);
break;

default:
$this->log->error("the CPU " . $this->definitions["CPU"] . " is not supported.");
break;
}


?>
Loading