mirror of
				https://github.com/pvvx/RTL00MP3.git
				synced 2025-07-31 12:41:06 +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 */
 | 
			
		||||
| 
						 | 
				
			
			@ -99,17 +99,37 @@ SECTIONS
 | 
			
		|||
 | 
			
		||||
  .ram_image2.text :
 | 
			
		||||
  {
 | 
			
		||||
    *(.infra.ram.start*)
 | 
			
		||||
    *(.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.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 :
 | 
			
		||||
| 
						 | 
				
			
			@ -123,11 +143,11 @@ SECTIONS
 | 
			
		|||
    . = ALIGN(4);
 | 
			
		||||
    xHeapRegions = .;
 | 
			
		||||
    LONG(__ram_heap1_start__)
 | 
			
		||||
    LONG(__ram_heap1_end__ - __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(__sdram_heap_end__ - __sdram_heap_start__)  
 | 
			
		||||
    LONG(0)
 | 
			
		||||
    LONG(0)
 | 
			
		||||
  } > BD_RAM
 | 
			
		||||
| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue