Merge pull request #303 from sg-/master

LPC1768 IAR support for lwip
Sam Grove 2016-06-12 13:57:11 +01:00 committed by GitHub
commit a528da04e5
4 changed files with 50 additions and 31 deletions

3
.gitignore vendored
View File

@ -8,6 +8,8 @@ MANIFEST
# Private settings # Private settings
private_settings.py private_settings.py
test_spec.json
projectfiles/
# Default Build Directory # Default Build Directory
build/ build/
@ -74,4 +76,3 @@ cscope.*
# vim swap files # vim swap files
*.swp *.swp
*~ *~

View File

@ -1 +1 @@
https://github.com/mbedmicro/mbed/#52e93aebd083b679a8fe7b0e47039f138fa8c224 https://github.com/mbedmicro/mbed/#df0c855df97688074545693f66bcca5cf9f42111

View File

@ -187,12 +187,21 @@ struct mem {
# define ETHMEM_SECTION __attribute__((section("AHBSRAM1"),aligned)) # define ETHMEM_SECTION __attribute__((section("AHBSRAM1"),aligned))
# endif # endif
#elif defined(TARGET_LPC1768) #elif defined(TARGET_LPC1768)
# define ETHMEM_SECTION __attribute((section("AHBSRAM0"))) # if defined (__ICCARM__)
# define ETHMEM_SECTION
# elif defined(TOOLCHAIN_GCC_CR) || defined(TOOLCHAIN_GCC_ARM)
# define ETHMEM_SECTION __attribute__((section(".data.$RamPeriph32")))
# else
# define ETHMEM_SECTION __attribute__((section("AHBSRAM0"),aligned))
# endif
#else #else
# define ETHMEM_SECTION #define ETHMEM_SECTION
#endif #endif
/** the heap. we need one struct mem at the end and some room for alignment */ /** the heap. we need one struct mem at the end and some room for alignment */
#if defined (__ICCARM__)
#pragma location = ".ethusbram"
#endif
u8_t ram_heap[MEM_SIZE_ALIGNED + (2*SIZEOF_STRUCT_MEM) + MEM_ALIGNMENT] ETHMEM_SECTION; u8_t ram_heap[MEM_SIZE_ALIGNED + (2*SIZEOF_STRUCT_MEM) + MEM_ALIGNMENT] ETHMEM_SECTION;
#define LWIP_RAM_HEAP_POINTER ram_heap #define LWIP_RAM_HEAP_POINTER ram_heap
#endif /* LWIP_RAM_HEAP_POINTER */ #endif /* LWIP_RAM_HEAP_POINTER */

View File

@ -167,12 +167,21 @@ static u8_t *const memp_bases[] = {
#else /* MEMP_SEPARATE_POOLS */ #else /* MEMP_SEPARATE_POOLS */
#if defined(TARGET_LPC1768) #if defined(TARGET_LPC1768)
# define ETHMEM_SECTION __attribute((section("AHBSRAM1"))) # if defined (__ICCARM__)
# define ETHMEM_SECTION
# elif defined(TOOLCHAIN_GCC_CR)
# define ETHMEM_SECTION __attribute__((section(".data.$RamPeriph32")))
# else
# define ETHMEM_SECTION __attribute__((section("AHBSRAM1"),aligned))
# endif
#else #else
# define ETHMEM_SECTION #define ETHMEM_SECTION
#endif #endif
/** This is the actual memory used by the pools (all pools in one big block). */ /** This is the actual memory used by the pools (all pools in one big block). */
#if defined (__ICCARM__)
#pragma location = ".ethusbram"
#endif
static u8_t memp_memory[MEM_ALIGNMENT - 1 static u8_t memp_memory[MEM_ALIGNMENT - 1
#define LWIP_MEMPOOL(name,num,size,desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) ) #define LWIP_MEMPOOL(name,num,size,desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) )
#include "lwip/memp_std.h" #include "lwip/memp_std.h"