mirror of https://gerrit.osmocom.org/simtrace2
some main file possibilities
This commit is contained in:
parent
8be71e4e99
commit
6219b5c63d
|
@ -0,0 +1,45 @@
|
|||
#include "board.h"
|
||||
#include "pio.h"
|
||||
|
||||
const Pin statusled = {PIO_PA18, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};
|
||||
const Pin statusled2 = {PIO_PA17, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};
|
||||
|
||||
int main()
|
||||
{
|
||||
register int i = 0;
|
||||
register int b = 0;
|
||||
|
||||
PIO_Configure(&statusled, PIO_LISTSIZE(statusled));
|
||||
PIO_Clear(&statusled);
|
||||
PIO_Configure(&statusled2, PIO_LISTSIZE(statusled2));
|
||||
PIO_Clear(&statusled2);
|
||||
|
||||
for(;;) {
|
||||
i = i+1;
|
||||
if ((i%100000) == 0) {
|
||||
switch(b) {
|
||||
case 0:
|
||||
PIO_Set(&statusled);
|
||||
b=1;
|
||||
break;
|
||||
case 1:
|
||||
PIO_Set(&statusled2);
|
||||
PIO_Set(&statusled);
|
||||
b = 2;
|
||||
break;
|
||||
case 2:
|
||||
PIO_Clear(&statusled);
|
||||
b = 3;
|
||||
break;
|
||||
case 3:
|
||||
PIO_Clear(&statusled2);
|
||||
b = 0;
|
||||
break;
|
||||
default:
|
||||
b = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
#include "board.h"
|
||||
#include "spi.h"
|
||||
#include "pio.h"
|
||||
#include "pmc.h"
|
||||
#include "usart.h"
|
||||
|
||||
#define BUFFER_SIZE 20
|
||||
|
||||
/** Pins to configure for the application.*/
|
||||
const Pin pins[] = { BOARD_PIN_USART_RXD,
|
||||
BOARD_PIN_USART_TXD
|
||||
// PIN_USART1_SCK,
|
||||
// BOARD_PIN_USART_RTS,
|
||||
// BOARD_PIN_USART_CTS,
|
||||
// PINS_SPI,
|
||||
// PIN_SPI_NPCS0_PA11
|
||||
};
|
||||
|
||||
char Buffer[BUFFER_SIZE] = "Hello World";
|
||||
/**
|
||||
* \brief Configures USART in synchronous mode,8N1
|
||||
* * \param mode 1 for master, 0 for slave
|
||||
* */
|
||||
static void _ConfigureUsart(uint32_t freq )
|
||||
{
|
||||
uint32_t mode;
|
||||
/* MASTER; mode = US_MR_USART_MODE_NORMAL
|
||||
| US_MR_USCLKS_MCK
|
||||
| US_MR_CHMODE_NORMAL
|
||||
| US_MR_CLKO
|
||||
| US_MR_SYNC // FIXME: sync or not sync?
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO ;
|
||||
*/
|
||||
|
||||
|
||||
// Slave mode:
|
||||
mode = US_MR_USART_MODE_NORMAL
|
||||
// | US_MR_USCLKS_SCK // we don't have serial clock, do we?
|
||||
| US_MR_CHMODE_NORMAL
|
||||
// | US_MR_SYNC
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO;
|
||||
|
||||
/* Enable the peripheral clock in the PMC */
|
||||
PMC_EnablePeripheral( BOARD_ID_USART ) ;
|
||||
|
||||
/* Configure the USART in the desired mode @USART_SPI_CLK bauds*/
|
||||
USART_Configure( BOARD_USART_BASE, mode, freq, BOARD_MCK ) ;
|
||||
|
||||
/* enable USART1 interrupt */
|
||||
// NVIC_EnableIRQ( USART1_IRQn ) ;
|
||||
|
||||
/* Enable receiver & transmitter */
|
||||
USART_SetTransmitterEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
USART_SetReceiverEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
}
|
||||
|
||||
int main() {
|
||||
/* Configure pins */
|
||||
PIO_Configure( pins, PIO_LISTSIZE( pins ) ) ;
|
||||
|
||||
_ConfigureUsart( 1000000UL);
|
||||
|
||||
USART_WriteBuffer(BOARD_USART_BASE, Buffer, BUFFER_SIZE);
|
||||
|
||||
// FIXME: do we need to call USARTEnable?
|
||||
|
||||
|
||||
// FIXME: do we need to call USARTDisable?
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
#include "board.h"
|
||||
#include "spi.h"
|
||||
#include "pio.h"
|
||||
#include "pmc.h"
|
||||
#include "usart.h"
|
||||
|
||||
#define BUFFER_SIZE 20
|
||||
|
||||
const Pin statusled = {LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};
|
||||
|
||||
/*
|
||||
* Describes the type and attribute of one PIO pin or a group of similar pins.
|
||||
* The #type# field can have the following values:
|
||||
* - PIO_PERIPH_A
|
||||
* - PIO_PERIPH_B
|
||||
* - PIO_OUTPUT_0
|
||||
* - PIO_OUTPUT_1
|
||||
* - PIO_INPUT
|
||||
*
|
||||
* The #attribute# field is a bitmask that can either be set to PIO_DEFAULt,
|
||||
* or combine (using bitwise OR '|') any number of the following constants:
|
||||
* - PIO_PULLUP
|
||||
* - PIO_DEGLITCH
|
||||
* - PIO_DEBOUNCE
|
||||
* - PIO_OPENDRAIN
|
||||
* - PIO_IT_LOW_LEVEL
|
||||
* - PIO_IT_HIGH_LEVEL
|
||||
* - PIO_IT_FALL_EDGE
|
||||
* - PIO_IT_RISE_EDGE
|
||||
*/
|
||||
#if 0
|
||||
typedef struct _Pin
|
||||
{
|
||||
/* Bitmask indicating which pin(s) to configure. */
|
||||
uint32_t mask;
|
||||
/* Pointer to the PIO controller which has the pin(s). */
|
||||
Pio *pio;
|
||||
/* Peripheral ID of the PIO controller which has the pin(s). */
|
||||
uint8_t id;
|
||||
/* Pin type. */
|
||||
uint8_t type;
|
||||
/* Pin attribute. */
|
||||
uint8_t attribute;
|
||||
} Pin ; */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/** Pins to configure for the application.*/
|
||||
const Pin pins[] = { BOARD_PIN_USART_RXD,
|
||||
BOARD_PIN_USART_TXD
|
||||
// PIN_USART1_SCK,
|
||||
// BOARD_PIN_USART_RTS,
|
||||
// BOARD_PIN_USART_CTS,
|
||||
// PINS_SPI,
|
||||
// PIN_SPI_NPCS0_PA11
|
||||
};
|
||||
|
||||
char Buffer[BUFFER_SIZE] = "Hello World";
|
||||
/**
|
||||
* \brief Configures USART in synchronous mode,8N1
|
||||
* * \param mode 1 for master, 0 for slave
|
||||
* */
|
||||
static void _ConfigureUsart(uint32_t freq )
|
||||
{
|
||||
uint32_t mode;
|
||||
|
||||
/* MASTER; mode = US_MR_USART_MODE_NORMAL
|
||||
| US_MR_USCLKS_MCK
|
||||
| US_MR_CHMODE_NORMAL
|
||||
| US_MR_CLKO
|
||||
| US_MR_SYNC // FIXME: sync or not sync?
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO ;
|
||||
*/
|
||||
|
||||
// Slave mode:
|
||||
mode = US_MR_USART_MODE_NORMAL
|
||||
| US_MR_USCLKS_SCK // we don't have serial clock, do we?
|
||||
| US_MR_CHMODE_NORMAL
|
||||
// | US_MR_SYNC
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO;
|
||||
|
||||
/* Enable the peripheral clock in the PMC */
|
||||
PMC_EnablePeripheral( BOARD_ID_USART ) ;
|
||||
|
||||
/* Configure the USART in the desired mode @USART_SPI_CLK bauds*/
|
||||
USART_Configure( BOARD_USART_BASE, mode, freq, BOARD_MCK ) ;
|
||||
UART_Configure(9600, BOARD_MCK);
|
||||
|
||||
/* enable USART1 interrupt */
|
||||
// NVIC_EnableIRQ( USART1_IRQn ) ;
|
||||
|
||||
/* Enable receiver & transmitter */
|
||||
USART_SetTransmitterEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
USART_SetReceiverEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
}
|
||||
|
||||
int main() {
|
||||
register int i = 0;
|
||||
register int state = 0;
|
||||
/* Configure pins */
|
||||
|
||||
// FIXME: initialize system clock done in lowlevelinit?
|
||||
|
||||
PIO_Configure(&statusled, PIO_LISTSIZE(statusled));
|
||||
PIO_Clear(&statusled);
|
||||
|
||||
PIO_Configure( pins, PIO_LISTSIZE( pins ) ) ;
|
||||
|
||||
_ConfigureUsart( 1000000UL);
|
||||
|
||||
while(1) {
|
||||
USART_WriteBuffer(BOARD_USART_BASE, Buffer, BUFFER_SIZE);
|
||||
|
||||
i = i+1;
|
||||
if ((i%500000) == 0) {
|
||||
switch(state) {
|
||||
case 0:
|
||||
PIO_Set(&statusled);
|
||||
state=1;
|
||||
break;
|
||||
case 1:
|
||||
PIO_Clear(&statusled);
|
||||
state = 2;
|
||||
break;
|
||||
default:
|
||||
state = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: do we need to call USARTEnable?
|
||||
|
||||
|
||||
// FIXME: do we need to call USARTDisable?
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue