diff --git a/.cproject b/.cproject
index fc9752d..71457cd 100644
--- a/.cproject
+++ b/.cproject
@@ -257,7 +257,7 @@
-
+
@@ -614,7 +614,7 @@
-
+
@@ -627,7 +627,11 @@
-
+
+
+
+
+
@@ -637,9 +641,9 @@
-
+
-
+
@@ -711,13 +715,13 @@
-
-
+
+
-
+
-
+
-
+
+
-
+
-
+
-
+
+
-
+
@@ -787,13 +791,13 @@
-
+
-
+
@@ -826,45 +830,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -957,4 +922,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index 02a1622..2f66a76 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -27,7 +27,7 @@
-
+
diff --git a/RTL00_SDKV35a/component/soc/realtek/8195a/misc/bsp/lib/common/GCC/rlx8195A-v04-EclipseAuto.ld b/RTL00_SDKV35a/component/soc/realtek/8195a/misc/bsp/lib/common/GCC/rlx8195A-v04-EclipseAuto.ld
new file mode 100644
index 0000000..3d58080
--- /dev/null
+++ b/RTL00_SDKV35a/component/soc/realtek/8195a/misc/bsp/lib/common/GCC/rlx8195A-v04-EclipseAuto.ld
@@ -0,0 +1,256 @@
+
+ENTRY(Reset_Handler)
+ENTRY(main)
+
+INCLUDE "export-rom_v04.txt"
+
+MEMORY
+{
+ ROM (rx) : ORIGIN = 0x000000, LENGTH = 1M /* end 0x00100000 */
+ ROM_USED_RAM (rwx): ORIGIN = 0x10000000, LENGTH = 0x2400 /* end 0x10002400 */
+ BOOT_RAM (rwx) : ORIGIN = 0x10000bc8, LENGTH = 21560 /* end 0x10006000 */
+ ROM_HEAP (rwx) : ORIGIN = 0x10002400, LENGTH = 3K /* end 0x10003000 */
+ RAM_HEAP1 (rwx) : ORIGIN = 0x10003000, LENGTH = 12K /* end 0x10006000 */
+ BD_RAM (rwx) : ORIGIN = 0x10006000, LENGTH = 424K /* end 0x10070000 */
+ TCM (rwx) : ORIGIN = 0x1FFF0000, LENGTH = 64K /* end 0x20000000 */
+ TCM_TAB (rwx) : ORIGIN = 0x1FFFFD00, LENGTH = 768 /* end 0x20000000 */
+ SDRAM_RAM (rwx) : ORIGIN = 0x30000000, LENGTH = 2M /* end 0x30200000 */
+}
+
+EXTERN(RAM_IMG2_VALID_PATTEN)
+EXTERN(InfraStart)
+
+SECTIONS
+{
+ /* 0x00000000: ROM */
+
+ .rom :
+ {
+ __rom_image_start__ = .;
+ KEEP(*(.rom));
+ __rom_image_end__ = .;
+ } > ROM
+
+ /* 0x10000000: SRAM */
+
+ .rom_ram : /* use in rom */
+ {
+ __ram_image_start__ = .;
+ KEEP(*(.ram_dedecated_vector_table)) /* 0x10000000: NewVectorTable */
+ KEEP(*(.ram_user_define_irq_table)) /* 0x10000100: UserIrqFunTable */
+ KEEP(*(.ram_user_define_data_table)) /* 0x10000200: UserIrqDataTable */
+ __rom_bss_start__ = .;
+ KEEP(*(.hal.ram.bss)) /* 0x10000300: CfgSysDebugWarn .. _pHAL_Gpio_Adapter */
+ KEEP(*(.timer2_7_vector_table.data)) /* 0x10000358: Timer2To7VectorTable */
+ KEEP(*(.infra.ram.bss)) /* 0x10000370: first .. z4 */
+ KEEP(*(.mon.ram.bss)) /* 0x10000384: pUartLogCtl .. ArgvArray */
+ KEEP(*(.wlan_ram_map)) /* 0x100006d4: rom_wlan_ram_map, FalseAlmCnt, ROMInfo, DM_CfoTrack */
+ KEEP(*(.ram.rom.wlanmap)) /* align(8) */
+ KEEP(*(.libc.ram.bss)) /* 0x10000760: rom_libgloss_ram_map __rtl_malloc_av_ __rtl_errno */
+ __rom_bss_end__ = .;
+ } > ROM_USED_RAM
+
+ /* 0x10000bc8: bootloader */
+
+ .ram_image1.text . : /* use in rom & boot */
+ {
+ /* __ram_start_table_start__ = .; */
+ __ram_image1_text_start__ = .;
+ KEEP(*rtl_boot*.o(.start.ram.data*))
+ /* __image1_validate_code__ = .; */
+ KEEP(*(.image1.validate.rodata))
+
+ KEEP(*(.infra.ram.data*))
+ KEEP(*(.timer.ram.data*))
+ KEEP(*(.cutb.ram.data*))
+ KEEP(*(.cutc.ram.data*))
+ KEEP(*(.libc.reent))
+ KEEP(*(.rom.unc.data))
+ KEEP(*(.sdr.rand2.data))
+
+ PROVIDE (__ram_image_end__ = .); /* 0x100020c0: end */
+
+ /* boot & images data */
+
+ KEEP(*(.hal.ram.data))
+ KEEP(*(.hal.flash.data))
+ KEEP(*rtl_boot*.o(.rodata*))
+ KEEP(*rtl_boot*.o(.text*))
+ KEEP(*rtl_boot*.o(.data*))
+ __image1_bss_start__ = .;
+ KEEP(*rtl_boot*.o(.bss*))
+ __image1_bss_end__ = .;
+ __ram_image1_text_end__ = .;
+
+ } > BOOT_RAM
+
+ .romheap :
+ {
+ __rom_heap_start__ = .;
+ end = __rom_heap_start__;
+ . = ALIGN(0x1000);
+ __rom_heap_end__ = .;
+ } > ROM_HEAP
+
+ .ram_heap1 :
+ {
+ __ram_heap1_start__ = .;
+ /* *(.heap1*) */
+ } > RAM_HEAP1
+
+ .tcm :
+ {
+ __ram_tcm_start__ = .;
+ __tcm_heap_start__ = .;
+ *(.tcm.heap)
+ } > TCM
+
+ .soc_ps_monitor :
+ {
+ __tcm_heap_end__ = .;
+ } > TCM_TAB
+
+ .image2.start.table :
+ {
+ __ram_heap1_end__ = .;
+ __ram_image2_text_start__ = .;
+ __image2_entry_func__ = .;
+ .image2.start.table1$$Base = .;
+ KEEP(*(SORT(.image2.ram.data*)))
+ __image2_validate_code__ = .;
+ KEEP(*(.image2.validate.rodata*))
+ KEEP(*(.custom.validate.rodata*))
+ } > BD_RAM
+
+ .ram_image2.text :
+ {
+ *(.infra.ram.start*)
+ . = ALIGN(4);
+ KEEP(*(.init))
+
+ /* init data */
+ . = ALIGN(4);
+ PROVIDE (__init_array_start = .);
+ KEEP(*(SORT(.init_array.*)))
+ KEEP(*(.init_array))
+ PROVIDE (__init_array_end = .);
+
+ . = ALIGN(4);
+ KEEP(*(.fini))
+
+ . = ALIGN(4);
+ PROVIDE (__fini_array_start = .);
+ KEEP(*(SORT(.fini_array.*)))
+ KEEP(*(.fini_array))
+ PROVIDE (__fini_array_end = .);
+
+ *(.mon.ram.text*)
+ *(.hal.flash.text*)
+ *(.hal.sdrc.text*)
+ *(.hal.gpio.text*)
+ *(.fwu.text*)
+ *(.otg.rom.text*)
+ *(.text*)
+ *(.sdram.text*)
+ *(.p2p.text*)
+ *(.wps.text*)
+ *(.websocket.text*)
+ } > BD_RAM
+
+ .ram_image2.rodata :
+ {
+ *(.rodata*)
+ *(.fwu.rodata*)
+ *(.sdram.rodata*)
+ *(.p2p.rodata*)
+ *(.wps.rodata*)
+ *(.websocket.rodata*)
+ . = ALIGN(4);
+ xHeapRegions = .;
+ LONG(__ram_heap1_start__)
+ LONG(__ram_heap1_end__ - __ram_heap1_start__)
+ LONG(__ram_heap2_start__)
+ LONG(__ram_heap2_end__ - __ram_heap2_start__)
+ LONG(__sdram_heap_start__)
+ LONG(__sdram_heap_end__ - __sdram_heap_start__)
+ LONG(0)
+ LONG(0)
+ UartLogRamCmdTable = .;
+ KEEP(*(SORT(.mon.tab*)))
+ UartLogRamCmdTable_end = .;
+ LONG(0)
+ } > BD_RAM
+
+ PROVIDE(UartLogRamCmdTableSize = UartLogRamCmdTable_end - UartLogRamCmdTable);
+
+ .ram.data :
+ {
+ __data_start__ = .;
+ *(.data*)
+ *(.p2p.data*)
+ *(.wps.data*)
+ *(.websocket.data*)
+ *(.sdram.data*)
+ __data_end__ = .;
+ __ram_image2_text_end__ = .;
+ } > BD_RAM
+
+ .ram.bss :
+ {
+ __bss_start__ = .;
+ .ram.bss$$Base = .;
+ *(.hal.flash.data*)
+ *(.hal.sdrc.data*)
+ *(.hal.gpio.data*)
+ *(.fwu.data*)
+ *(.bdsram.data*)
+ *(.bfsram.data*)
+ *(COMMON)
+ *(.bss*)
+ *(.sdram.bss*)
+ *(.p2p.bss*)
+ *(.wps.bss*)
+ *(.websocket.bss*)
+ *(.ssl_ram_map*)
+ __bss_end__ = .;
+ .ram.bss$$Limit = .;
+
+ } > BD_RAM
+
+ .ram_heap2 :
+ {
+ . = ALIGN(8);
+ __ram_heap2_start__ = .;
+ *(.heap*) /* ucHeap */
+ } > BD_RAM
+ __ram_heap2_end__ = 0x10070000;
+
+ .sdr_text :
+ {
+ __sdram_data_start__ = .;
+ } > SDRAM_RAM
+
+ .sdr_rodata :
+ {
+ } > SDRAM_RAM
+
+ .sdr_data :
+ {
+ __sdram_data_end__ = .;
+ } > SDRAM_RAM
+
+ .sdr_bss :
+ {
+ __sdram_bss_start__ = .;
+ __sdram_bss_end__ = .;
+ . = ALIGN(8);
+ __sdram_heap_start__ = .;
+ } > SDRAM_RAM
+ __sdram_heap_end__ = 0x30200000;
+
+ .boot.head :
+ {
+ KEEP(*(.loader.head*))
+ }
+ ASSERT(__ram_image_end__ == 0x100020c0, "Error rom-bios-boot code & data!")
+}
diff --git a/project_set.xml b/project_set.xml
index 03613f9..385a03d 100644
--- a/project_set.xml
+++ b/project_set.xml
@@ -7,115 +7,13 @@
/${ProjName}/project/inc
/${ProjName}/project/inc/rtl8195a
-/${ProjName}/project/src/mad
-/${ProjName}/${ProjSDK}/component/soc/realtek/common/bsp
-/${ProjName}/${ProjSDK}/component/os/freertos
-/${ProjName}/${ProjSDK}/component/os/freertos/freertos_v8.1.2/Source/include
-/${ProjName}/${ProjSDK}/component/os/freertos/freertos_v8.1.2/Source/portable/GCC/ARM_CM3
-/${ProjName}/${ProjSDK}/component/os/os_dep/include
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/misc/driver
-/${ProjName}/${ProjSDK}/component/common/api/network/include
-/${ProjName}/${ProjSDK}/component/common/api
-/${ProjName}/${ProjSDK}/component/common/api/platform
-/${ProjName}/${ProjSDK}/component/common/api/wifi
-/${ProjName}/${ProjSDK}/component/common/api/wifi/rtw_wpa_supplicant/src
-/${ProjName}/${ProjSDK}/component/common/application
-/${ProjName}/${ProjSDK}/component/common/application/google
-/${ProjName}/${ProjSDK}/component/common/media/framework
-/${ProjName}/${ProjSDK}/component/common/example
-/${ProjName}/${ProjSDK}/component/common/example/wlan_fast_connect
-/${ProjName}/${ProjSDK}/component/common/mbed/api
-/${ProjName}/${ProjSDK}/component/common/mbed/hal
-/${ProjName}/${ProjSDK}/component/common/mbed/hal_ext
-/${ProjName}/${ProjSDK}/component/common/mbed/targets/hal/rtl8195a
-/${ProjName}/${ProjSDK}/component/common/network
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/port/realtek/freertos
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include/lwip
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include/ipv4
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/port/realtek
-/${ProjName}/${ProjSDK}/component/common/test
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/cmsis
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/cmsis/device
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/rtl8195a
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/misc/rtl_std_lib/include
-/${ProjName}/${ProjSDK}/component/common/drivers/wlan/realtek/include
-/${ProjName}/${ProjSDK}/component/common/drivers/wlan/realtek/src/osdep
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/ram_lib/wlan/realtek/wlan_ram_map/rom
-/${ProjName}/${ProjSDK}/component/common/network/ssl/polarssl-1.3.8/include
-/${ProjName}/${ProjSDK}/component/common/network/ssl/ssl_ram_map/rom
-/${ProjName}/${ProjSDK}/component/common/utilities
-/${ProjName}/${ProjSDK}/component/common/application/apple/WACServer/External/Curve25519
-/${ProjName}/${ProjSDK}/component/common/application/apple/WACServer/External/GladmanAES
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/ram_lib/usb_otg/include
-/${ProjName}/${ProjSDK}/component/common/media/codec
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/host/uvc/inc
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/device
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/device/class
-/${ProjName}/${ProjSDK}/component/common/file_system/fatfs
-/${ProjName}/${ProjSDK}/component/common/file_system/fatfs/r0.10c/include
-/${ProjName}/${ProjSDK}/component/common/drivers/sdio/realtek/sdio_host/inc
-/${ProjName}/${ProjSDK}/component/common/audio
-/${ProjName}/${ProjSDK}/component/common/drivers/i2s
-/${ProjName}/${ProjSDK}/component/common/application/xmodem
+/${ProjName}/project/inc/mad
/${ProjName}/project/inc
/${ProjName}/project/inc/rtl8195a
-/${ProjName}/project/src/mad
-/${ProjName}/${ProjSDK}/component/soc/realtek/common/bsp
-/${ProjName}/${ProjSDK}/component/os/freertos
-/${ProjName}/${ProjSDK}/component/os/freertos/freertos_v8.1.2/Source/include
-/${ProjName}/${ProjSDK}/component/os/freertos/freertos_v8.1.2/Source/portable/GCC/ARM_CM3
-/${ProjName}/${ProjSDK}/component/os/os_dep/include
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/misc/driver
-/${ProjName}/${ProjSDK}/component/common/api/network/include
-/${ProjName}/${ProjSDK}/component/common/api
-/${ProjName}/${ProjSDK}/component/common/api/platform
-/${ProjName}/${ProjSDK}/component/common/api/wifi
-/${ProjName}/${ProjSDK}/component/common/api/wifi/rtw_wpa_supplicant/src
-/${ProjName}/${ProjSDK}/component/common/application
-/${ProjName}/${ProjSDK}/component/common/application/google
-/${ProjName}/${ProjSDK}/component/common/media/framework
-/${ProjName}/${ProjSDK}/component/common/example
-/${ProjName}/${ProjSDK}/component/common/example/wlan_fast_connect
-/${ProjName}/${ProjSDK}/component/common/mbed/api
-/${ProjName}/${ProjSDK}/component/common/mbed/hal
-/${ProjName}/${ProjSDK}/component/common/mbed/hal_ext
-/${ProjName}/${ProjSDK}/component/common/mbed/targets/hal/rtl8195a
-/${ProjName}/${ProjSDK}/component/common/network
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/port/realtek/freertos
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include/lwip
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/src/include/ipv4
-/${ProjName}/${ProjSDK}/component/common/network/lwip/lwip_v1.4.1/port/realtek
-/${ProjName}/${ProjSDK}/component/common/test
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/cmsis
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/cmsis/device
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/rtl8195a
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/misc/rtl_std_lib/include
-/${ProjName}/${ProjSDK}/component/common/drivers/wlan/realtek/include
-/${ProjName}/${ProjSDK}/component/common/drivers/wlan/realtek/src/osdep
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/ram_lib/wlan/realtek/wlan_ram_map/rom
-/${ProjName}/${ProjSDK}/component/common/network/ssl/polarssl-1.3.8/include
-/${ProjName}/${ProjSDK}/component/common/network/ssl/ssl_ram_map/rom
-/${ProjName}/${ProjSDK}/component/common/utilities
-/${ProjName}/${ProjSDK}/component/common/application/apple/WACServer/External/Curve25519
-/${ProjName}/${ProjSDK}/component/common/application/apple/WACServer/External/GladmanAES
-/${ProjName}/${ProjSDK}/component/soc/realtek/8195a/fwlib/ram_lib/usb_otg/include
-/${ProjName}/${ProjSDK}/component/common/media/codec
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/host/uvc/inc
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/device
-/${ProjName}/${ProjSDK}/component/common/drivers/usb_class/device/class
-/${ProjName}/${ProjSDK}/component/common/file_system/fatfs
-/${ProjName}/${ProjSDK}/component/common/file_system/fatfs/r0.10c/include
-/${ProjName}/${ProjSDK}/component/common/drivers/sdio/realtek/sdio_host/inc
-/${ProjName}/${ProjSDK}/component/common/audio
-/${ProjName}/${ProjSDK}/component/common/drivers/i2s
-/${ProjName}/${ProjSDK}/component/common/application/xmodem
+/${ProjName}/project/inc/mad
diff --git a/sdkset.mk b/sdkset.mk
index b1a3600..2fcee4a 100644
--- a/sdkset.mk
+++ b/sdkset.mk
@@ -3,7 +3,7 @@
CFLAGS = -DM3 -DCONFIG_PLATFORM_8195A -DGCC_ARMCM3 -DARDUINO_SDK -DF_CPU=166666666L -DNDEBUG
CFLAGS += -mcpu=cortex-m3 -mthumb -g2 -Os -std=gnu99
CFLAGS += -fno-common -fmessage-length=0 -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-short-enums -fsigned-char
-CFLAGS += -w -Wno-pointer-sign
+CFLAGS += -w -Wno-pointer-sign
LFLAGS = -mcpu=cortex-m3 -mthumb -g -Os -nostartfiles -nostdlib
#--specs=nano.specs
LFLAGS += -Wl,--gc-sections -Wl,--cref -Wl,--entry=Reset_Handler -Wl,--no-enum-size-warning -Wl,--no-wchar-size-warning -Wl,-nostdlib
@@ -67,7 +67,7 @@ INCLUDES += sdk/component/common/network/ssl/ssl_ram_map/rom
INCLUDES += sdk/component/common/utilities
INCLUDES += sdk/component/common/application/apple/WACServer/External/Curve25519
INCLUDES += sdk/component/common/application/apple/WACServer/External/GladmanAES
-INCLUDES += sdk/component/soc/realtek/8195a/fwlib/ram_lib/usb_otg/include
+#INCLUDES += sdk/component/soc/realtek/8195a/fwlib/ram_lib/usb_otg/include
INCLUDES += sdk/component/common/media/codec
INCLUDES += sdk/component/common/drivers/usb_class/host/uvc/inc
INCLUDES += sdk/component/common/drivers/usb_class/device
@@ -87,6 +87,9 @@ BOOT_C =
SRC_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/rtl_bios_data.c
BOOT_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/rtl_boot.c
+#startup
+SRC_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/startup.c
+
#cmsis
SRC_C += sdk/component/soc/realtek/8195a/cmsis/device/system_8195a.c
@@ -361,7 +364,6 @@ ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_pinmux.c
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_misc.c
#ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_spi_flash_ram.c
# COMPONENTS
-ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/startup.c
ADD_SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/flash_eep.c
ADD_SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libc.c
ADD_SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libgloss_retarget.c