* make/custom/lpc23xx_tli800.cfg, startup/linkcmds.lpc23xx_tli800: New
	files.
	* Makefile.am, configure.ac: Reflect changes above.
	* startup/linkcmds.lpc2362: Typos.
	* README: Documentation.
This commit is contained in:
Sebastian Huber
2010-06-23 08:11:28 +00:00
parent b0cb645bce
commit b18fd861ba
7 changed files with 103 additions and 11 deletions

View File

@@ -1,3 +1,11 @@
2010-06-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
* make/custom/lpc23xx_tli800.cfg, startup/linkcmds.lpc23xx_tli800: New
files.
* Makefile.am, configure.ac: Reflect changes above.
* startup/linkcmds.lpc2362: Typos.
* README: Documentation.
2010-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* startup/bspstarthooks.c: Removed start section attribute defines.

View File

@@ -68,6 +68,7 @@ EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_int
EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_ext
EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_ram
EXTRA_DIST += startup/linkcmds.lpc2362
EXTRA_DIST += startup/linkcmds.lpc23xx_tli800
###############################################################################
# LibBSP #

View File

@@ -44,3 +44,8 @@ Application Board: NCS (Nurse Control Station)
Ext. Flash: 1MByte, 16 bit wide
Console: UART, 115200 Baud
Network: 100Base-T
Application Board: TLI800
TLI800 is a network node using four serial ports produced by Thorn
Security Limited. It is used by Tyco Safty Products for a fire control
network.

View File

@@ -21,18 +21,18 @@ RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
RTEMS_BSPOPTS_SET([BSP_SMALL_MEMORY],[lpc2362],[1])
RTEMS_BSPOPTS_SET([BSP_SMALL_MEMORY],[lpc23*],[1])
RTEMS_BSPOPTS_SET([BSP_SMALL_MEMORY],[*],[])
RTEMS_BSPOPTS_HELP([BSP_SMALL_MEMORY],[disable testsuite samples with high memory demands])
RTEMS_BSPOPTS_SET([LPC24XX_OSCILLATOR_MAIN],[lpc2362],[3686400U])
RTEMS_BSPOPTS_SET([LPC24XX_OSCILLATOR_MAIN],[lpc23*],[3686400U])
RTEMS_BSPOPTS_SET([LPC24XX_OSCILLATOR_MAIN],[*],[12000000U])
RTEMS_BSPOPTS_HELP([LPC24XX_OSCILLATOR_MAIN],[main oscillator frequency in Hz])
RTEMS_BSPOPTS_SET([LPC24XX_OSCILLATOR_RTC],[*],[32768U])
RTEMS_BSPOPTS_HELP([LPC24XX_OSCILLATOR_RTC],[RTC oscillator frequency in Hz])
RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc2362],[58982400U])
RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc23*],[58982400U])
RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[*],[72000000U])
RTEMS_BSPOPTS_HELP([LPC24XX_CCLK],[CPU clock in Hz])
@@ -52,7 +52,7 @@ RTEMS_BSPOPTS_HELP([LPC24XX_EMC_NUMONYX],[enable Numonyx configuration for EMC])
RTEMS_BSPOPTS_SET([LPC24XX_EMC_TEST],[*],[])
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_TEST],[enable tests for EMC])
RTEMS_BSPOPTS_SET([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[lpc2362],[])
RTEMS_BSPOPTS_SET([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[lpc23*],[])
RTEMS_BSPOPTS_SET([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[enable special task stack support for task stacks in internal RAM])
@@ -62,11 +62,11 @@ RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_CONSOLE],[configuration for console (UART 0)]
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_1],[*],[])
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_1],[configuration for UART 1])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_2],[lpc2362],[0])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_2],[lpc23*],[0])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_2],[lpc24xx_ncs_*],[0])
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_2],[configuration for UART 2])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_3],[lpc2362],[0])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_3],[lpc23*],[0])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_3],[lpc24xx_ncs_*],[0])
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_3],[configuration for UART 3])
@@ -79,17 +79,17 @@ RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_I2C_1],[configuration for I2C 1])
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_2],[*],[])
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_I2C_2],[configuration for I2C 2])
RTEMS_BSPOPTS_SET([LPC24XX_HEAP_EXTEND],[lpc2362],[1])
RTEMS_BSPOPTS_SET([LPC24XX_HEAP_EXTEND],[lpc23*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_HEAP_EXTEND],[enable heap extend by Ethernet and USB regions])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_GPDMA],[*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_STOP_GPDMA],[stop general purpose DMA at start-up to avoid DMA interference])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_ETHERNET],[lpc2362],[])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_ETHERNET],[lpc23*],[])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_ETHERNET],[*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_STOP_ETHERNET],[stop Ethernet controller at start-up to avoid DMA interference])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_USB],[lpc2362],[])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_USB],[lpc23*],[])
RTEMS_BSPOPTS_SET([LPC24XX_STOP_USB],[*],[1])
RTEMS_BSPOPTS_HELP([LPC24XX_STOP_USB],[stop USB controller at start-up to avoid DMA interference])

View File

@@ -0,0 +1,7 @@
#
# Config file for TLI800.
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/lpc24xx.inc

View File

@@ -26,9 +26,9 @@
* <tr><td>.start</td><td>ROM_INT</td><td></td></tr>
* <tr><td>.text</td><td>ROM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.rodata</td><td>ROM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.data</td><td>RAM_ETH</td><td>ROM_INT</td></tr>
* <tr><td>.data</td><td>RAM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.fast</td><td>RAM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.bss</td><td>RAM_ETH</td><td></td></tr>
* <tr><td>.bss</td><td>RAM_INT</td><td></td></tr>
* <tr><td>.work</td><td>RAM_INT</td><td></td></tr>
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
* </table>

View File

@@ -0,0 +1,71 @@
/**
* @file
*
* @ingroup lpc24xx_linker_lpc23xx_tli800
*
* @brief Memory map.
*/
/**
* @defgroup lpc24xx_linker_lpc23xx_tli800 TLI800 Memory Map
*
* @ingroup bsp_linker
*
* @brief TLI800 memory map.
*
* <table>
* <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr>
* <tr><td>RAM_INT</td><td>0x40000000</td><td>32k</td></tr>
* <tr><td>RAM_USB</td><td>0x7fd00000</td><td>8k</td></tr>
* <tr><td>RAM_ETH</td><td>0x7fe00000</td><td>16k</td></tr>
* <tr><td>ROM_BOOT</td><td>0x00000000</td><td>4k</td></tr>
* <tr><td>ROM_CFG</td><td>0x00001000</td><td>4k</td></tr>
* <tr><td>ROM_INT</td><td>0x00002000</td><td>120k</td></tr>
* </table>
*
* <table>
* <tr><th>Section Name</th><th>Section Runtime Region</th><th>Section Load Region</th></tr>
* <tr><td>.start</td><td>ROM_BOOT</td><td></td></tr>
* <tr><td>.text</td><td>ROM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.rodata</td><td>ROM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.data</td><td>RAM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.fast</td><td>RAM_INT</td><td>ROM_INT</td></tr>
* <tr><td>.bss</td><td>RAM_INT</td><td></td></tr>
* <tr><td>.work</td><td>RAM_INT</td><td></td></tr>
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
* </table>
*/
MEMORY {
RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
RAM_USB (AIW) : ORIGIN = 0x7fd00000, LENGTH = 8k
RAM_ETH (AIW) : ORIGIN = 0x7fe00000, LENGTH = 16k
ROM_BOOT (RX) : ORIGIN = 0x00000000, LENGTH = 4k
ROM_CFG (RX) : ORIGIN = 0x00001000, LENGTH = 4k
ROM_INT (RX) : ORIGIN = 0x00002000, LENGTH = 120k
NIRVANA : ORIGIN = 0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", ROM_BOOT);
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
REGION_ALIAS ("REGION_TEXT", ROM_INT);
REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT);
REGION_ALIAS ("REGION_RODATA", ROM_INT);
REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_DATA", RAM_INT);
REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_FAST", RAM_INT);
REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
REGION_ALIAS ("REGION_BSS", RAM_INT);
REGION_ALIAS ("REGION_WORK", RAM_INT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
lpc24xx_region_heap_0_begin = ORIGIN (RAM_ETH);
lpc24xx_region_heap_0_size = LENGTH (RAM_ETH);
lpc24xx_region_heap_0_end = lpc24xx_region_heap_0_begin + lpc24xx_region_heap_0_size;
lpc24xx_region_heap_1_begin = ORIGIN (RAM_USB);
lpc24xx_region_heap_1_size = LENGTH (RAM_USB);
lpc24xx_region_heap_1_end = lpc24xx_region_heap_1_begin + lpc24xx_region_heap_1_size;
INCLUDE linkcmds.base