mirror of
https://github.com/drasko/open-ameba.git
synced 2024-11-22 05:54:17 +00:00
clean
This commit is contained in:
parent
bd42ffa334
commit
3904cfcf03
34 changed files with 3570 additions and 133 deletions
|
@ -618,7 +618,7 @@ void fATSx(void *arg)
|
|||
|
||||
#define ATCMD_VERSION "v2" //ATCMD MAJOR VERSION, AT FORMAT CHANGED
|
||||
#define ATCMD_SUBVERSION "2" //ATCMD MINOR VERSION, NEW COMMAND ADDED
|
||||
#define ATCMD_REVISION "1" //ATCMD FIX BUG REVISION
|
||||
#define ATCMD_REVISION "2" //ATCMD FIX BUG REVISION
|
||||
#define SDK_VERSION "v3.5" //SDK VERSION
|
||||
extern void sys_reset(void);
|
||||
void print_system_at(void *arg);
|
||||
|
|
139
RTL00_SDKV35a/component/common/api/platform/esp_comp.h
Normal file
139
RTL00_SDKV35a/component/common/api/platform/esp_comp.h
Normal file
|
@ -0,0 +1,139 @@
|
|||
#ifndef _INCLUDE_ESP_COMP_H_
|
||||
#define _INCLUDE_ESP_COMP_H_
|
||||
|
||||
#include "platform_autoconf.h"
|
||||
#include "flash_api.h"
|
||||
|
||||
#define ICACHE_FLASH_ATTR
|
||||
#define ICACHE_RODATA_ATTR
|
||||
#define DATA_IRAM_ATTR
|
||||
|
||||
#define os_printf(...) rtl_printf(__VA_ARGS__)
|
||||
#define os_printf_plus(...) rtl_printf(__VA_ARGS__)
|
||||
#define os_sprintf_fd(...) rtl_sprintf(__VA_ARGS__)
|
||||
#define ets_sprintf(...) rtl_sprintf(__VA_ARGS__)
|
||||
/*
|
||||
#define os_malloc pvPortMalloc
|
||||
#define os_zalloc pvPortZalloc
|
||||
#define os_calloc pvPortCalloc
|
||||
#define os_realloc pvPortRealloc
|
||||
*/
|
||||
#undef os_free
|
||||
#define os_free vPortFree
|
||||
#define system_get_free_heap_size xPortGetFreeHeapSize
|
||||
#undef os_realloc
|
||||
#define os_realloc pvPortReAlloc
|
||||
|
||||
|
||||
#define os_bzero rtl_bzero
|
||||
#define os_delay_us wait_us // HalDelayUs
|
||||
//#define os_install_putc1 rtl_install_putc1
|
||||
//#define os_install_putc2 rtl_install_putc2
|
||||
//#define os_intr_lock rtl_intr_lock
|
||||
//#define os_intr_unlock rtl_intr_unlock
|
||||
//#define os_isr_attach rtl_isr_attach
|
||||
//#define os_isr_mask rtl_isr_mask
|
||||
//#define os_isr_unmask rtl_isr_unmask
|
||||
#define os_memcmp rtl_memcmp
|
||||
#define os_memcpy rtl_memcpy
|
||||
#define ets_memcpy rtl_memcpy
|
||||
#define os_memmove rtl_memmove
|
||||
#define os_memset rtl_memset
|
||||
#define os_putc rtl_putc
|
||||
//#define os_str2macaddr rtl_str2macaddr
|
||||
//#define os_strcat strcat
|
||||
#define os_strchr rtl_strchr
|
||||
#define os_strrchr rtl_strrchr
|
||||
#define os_strcmp rtl_strcmp
|
||||
#define os_strcpy rtl_strcpy
|
||||
#define os_strlen rtl_strlen
|
||||
#define os_strncmp rtl_strncmp
|
||||
#define os_strncpy rtl_strncpy
|
||||
#define os_strstr rtl_strstr
|
||||
#define os_random Rand
|
||||
//extern uint32 phy_get_rand(void);
|
||||
#define system_get_os_print() 1
|
||||
|
||||
#ifdef USE_US_TIMER
|
||||
#define os_timer_arm_us(a, b, c) rtl_timer_arm_new(a, b, c, 0)
|
||||
#endif
|
||||
|
||||
|
||||
//#define os_timer_arm(a, b, c) rtl_timer_arm_new(a, b, c, 1)
|
||||
//#define os_timer_disarm rtl_timer_disarm
|
||||
//#define os_timer_init rtl_timer_init
|
||||
//#define os_timer_setfn rtl_timer_setfn
|
||||
|
||||
//#define os_timer_done rtl_timer_done
|
||||
//#define os_timer_handler_isr rtl_timer_handler_isr
|
||||
|
||||
//#define os_update_cpu_frequency rtl_update_cpu_frequency
|
||||
|
||||
//#define os_sprintf ets_sprintf
|
||||
/*
|
||||
typedef struct{
|
||||
uint32_t deviceId; //+00
|
||||
uint32_t chip_size; //+04 chip size in byte
|
||||
uint32_t block_size; //+08
|
||||
uint32_t sector_size; //+0c
|
||||
uint32_t page_size; //+10
|
||||
uint32_t status_mask; //+14
|
||||
} SpiFlashChip;
|
||||
|
||||
typedef enum {
|
||||
SPI_FLASH_RESULT_OK,
|
||||
SPI_FLASH_RESULT_ERR,
|
||||
SPI_FLASH_RESULT_TIMEOUT
|
||||
} SpiFlashOpResult;
|
||||
|
||||
extern SpiFlashChip * flashchip; // in RAM-BIOS: 0x3fffc714
|
||||
*/
|
||||
|
||||
// include "flash_api.h"
|
||||
#define spi_flash_real_size() flash_get_size(&flashobj)
|
||||
#define Cache_Read_Disable() SpicDisableRtl8195A()
|
||||
#define Cache_Read_Enable(a, b, c) flash_turnon()
|
||||
|
||||
#define spi_flash_get_id() ((flashobj.SpicInitPara.id[0] << 16) | (flashobj.SpicInitPara.id[1]<<8) | flashobj.SpicInitPara.id[2])
|
||||
//SpiFlashOpResult spi_flash_read_status(uint32_t * sta);
|
||||
//SpiFlashOpResult spi_flash_write_status(uint32_t sta);
|
||||
#define spi_flash_erase_sector(sec) flash_erase_sector(&flashobj, (sec)<<12)
|
||||
#define spi_flash_write(faddr, pbuf, size) flash_stream_write(&flashobj, faddr, size, (uint8_t *)pbuf)
|
||||
#define spi_flash_read(faddr, pbuf, size) flash_stream_read(&flashobj, faddr, size, (uint8_t *)pbuf)
|
||||
#define spi_flash_erase_block(blk) flash_erase_block(&flashobj, (blk)<<16);
|
||||
|
||||
|
||||
#define ip4_addr1(ipaddr) (((u8_t*)(ipaddr))[0])
|
||||
#define ip4_addr2(ipaddr) (((u8_t*)(ipaddr))[1])
|
||||
#define ip4_addr3(ipaddr) (((u8_t*)(ipaddr))[2])
|
||||
#define ip4_addr4(ipaddr) (((u8_t*)(ipaddr))[3])
|
||||
/* These are cast to u16_t, with the intent that they are often arguments
|
||||
* to printf using the U16_F format from cc.h. */
|
||||
#define ip4_addr1_16(ipaddr) ((u16_t)ip4_addr1(ipaddr))
|
||||
#define ip4_addr2_16(ipaddr) ((u16_t)ip4_addr2(ipaddr))
|
||||
#define ip4_addr3_16(ipaddr) ((u16_t)ip4_addr3(ipaddr))
|
||||
#define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr))
|
||||
|
||||
#define IP2STR(ipaddr) ip4_addr1_16(ipaddr), \
|
||||
ip4_addr2_16(ipaddr), \
|
||||
ip4_addr3_16(ipaddr), \
|
||||
ip4_addr4_16(ipaddr)
|
||||
|
||||
#define IPSTR "%d.%d.%d.%d"
|
||||
|
||||
/* CONFIG_DEBUG_LOG:
|
||||
=0 Off all diag/debug msg,
|
||||
=1 Only errors,
|
||||
=2 errors + warning, (default)
|
||||
=3 errors + warning + info,
|
||||
=4 errors + warning + info + debug,
|
||||
=5 full */
|
||||
#if CONFIG_DEBUG_LOG > 3
|
||||
#define DEBUGSOO (CONFIG_DEBUG_LOG - 1)
|
||||
#elif CONFIG_DEBUG_LOG > 1
|
||||
#define DEBUGSOO 2
|
||||
#else
|
||||
#define DEBUGSOO CONFIG_DEBUG_LOG
|
||||
#endif
|
||||
|
||||
#endif // _INCLUDE_ESP_COMP_H_
|
|
@ -47,7 +47,7 @@
|
|||
#include "lwip/udp.h"
|
||||
#include "lwip/netif.h"
|
||||
#include "lwip_netconf.h"
|
||||
#include "rtl8195a/esp_comp.h"
|
||||
#include "platform/esp_comp.h"
|
||||
|
||||
#define NETBIOS_CODE_ATTR
|
||||
#define NETBIOS_DATA_ATTR
|
||||
|
|
|
@ -85,10 +85,8 @@
|
|||
#include "webserver.h"
|
||||
#include "wlan_intf.h"
|
||||
|
||||
|
||||
#define CONFIG_READ_FLASH 1
|
||||
|
||||
|
||||
#ifdef CONFIG_READ_FLASH
|
||||
|
||||
#ifndef CONFIG_PLATFORM_8195A
|
||||
|
@ -104,7 +102,14 @@
|
|||
|
||||
#else
|
||||
#include "flash_api.h"
|
||||
#include "flash_eep.h"
|
||||
#include "feep_config.h"
|
||||
#include "device_lock.h"
|
||||
|
||||
#ifndef FEEP_ID_WIFI_AP_CFG
|
||||
#define FEEP_ID_WIFI_AP_CFG 0x5731
|
||||
#endif
|
||||
|
||||
#define DATA_SECTOR AP_SETTING_SECTOR
|
||||
#define BACKUP_SECTOR (0x00008000)
|
||||
|
||||
|
@ -542,13 +547,40 @@ int StoreApInfo()
|
|||
|
||||
void LoadWifiConfig()
|
||||
{
|
||||
|
||||
|
||||
flash_t flash;
|
||||
|
||||
rtw_wifi_config_t local_config;
|
||||
uint32_t address;
|
||||
local_config.boot_mode = 0;
|
||||
#ifdef USE_FLASH_EEP
|
||||
if(flash_read_cfg((uint8_t *)(&local_config), FEEP_ID_WIFI_AP_CFG, sizeof(rtw_wifi_config_t)) >= sizeof(rtw_wifi_config_t)) {
|
||||
printf("%s: Read from FLASH!\n", __FUNCTION__);
|
||||
printf("%s: local_config.boot_mode=0x%x\n", __FUNCTION__, local_config.boot_mode);
|
||||
printf("%s: local_config.ssid=%s\n", __FUNCTION__, local_config.ssid);
|
||||
printf("%s: local_config.channel=%d\n", __FUNCTION__, local_config.channel);
|
||||
printf("%s: local_config.security_type=%d\n", __FUNCTION__, local_config.security_type);
|
||||
printf("%s: local_config.password=%s\n", __FUNCTION__, local_config.password);
|
||||
}
|
||||
if(local_config.boot_mode == 0x77665502) {
|
||||
wifi_setting.mode = RTW_MODE_AP;
|
||||
if(local_config.ssid_len > 32)
|
||||
local_config.ssid_len = 32;
|
||||
memcpy(wifi_setting.ssid, local_config.ssid, local_config.ssid_len);
|
||||
wifi_setting.ssid[local_config.ssid_len] = '\0';
|
||||
wifi_setting.channel = local_config.channel;
|
||||
if(local_config.security_type == 1)
|
||||
wifi_setting.security_type = RTW_SECURITY_WPA2_AES_PSK;
|
||||
else
|
||||
wifi_setting.security_type = RTW_SECURITY_OPEN;
|
||||
if(local_config.password_len > 32)
|
||||
local_config.password_len = 32;
|
||||
memcpy(wifi_setting.password, local_config.password, local_config.password_len);
|
||||
wifi_setting.password[local_config.password_len] = '\0';
|
||||
}
|
||||
else {
|
||||
LoadWifiSetting();
|
||||
}
|
||||
|
||||
#else
|
||||
flash_t flash;
|
||||
uint32_t address;
|
||||
address = DATA_SECTOR;
|
||||
|
||||
|
||||
|
@ -560,6 +592,7 @@ void LoadWifiConfig()
|
|||
flash_stream_read(&flash, address, sizeof(rtw_wifi_config_t),(uint8_t *)(&local_config));
|
||||
device_mutex_unlock(RT_DEV_LOCK_FLASH);
|
||||
|
||||
|
||||
printf("\r\nLoadWifiConfig(): local_config.boot_mode=0x%x\n", local_config.boot_mode);
|
||||
printf("\r\nLoadWifiConfig(): local_config.ssid=%s\n", local_config.ssid);
|
||||
printf("\r\nLoadWifiConfig(): local_config.channel=%d\n", local_config.channel);
|
||||
|
@ -587,12 +620,29 @@ void LoadWifiConfig()
|
|||
{
|
||||
LoadWifiSetting();
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
int StoreApInfo()
|
||||
{
|
||||
|
||||
#ifdef USE_FLASH_EEP
|
||||
rtw_wifi_config_t wifi_config;
|
||||
// clean wifi_config first
|
||||
memset(&wifi_config, 0x00, sizeof(rtw_wifi_config_t));
|
||||
wifi_config.boot_mode = 0x77665502;
|
||||
memcpy(wifi_config.ssid, wifi_setting.ssid, strlen((char*)wifi_setting.ssid));
|
||||
wifi_config.ssid_len = strlen((char*)wifi_setting.ssid);
|
||||
wifi_config.security_type = wifi_setting.security_type;
|
||||
if(wifi_setting.security_type !=0)
|
||||
wifi_config.security_type = 1;
|
||||
else
|
||||
wifi_config.security_type = 0;
|
||||
memcpy(wifi_config.password, wifi_setting.password, strlen((char*)wifi_setting.password));
|
||||
wifi_config.password_len= strlen((char*)wifi_setting.password);
|
||||
wifi_config.channel = wifi_setting.channel;
|
||||
printf("\n\rWritting boot mode 0x77665502 and Wi-Fi setting to flash ...");
|
||||
flash_write_cfg((uint8_t *)(&wifi_config), FEEP_ID_WIFI_AP_CFG, sizeof(wifi_config));
|
||||
#else
|
||||
flash_t flash;
|
||||
|
||||
rtw_wifi_config_t wifi_config;
|
||||
|
@ -659,11 +709,14 @@ int StoreApInfo()
|
|||
//flash_stream_read(&flash, address, sizeof(rtw_wifi_config_t),data);
|
||||
//printf("\n\r Base + 0x000FF000 +4 wifi config = %s",data[4]);
|
||||
//printf("\n\r Base + 0x000FF000 +71 wifi channel = %d",data[71]);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int EraseApinfo(){
|
||||
int EraseApinfo() {
|
||||
#ifdef USE_FLASH_EEP
|
||||
flash_write_cfg(NULL, FEEP_ID_WIFI_AP_CFG, 0);
|
||||
#else
|
||||
flash_t flash;
|
||||
uint32_t address;
|
||||
|
||||
|
@ -671,6 +724,7 @@ int EraseApinfo(){
|
|||
device_mutex_lock(RT_DEV_LOCK_FLASH);
|
||||
flash_erase_sector(&flash, address);
|
||||
device_mutex_unlock(RT_DEV_LOCK_FLASH);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -227,10 +227,8 @@ BlockLink_t *pxBlock, *pxPreviousBlock, *pxNewBlockLink;
|
|||
void *pvReturn = NULL;
|
||||
|
||||
/* Realtek test code start */
|
||||
if(pxEnd == NULL)
|
||||
{
|
||||
vPortDefineHeapRegions( xHeapRegions );
|
||||
}
|
||||
if(pxEnd == NULL) vPortDefineHeapRegions( xHeapRegions );
|
||||
|
||||
/* Realtek test code end */
|
||||
|
||||
/* The heap must be initialised before the first call to
|
||||
|
@ -531,81 +529,87 @@ const HeapRegion_t *pxHeapRegion;
|
|||
xHeapRegions[2].pucStartAddress = (uint8_t*)&__sdram_data_start__;
|
||||
xHeapRegions[2].xSizeInBytes = (u32)0x30200000 - (u32)xHeapRegions[2].pucStartAddress;
|
||||
*/
|
||||
int chip_id = HalGetChipId();
|
||||
if (chip_id >= CHIP_ID_8711AN && chip_id <= CHIP_ID_8711AF) xHeapRegions[2].xSizeInBytes = 0;
|
||||
#endif
|
||||
/* Can only call once! */
|
||||
configASSERT( pxEnd == NULL );
|
||||
|
||||
pxHeapRegion = &( pxHeapRegions[ xDefinedRegions ] );
|
||||
|
||||
int chip_id = HalGetChipId();
|
||||
while( pxHeapRegion->xSizeInBytes > 0 )
|
||||
{
|
||||
DBG_8195A("Init Heap Region: %p[%d]\n", pxHeapRegion->pucStartAddress, pxHeapRegion->xSizeInBytes);
|
||||
if(pxHeapRegion->pucStartAddress > 0x20000000
|
||||
&& chip_id >= CHIP_ID_8711AN && chip_id <= CHIP_ID_8711AF) {
|
||||
// pxHeapRegion->pucStartAddress = 0;
|
||||
// pxHeapRegion->xSizeInBytes = 0;
|
||||
// DBG_8195A("ChipID: %p !\n", chip_id);
|
||||
}
|
||||
else {
|
||||
DBG_8195A("Init Heap Region: %p[%d]\n", pxHeapRegion->pucStartAddress, pxHeapRegion->xSizeInBytes);
|
||||
#if CONFIG_DEBUG_LOG > 4
|
||||
// rtl_memset(pxHeapRegion->pucStartAddress, 0, pxHeapRegion->xSizeInBytes);
|
||||
rtl_memset(pxHeapRegion->pucStartAddress, 0, pxHeapRegion->xSizeInBytes);
|
||||
#endif
|
||||
xTotalRegionSize = pxHeapRegion->xSizeInBytes;
|
||||
/* Ensure the heap region starts on a correctly aligned boundary. */
|
||||
ulAddress = ( uint32_t ) pxHeapRegion->pucStartAddress;
|
||||
if( ( ulAddress & portBYTE_ALIGNMENT_MASK ) != 0 )
|
||||
{
|
||||
ulAddress += ( portBYTE_ALIGNMENT - 1 );
|
||||
xTotalRegionSize = pxHeapRegion->xSizeInBytes;
|
||||
/* Ensure the heap region starts on a correctly aligned boundary. */
|
||||
ulAddress = ( uint32_t ) pxHeapRegion->pucStartAddress;
|
||||
if( ( ulAddress & portBYTE_ALIGNMENT_MASK ) != 0 )
|
||||
{
|
||||
ulAddress += ( portBYTE_ALIGNMENT - 1 );
|
||||
ulAddress &= ~portBYTE_ALIGNMENT_MASK;
|
||||
|
||||
/* Adjust the size for the bytes lost to alignment. */
|
||||
xTotalRegionSize -= ulAddress - ( uint32_t ) pxHeapRegion->pucStartAddress;
|
||||
}
|
||||
|
||||
pucAlignedHeap = ( uint8_t * ) ulAddress;
|
||||
|
||||
/* Set xStart if it has not already been set. */
|
||||
if( xDefinedRegions == 0 )
|
||||
{
|
||||
/* xStart is used to hold a pointer to the first item in the list of
|
||||
free blocks. The void cast is used to prevent compiler warnings. */
|
||||
xStart.pxNextFreeBlock = ( BlockLink_t * ) pucAlignedHeap;
|
||||
xStart.xBlockSize = ( size_t ) 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Should only get here if one region has already been added to the
|
||||
heap. */
|
||||
configASSERT( pxEnd != NULL );
|
||||
|
||||
/* Check blocks are passed in with increasing start addresses. */
|
||||
configASSERT( ulAddress > ( uint32_t ) pxEnd );
|
||||
}
|
||||
|
||||
/* Remember the location of the end marker in the previous region, if
|
||||
any. */
|
||||
pxPreviousFreeBlock = pxEnd;
|
||||
|
||||
/* pxEnd is used to mark the end of the list of free blocks and is
|
||||
inserted at the end of the region space. */
|
||||
ulAddress = ( ( uint32_t ) pucAlignedHeap ) + xTotalRegionSize;
|
||||
ulAddress -= uxHeapStructSize;
|
||||
ulAddress &= ~portBYTE_ALIGNMENT_MASK;
|
||||
pxEnd = ( BlockLink_t * ) ulAddress;
|
||||
pxEnd->xBlockSize = 0;
|
||||
pxEnd->pxNextFreeBlock = NULL;
|
||||
|
||||
/* Adjust the size for the bytes lost to alignment. */
|
||||
xTotalRegionSize -= ulAddress - ( uint32_t ) pxHeapRegion->pucStartAddress;
|
||||
/* To start with there is a single free block in this region that is
|
||||
sized to take up the entire heap region minus the space taken by the
|
||||
free block structure. */
|
||||
pxFirstFreeBlockInRegion = ( BlockLink_t * ) pucAlignedHeap;
|
||||
pxFirstFreeBlockInRegion->xBlockSize = ulAddress - ( uint32_t ) pxFirstFreeBlockInRegion;
|
||||
pxFirstFreeBlockInRegion->pxNextFreeBlock = pxEnd;
|
||||
|
||||
/* If this is not the first region that makes up the entire heap space
|
||||
then link the previous region to this region. */
|
||||
if( pxPreviousFreeBlock != NULL )
|
||||
{
|
||||
pxPreviousFreeBlock->pxNextFreeBlock = pxFirstFreeBlockInRegion;
|
||||
}
|
||||
|
||||
xTotalHeapSize += pxFirstFreeBlockInRegion->xBlockSize;
|
||||
}
|
||||
|
||||
pucAlignedHeap = ( uint8_t * ) ulAddress;
|
||||
|
||||
/* Set xStart if it has not already been set. */
|
||||
if( xDefinedRegions == 0 )
|
||||
{
|
||||
/* xStart is used to hold a pointer to the first item in the list of
|
||||
free blocks. The void cast is used to prevent compiler warnings. */
|
||||
xStart.pxNextFreeBlock = ( BlockLink_t * ) pucAlignedHeap;
|
||||
xStart.xBlockSize = ( size_t ) 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Should only get here if one region has already been added to the
|
||||
heap. */
|
||||
configASSERT( pxEnd != NULL );
|
||||
|
||||
/* Check blocks are passed in with increasing start addresses. */
|
||||
configASSERT( ulAddress > ( uint32_t ) pxEnd );
|
||||
}
|
||||
|
||||
/* Remember the location of the end marker in the previous region, if
|
||||
any. */
|
||||
pxPreviousFreeBlock = pxEnd;
|
||||
|
||||
/* pxEnd is used to mark the end of the list of free blocks and is
|
||||
inserted at the end of the region space. */
|
||||
ulAddress = ( ( uint32_t ) pucAlignedHeap ) + xTotalRegionSize;
|
||||
ulAddress -= uxHeapStructSize;
|
||||
ulAddress &= ~portBYTE_ALIGNMENT_MASK;
|
||||
pxEnd = ( BlockLink_t * ) ulAddress;
|
||||
pxEnd->xBlockSize = 0;
|
||||
pxEnd->pxNextFreeBlock = NULL;
|
||||
|
||||
/* To start with there is a single free block in this region that is
|
||||
sized to take up the entire heap region minus the space taken by the
|
||||
free block structure. */
|
||||
pxFirstFreeBlockInRegion = ( BlockLink_t * ) pucAlignedHeap;
|
||||
pxFirstFreeBlockInRegion->xBlockSize = ulAddress - ( uint32_t ) pxFirstFreeBlockInRegion;
|
||||
pxFirstFreeBlockInRegion->pxNextFreeBlock = pxEnd;
|
||||
|
||||
/* If this is not the first region that makes up the entire heap space
|
||||
then link the previous region to this region. */
|
||||
if( pxPreviousFreeBlock != NULL )
|
||||
{
|
||||
pxPreviousFreeBlock->pxNextFreeBlock = pxFirstFreeBlockInRegion;
|
||||
}
|
||||
|
||||
xTotalHeapSize += pxFirstFreeBlockInRegion->xBlockSize;
|
||||
|
||||
/* Move onto the next HeapRegion_t structure. */
|
||||
xDefinedRegions++;
|
||||
pxHeapRegion = &( pxHeapRegions[ xDefinedRegions ] );
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,18 +0,0 @@
|
|||
set libname=lib_platform
|
||||
del %libname%_tst.a
|
||||
md %libname%.lib
|
||||
cd %libname%.lib
|
||||
PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.2_2015q4\bin;%PATH%
|
||||
arm-none-eabi-ar.exe x ..\%libname%.a
|
||||
del hal_efuse.o
|
||||
del hal_common.o
|
||||
del freertos_pmu_8195a.o
|
||||
del hal_soc_ps_monitor.o
|
||||
del app_start.o
|
||||
del hal_log_uart.o
|
||||
del hal_pinmux.o
|
||||
del hal_misc.o
|
||||
del startup.o
|
||||
arm-none-eabi-ar.exe ru ..\%libname%_tst.a *.o
|
||||
cd ..
|
||||
rd /q /s %libname%.lib
|
|
@ -1,4 +0,0 @@
|
|||
ram_libc.o
|
||||
ram_libgloss_retarget.o
|
||||
rtl_eabi_cast_ram.o
|
||||
rtl_math_ram.o
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,13 +0,0 @@
|
|||
set libname=lib_rtlstd
|
||||
del %libname%_new.a
|
||||
md %libname%.lib
|
||||
cd %libname%.lib
|
||||
PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.2_2015q4\bin;%PATH%
|
||||
arm-none-eabi-ar.exe x ..\%libname%.a
|
||||
del ram_libc.o
|
||||
rem del ram_libgloss_retarget.o
|
||||
rem del rtl_eabi_cast_ram.o
|
||||
rem del rtl_math_ram.o
|
||||
arm-none-eabi-ar.exe ru ..\%libname%_new.a *.o
|
||||
cd ..
|
||||
rem rd /q /s %libname%.lib
|
|
@ -8,7 +8,7 @@ INCLUDE "export-rom_v04.txt"
|
|||
MEMORY
|
||||
{
|
||||
ROM_USED_RAM (rwx): ORIGIN = 0x10000bc8, LENGTH = 21560 /* end 0x10006000 */
|
||||
ROM_HEAP (rwx) : ORIGIN = 0x10002400, LENGTH = 3K /* end 0x10003000 */
|
||||
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 */
|
||||
|
@ -100,16 +100,36 @@ SECTIONS
|
|||
.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*)
|
||||
*(.text*)
|
||||
*(.otg.rom.text*)
|
||||
*(.sdram.text*)
|
||||
*(.p2p.text*)
|
||||
*(.wps.text*)
|
||||
*(.websocket.text*)
|
||||
*(.text*)
|
||||
} > BD_RAM
|
||||
|
||||
.ram_image2.rodata :
|
||||
|
@ -136,10 +156,6 @@ SECTIONS
|
|||
{
|
||||
__data_start__ = .;
|
||||
*(.data*)
|
||||
*(.sdram.data*)
|
||||
*(.p2p.data*)
|
||||
*(.wps.data*)
|
||||
*(.websocket.data*)
|
||||
__data_end__ = .;
|
||||
__ram_image2_text_end__ = .;
|
||||
} > BD_RAM
|
||||
|
@ -152,6 +168,12 @@ SECTIONS
|
|||
*(.hal.sdrc.data*)
|
||||
*(.hal.gpio.data*)
|
||||
*(.fwu.data*)
|
||||
*(.bdsram.data*)
|
||||
*(.bfsram.data*)
|
||||
*(.sdram.data*)
|
||||
*(.p2p.data*)
|
||||
*(.wps.data*)
|
||||
*(.websocket.data*)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
*(.sdram.bss*)
|
||||
|
@ -159,8 +181,6 @@ SECTIONS
|
|||
*(.wps.bss*)
|
||||
*(.websocket.bss*)
|
||||
*(.ssl_ram_map*)
|
||||
*(.bdsram.data*)
|
||||
*(.bfsram.data*)
|
||||
__bss_end__ = .;
|
||||
.ram.bss$$Limit = .;
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -24,8 +24,7 @@ extern char end;
|
|||
|
||||
//-------------------------------------------------------------------------
|
||||
// Data declarations
|
||||
|
||||
char *heap_end;
|
||||
static char *rheap_end;
|
||||
// extern __rtl_errno;
|
||||
// extern end;
|
||||
// extern rom_libgloss_ram_map;
|
||||
|
@ -77,12 +76,12 @@ int ram_libgloss_read(int file, char *ptr, int len) {
|
|||
char *ram_libgloss_sbrk(int incr) {
|
||||
char *prev_heap_end;
|
||||
|
||||
if (!heap_end)
|
||||
heap_end = (char *) &end;
|
||||
prev_heap_end = heap_end;
|
||||
heap_end += incr;
|
||||
if (!rheap_end)
|
||||
rheap_end = (char *) &end;
|
||||
prev_heap_end = rheap_end;
|
||||
rheap_end += incr;
|
||||
#if CONFIG_DEBUG_LOG > 4
|
||||
DBG_8195A("ROM_heap = %p[%d], end = %p\n", prev_heap_end, incr, heap_end);
|
||||
DBG_8195A("ROM_heap = %p[%d], end = %p\n", prev_heap_end, incr, rheap_end);
|
||||
#endif
|
||||
return prev_heap_end;
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3255
build/obj/build.nmap
Normal file
3255
build/obj/build.nmap
Normal file
File diff suppressed because it is too large
Load diff
|
@ -9,6 +9,7 @@
|
|||
#define _INC_FEEP_CONFIG_H_
|
||||
|
||||
#define FEEP_ID_WIFI_CFG 0x5730 // id:'0W', type: struct wlan_fast_reconnect
|
||||
#define FEEP_ID_WIFI_AP_CFG 0x5731 // id:'1W', type: struct rtw_wifi_config_t
|
||||
#define FEEP_ID_UART_CFG 0x5530 // id:'0U', type: UART_LOG_CONF
|
||||
#define FEEP_ID_LWIP_CFG 0x4C30 // id:'0L', type: struct atcmd_lwip_conf
|
||||
#define FEEP_ID_DHCP_CFG 0x4430 // id:'0D', type: struct
|
||||
|
|
Loading…
Reference in a new issue