This is the Platform Library implementation for the SolderCore.
Examples use the built-in microSD socket.
Examples use the built-in Ethernet port.
There are no built-in graphics. You can enable graphics by editing example_plugin_graphics.c and selecting an appropriate graphics adapter.
The platform I2C bus routing is:
The platform SPI bus routing is:
/* Copyright (c) 2004-2013 Rowley Associates Limited. */ #ifndef __SOLDERCORE_PLATFORM_H #define __SOLDERCORE_PLATFORM_H #include "libplatform/platform.h" #include "libplatform/platform_lm3s_gpio.h" // =========================================== // Arduino footprint to port pin mapping // =========================================== #define ARDUINO_D0 LM3S_PORT_PIN(LM3S_PORT_D, 0) // can be PWM0 U1RX Analog.15 #define ARDUINO_D1 LM3S_PORT_PIN(LM3S_PORT_E, 4) // Analog.3 #define ARDUINO_D2 LM3S_PORT_PIN(LM3S_PORT_E, 5) // Analog.2 #define ARDUINO_D3 LM3S_PORT_PIN(LM3S_PORT_E, 6) // can be PWM4 Arduino PWM Analog.1 #define ARDUINO_D4 LM3S_PORT_PIN(LM3S_PORT_G, 1) // can be PWM5* or PWM1 #define ARDUINO_D5 LM3S_PORT_PIN(LM3S_PORT_G, 0) // can be PWM0* or PWM4 Arduino PWM #define ARDUINO_D6 LM3S_PORT_PIN(LM3S_PORT_D, 1) // can be PWM1 Arduino PWM U1TX Analog.14 #define ARDUINO_D7 LM3S_PORT_PIN(LM3S_PORT_F, 1) // can be PWM1 #define ARDUINO_D8 LM3S_PORT_PIN(LM3S_PORT_C, 7) // U1TX #define ARDUINO_D9 LM3S_PORT_PIN(LM3S_PORT_C, 4) // can be PWM6 #define ARDUINO_D10 LM3S_PORT_PIN(LM3S_PORT_D, 2) // can be PWM2 Arduino PWM U1RX Analog.13 #define ARDUINO_D11 LM3S_PORT_PIN(LM3S_PORT_A, 5) // can be PWM7 Arduino PWM MOSI #define ARDUINO_D12 LM3S_PORT_PIN(LM3S_PORT_A, 4) // can be PWM6 MISO #define ARDUINO_D13 LM3S_PORT_PIN(LM3S_PORT_A, 2) // can be PWM4 SCK #define ARDUINO_A0 LM3S_PORT_PIN(LM3S_PORT_D, 7) // Analog.4 #define ARDUINO_A1 LM3S_PORT_PIN(LM3S_PORT_D, 6) // Analog.5 #define ARDUINO_A2 LM3S_PORT_PIN(LM3S_PORT_D, 5) // Analog.6 #define ARDUINO_A3 LM3S_PORT_PIN(LM3S_PORT_D, 4) // Analog.7 // Mapping of A4 and A5 as digital, typically I2C #define ARDUINO_A4 LM3S_PORT_PIN(LM3S_PORT_B, 3) // Configured by solder jumper PB3 #define ARDUINO_A5 LM3S_PORT_PIN(LM3S_PORT_B, 2) // Configured by solder jumper PB2 // Mapping of A4 and A5 as analog #define ARDUINO_A4_ANALOG LM3S_PORT_PIN(LM3S_PORT_E, 3) // Configured by solder jumper PB3 #define ARDUINO_A5_ANALOG LM3S_PORT_PIN(LM3S_PORT_E, 2) // Configured by solder jumper PB2 // SD connections #define SOLDERCORE_SD_SCK LM3S_PORT_PIN(LM3S_PORT_H, 4) #define SOLDERCORE_SD_MISO LM3S_PORT_PIN(LM3S_PORT_F, 4) #define SOLDERCORE_SD_MOSI LM3S_PORT_PIN(LM3S_PORT_F, 5) // I2C header #define SOLDERCORE_I2C1_SCL LM3S_PORT_PIN(LM3S_PORT_J, 0) #define SOLDERCORE_I2C1_SDA LM3S_PORT_PIN(LM3S_PORT_J, 1) // =========================================== // Internal device to port pin mapping // =========================================== // LEDs. #define SOLDERCORE_USER_LED LM3S_PORT_PIN(LM3S_PORT_C, 5) #define SOLDERCORE_MICROSD_LED LM3S_PORT_PIN(LM3S_PORT_J, 4) #define SOLDERCORE_RUN_LED LM3S_PORT_PIN(LM3S_PORT_E, 7) // LEDs controlled by the PHY. #define SOLDERCORE_ETH_LED0 LM3S_PORT_PIN(LM3S_PORT_F, 3) #define SOLDERCORE_ETH_LED1 LM3S_PORT_PIN(LM3S_PORT_F, 2) // SPI memory site selects. #define SOLDERCORE_MEM1_SELECT LM3S_PORT_PIN(LM3S_PORT_J, 3) #define SOLDERCORE_MEM2_SELECT LM3S_PORT_PIN(LM3S_PORT_J, 5) // microSD socket select. #define SOLDERCORE_MICROSD_SELECT LM3S_PORT_PIN(LM3S_PORT_G, 7) // Platform API LED indexes in LED catalog. #define SOLDERCORE_USER_LED_INDEX 0 #define SOLDERCORE_RUN_LED_INDEX 1 #define SOLDERCORE_MICROSD_LED_INDEX 2 // =========================================== // Platform limits // =========================================== #define PLATFORM_PIN_COUNT (9*8) // 9 ports, 8 bits/port. #define PLATFORM_LED_COUNT 3 #define PLATFORM_BUTTON_COUNT 0 #define PLATFORM_UART_COUNT 2 #define PLATFORM_SPI_BUS_COUNT 2 #define PLATFORM_I2C_BUS_COUNT 2 #define PLATFORM_UEXT_COUNT 0 #endif