Skip to content
This repository has been archived by the owner on Nov 27, 2018. It is now read-only.

Commit

Permalink
Add stm3220g-eval board preset.
Browse files Browse the repository at this point in the history
  • Loading branch information
asterix24 committed Mar 7, 2014
1 parent 9996ad8 commit d472d46
Show file tree
Hide file tree
Showing 120 changed files with 11,028 additions and 0 deletions.
Binary file added boards/stm3220g-eval/.image.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions boards/stm3220g-eval/.spec
@@ -0,0 +1,30 @@
name = "ST STM3220G-EVAL"
description = '''
<h1 align="center">ST STM3220G-EVALEvaluation</h1>
<p align="center">
<table border="0" cellpadding="5">
<tr>
<td rowspan="4"><img src="$path/.image.png"/></td>
<td><b>CPU</b></td>
<td>ST Microelectronics STM32F207IG</td>
</tr>
<tr>
<td><b>Clock</b></td>
<td>120MHz</td>
</tr>
<tr>
<td><b>Memory</b></td>
<td>512kB Flash, 128kB SRAM</td>
</tr>
<tr>
<td><b>Peripherals</b></td>
<td>timers, ADC, UART, SPI, I&#178;C, ETH, CAN, PWM, USB, DMA, SD card connector</td>
</tr>
</table>
</p>
<p>
STM3220G-EVAL&#174 Evaluation board for STM32 F2 series - with Cortex-M3 MCU. Visit the <a href="http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/PF250374">STM3220G-EVAL page</a> for more information.
</p>
'''
3 changes: 3 additions & 0 deletions boards/stm3220g-eval/benchmark/.spec
@@ -0,0 +1,3 @@
name='Benchmarks'
ord=2
description='Projects to measure different aspects of BeRTOS performance.'
3 changes: 3 additions & 0 deletions boards/stm3220g-eval/examples/.spec
@@ -0,0 +1,3 @@
name='Examples'
ord=1
description='Full working example projects.'
153 changes: 153 additions & 0 deletions boards/stm3220g-eval/hw/hw_1wire.h
@@ -0,0 +1,153 @@
/**
* \file
* <!--
* This file is part of BeRTOS.
*
* Bertos 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.
*
* 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 St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Copyright (C) 2012 Robin Gilks
* -->
*
* \addtogroup ow_driver 1-wire driver
* \ingroup drivers
* \{
*
*
* \brief Driver for Dallas 1-wire devices
*
*
* \author Peter Dannegger (danni(at)specs.de)
* \author Martin Thomas (mthomas(at)rhrk.uni-kl.de)
* \author Robin Gilks <g8ecj@gilks.org>
*
* $WIZ$ module_name = "hw_1wire"
*/

#ifndef HW_1WIRE_H_
#define HW_1WIRE_H_

#include <stdint.h>

#include "cfg/cfg_arch.h"
#include "cfg/compiler.h"

#warning TODO:This is an example implementation, you must implement it!

/**
* \defgroup 1wirehw_api Hardware API
* Access to this low level driver is mostly from the device specific layer. However, some functions - especially the
* ow_set_bus() function operates at the lowest level.
*
* This functionality is especially useful when devices are hardwired and so removes the need to scan them for their addresses.
*
* API usage example:
* \code
* switch (sensor)
* {
* case SENSOR_LOW:
* // low level sensor (ground) on PE4
* ow_set_bus (&PINE, &PORTE, &DDRE, PE4);
* if (!ow_busy ()) // see if the conversion is complete
* {
* ow_ds18X20_read_temperature (NULL, &temperature_low); // read the result
* ow_ds18X20_start (NULL, false]); // start the conversion process again
* }
* break;
* case SENSOR_HIGH:
* // high level (roof) sensor on PE5
* ow_set_bus (&PINE, &PORTE, &DDRE, PE5);
* if (!ow_busy ()) // see if the conversion is complete
* {
* ow_ds18X20_read_temperature (NULL, &temperature_hi); // read the result
* ow_ds18X20_start (NULL, false); // start the conversion process again
* }
* break;
* \endcode
* \{
*/

/**
* Get the state of an input pin
*
* \return I/O pin value
*/
INLINE uint8_t ow_input_pin_state (void)
{
return 0;
}

/**
* Enable parasitic mode (set line high to power device)
*
*/
INLINE void ow_parasite_enable (void)
{
}

/**
* Disable parasitic mode
*
*/
INLINE void ow_parasite_disable (void)
{
}

/**
* Reset the bus, disable parasitic mode
*
* \return non zero = error code
*/
INLINE uint8_t ow_reset_intern (void)
{
return 0;
}

/**
* Function to output a bit
*
* \param b bit to output
* \param with_parasite_enable flag to indicate leave the data line active high
* \return bit read from I/O
*/
INLINE uint8_t ow_bit_io_intern (uint8_t b, uint8_t with_parasite_enable)
{
(void) (b);
(void) (with_parasite_enable);
return 0;
}


/**
* Set the port/data direction input pin dynamically
*
* \param in input port
* \param out output port
* \param ddr data direction register
* \param pin I/O pin (bit number on port)
*
*/
void ow_set_bus (volatile uint8_t * in, volatile uint8_t * out, volatile uint8_t * ddr, uint8_t pin)
{
(void) in;
(void) out;
(void) ddr;
(void) pin;
}

/** \} */ //defgroup 1wirehw_api

/** \} */ //addtogroup ow_driver

#endif
85 changes: 85 additions & 0 deletions boards/stm3220g-eval/hw/hw_afsk.h
@@ -0,0 +1,85 @@
/**
* \file
* <!--
* This file is part of BeRTOS.
*
* Bertos 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.
*
* 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 St, Fifth Floor, Boston, MA 02110-1301 USA
*
* As a special exception, you may use this file as part of a free software
* library without restriction. Specifically, if other files instantiate
* templates or use macros or inline functions from this file, or you compile
* this file and link it with other files to produce an executable, this
* file does not by itself cause the resulting executable to be covered by
* the GNU General Public License. This exception does not however
* invalidate any other reasons why the executable file might be covered by
* the GNU General Public License.
*
* Copyright 2006 Develer S.r.l. (http://www.develer.com/)
* All Rights Reserved.
* -->
*
* \brief AFSK modem hardware-specific definitions.
*
* \author Francesco Sacchi <batt@develer.com>
*/

#ifndef HW_AFSK_H
#define HW_AFSK_H

#include "cfg/cfg_arch.h"

#warning TODO:This is an example implementation, you must implement it!

/**
* Initialize the specified channel of the ADC for AFSK needs.
* The adc should be configured to have a continuos stream of convertions.
* For every convertion there must be an ISR that read the sample
* and call afsk_adc_isr(), passing the context and the sample.
*
* \param ch channel to be used for AFSK demodulation.
* \param ctx AFSK context (\see Afsk). This parameter must be saved and
* passed back to afsk_adc_isr() for every convertion.
*/
#define AFSK_ADC_INIT(ch, ctx) do { (void)ch, (void)ctx; } while (0)

#define AFSK_STROBE_INIT() do { /* Implement me */ } while (0)
#define AFSK_STROBE_ON() do { /* Implement me */ } while (0)
#define AFSK_STROBE_OFF() do { /* Implement me */ } while (0)

/**
* Initialize the specified channel of the DAC for AFSK needs.
* The DAC has to be configured in order to call an ISR for every sample sent.
* The DAC doesn't have to start the IRQ immediatly but have to wait
* the AFSK driver to call AFSK_DAC_IRQ_START().
* The ISR must then call afsk_dac_isr() passing the AFSK context.
* \param ch DAC channel to be used for AFSK modulation.
* \param ctx AFSK context (\see Afsk). This parameter must be saved and
* passed back to afsk_dac_isr() for every convertion.
*/
#define AFSK_DAC_INIT(ch, ctx) do { (void)ch, (void)ctx; } while (0)

/**
* Start DAC convertions on channel \a ch.
* \param ch DAC channel.
*/
#define AFSK_DAC_IRQ_START(ch) do { (void)ch; /* Implement me */ } while (0)

/**
* Stop DAC convertions on channel \a ch.
* \param ch DAC channel.
*/
#define AFSK_DAC_IRQ_STOP(ch) do { (void)ch; /* Implement me */ } while (0)

#endif /* HW_AFSK_H */
51 changes: 51 additions & 0 deletions boards/stm3220g-eval/hw/hw_buzzer.h
@@ -0,0 +1,51 @@
/**
* \file
* <!--
* This file is part of BeRTOS.
*
* Bertos 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.
*
* 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 St, Fifth Floor, Boston, MA 02110-1301 USA
*
* As a special exception, you may use this file as part of a free software
* library without restriction. Specifically, if other files instantiate
* templates or use macros or inline functions from this file, or you compile
* this file and link it with other files to produce an executable, this
* file does not by itself cause the resulting executable to be covered by
* the GNU General Public License. This exception does not however
* invalidate any other reasons why the executable file might be covered by
* the GNU General Public License.
*
* Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
* Copyright 2000 Bernie Innocenti
* All Rights Reserved.
* -->
*
* \brief Buzzer hardware-specific definitions
*
*
* \author Francesco Sacchi <batt@develer.com>
*/

#ifndef HW_BUZZER_H
#define HW_BUZZER_H

#warning TODO:This is an example implementation, you must implement it!

#define BUZZER_BIT 1
#define IS_BUZZER_ON 0
#define BUZZER_HW_INIT do { /* Implement me! */ } while (0)
#define BUZZER_ON do { /* Implement me! */ } while (0)
#define BUZZER_OFF do { /* Implement me! */ } while (0)

#endif /* HW_BUZZER_H */

0 comments on commit d472d46

Please sign in to comment.