mirror of
https://github.com/flyingcys/realtek_ameba.git
synced 2025-07-31 20:31:06 +00:00
add realtek_ameba package
This commit is contained in:
commit
d401464b75
3406 changed files with 1112851 additions and 0 deletions
135
rtthread_patch/realtek/8711b/app_start.c
Normal file
135
rtthread_patch/realtek/8711b/app_start.c
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Routines to access hardware
|
||||
*
|
||||
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
||||
*
|
||||
* This module is a confidential and proprietary property of RealTek and
|
||||
* possession or use of this module requires written permission of RealTek.
|
||||
*/
|
||||
|
||||
#include "ameba_soc.h"
|
||||
#include "build_info.h"
|
||||
|
||||
#include <rtthread.h>
|
||||
|
||||
#ifndef RT_MAIN_THREAD_STACK_SIZE
|
||||
#define RT_MAIN_THREAD_STACK_SIZE 2048
|
||||
#endif
|
||||
|
||||
#ifndef RT_USING_HEAP
|
||||
/* if there is not enable heap, we should use static thread and stack. */
|
||||
ALIGN(8)
|
||||
static rt_uint8_t main_stack[RT_MAIN_THREAD_STACK_SIZE];
|
||||
struct rt_thread main_thread;
|
||||
#endif
|
||||
|
||||
/* the system main thread */
|
||||
void main_thread_entry(void *parameter)
|
||||
{
|
||||
extern int main(void);
|
||||
extern int $Super$$main(void);
|
||||
|
||||
/* RT-Thread components initialization */
|
||||
#ifdef RT_USING_COMPONENTS_INIT
|
||||
rt_components_init();
|
||||
#endif
|
||||
|
||||
/* invoke system main function */
|
||||
#if defined (__CC_ARM)
|
||||
$Super$$main(); /* for ARMCC. */
|
||||
#elif defined(__ICCARM__) || defined(__GNUC__)
|
||||
main();
|
||||
#endif
|
||||
}
|
||||
|
||||
void rt_application_init(void)
|
||||
{
|
||||
rt_thread_t tid;
|
||||
|
||||
#ifdef RT_USING_HEAP
|
||||
tid = rt_thread_create("main", main_thread_entry, RT_NULL,
|
||||
RT_MAIN_THREAD_STACK_SIZE, RT_THREAD_PRIORITY_MAX / 3, 20);
|
||||
RT_ASSERT(tid != RT_NULL);
|
||||
#else
|
||||
rt_err_t result;
|
||||
|
||||
tid = &main_thread;
|
||||
result = rt_thread_init(tid, "main", main_thread_entry, RT_NULL,
|
||||
main_stack, sizeof(main_stack), RT_THREAD_PRIORITY_MAX / 3, 20);
|
||||
RT_ASSERT(result == RT_EOK);
|
||||
|
||||
/* if not define RT_USING_HEAP, using to eliminate the warning */
|
||||
(void)result;
|
||||
#endif
|
||||
|
||||
rt_thread_startup(tid);
|
||||
}
|
||||
|
||||
int rtthread_startup(void)
|
||||
{
|
||||
rt_hw_interrupt_disable();
|
||||
|
||||
/* board level initalization
|
||||
* NOTE: please initialize heap inside board initialization.
|
||||
*/
|
||||
rt_hw_board_init();
|
||||
|
||||
/* show RT-Thread version */
|
||||
rt_show_version();
|
||||
|
||||
/* timer system initialization */
|
||||
rt_system_timer_init();
|
||||
|
||||
/* scheduler system initialization */
|
||||
rt_system_scheduler_init();
|
||||
|
||||
#ifdef RT_USING_SIGNALS
|
||||
/* signal system initialization */
|
||||
rt_system_signal_init();
|
||||
#endif
|
||||
|
||||
/* create init_thread */
|
||||
rt_application_init();
|
||||
|
||||
/* timer thread initialization */
|
||||
rt_system_timer_thread_init();
|
||||
|
||||
/* idle thread initialization */
|
||||
rt_thread_idle_init();
|
||||
|
||||
/* start scheduler */
|
||||
rt_system_scheduler_start();
|
||||
|
||||
/* never reach here */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void APP_Start(void)
|
||||
{
|
||||
#if CONFIG_SOC_PS_MODULE
|
||||
SOCPS_InitSYSIRQ();
|
||||
#endif
|
||||
|
||||
extern void PendSV_Handler(void);
|
||||
extern void SysTick_Handler(void);
|
||||
InterruptForOSInit((VOID*)NULL,
|
||||
(VOID*)PendSV_Handler,
|
||||
(VOID*)SysTick_Handler);
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
__iar_cstart_call_ctors(NULL);
|
||||
#endif
|
||||
// force SP align to 8 byte not 4 byte (initial SP is 4 byte align)
|
||||
__asm(
|
||||
"mov r0, sp\n"
|
||||
"bic r0, r0, #7\n"
|
||||
"mov sp, r0\n"
|
||||
);
|
||||
|
||||
/* disable interrupt first */
|
||||
rt_hw_interrupt_disable();
|
||||
|
||||
/* startup RT-Thread RTOS */
|
||||
rtthread_startup();
|
||||
}
|
||||
207
rtthread_patch/realtek/8711b/include/FreeRTOSConfig.h
Normal file
207
rtthread_patch/realtek/8711b/include/FreeRTOSConfig.h
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
/*
|
||||
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
|
||||
|
||||
FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
|
||||
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||
* Complete, revised, and edited pdf reference manuals are also *
|
||||
* available. *
|
||||
* *
|
||||
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||
* ensuring you get running as quickly as possible and with an *
|
||||
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||
* the FreeRTOS project to continue with its mission of providing *
|
||||
* professional grade, cross platform, de facto standard solutions *
|
||||
* for microcontrollers - completely free of charge! *
|
||||
* *
|
||||
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||
* *
|
||||
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||
distribute a combined work that includes FreeRTOS without being obliged to
|
||||
provide the source code for proprietary components outside of the FreeRTOS
|
||||
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Having a problem? Start by reading the FAQ "My application does *
|
||||
* not run, what could be wrong?" *
|
||||
* *
|
||||
* http://www.FreeRTOS.org/FAQHelp.html *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, training, latest versions, license
|
||||
and contact details.
|
||||
|
||||
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
|
||||
including FreeRTOS+Trace - an indispensable productivity tool.
|
||||
|
||||
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
|
||||
the code with commercial support, indemnification, and middleware, under
|
||||
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
|
||||
provide a safety engineered and independently SIL3 certified version under
|
||||
the SafeRTOS brand: http://www.SafeRTOS.com.
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)
|
||||
#include <stdint.h>
|
||||
extern uint32_t SystemCoreClock;
|
||||
#endif
|
||||
#include "platform_autoconf.h"
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Application specific definitions.
|
||||
*
|
||||
* These definitions should be adjusted for your particular hardware and
|
||||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
*
|
||||
* See http://www.freertos.org/a00110.html.
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 1
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
||||
#define configTICK_RATE_HZ ( ( uint32_t ) 1000 )
|
||||
#define configSYSTICK_CLOCK_HZ 32768
|
||||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 512 )
|
||||
#ifdef CONFIG_WIFI_EN
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 100 * 1024 ) )
|
||||
#else
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 20 * 1024 ) )
|
||||
#endif
|
||||
#define configMAX_TASK_NAME_LEN ( 10 )
|
||||
#define configUSE_TRACE_FACILITY 0
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 0
|
||||
#define configUSE_CO_ROUTINES 1
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configUSE_TIMERS 1
|
||||
|
||||
#define configMAX_PRIORITIES ( 11 )
|
||||
#define PRIORITIE_OFFSET ( 4 )
|
||||
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configUSE_ALTERNATIVE_API 0
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
#define configGENERATE_RUN_TIME_STATS 0
|
||||
#if configGENERATE_RUN_TIME_STATS
|
||||
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() //( ulHighFrequencyTimerTicks = 0UL )
|
||||
#define portGET_RUN_TIME_COUNTER_VALUE() xTickCount //ulHighFrequencyTimerTicks
|
||||
#undef configUSE_TRACE_FACILITY
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define portCONFIGURE_STATS_PEROID_VALUE 1000 //unit Ticks
|
||||
#endif
|
||||
|
||||
#define configTIMER_TASK_PRIORITY ( 1 )
|
||||
#define configTIMER_QUEUE_LENGTH ( 10 )
|
||||
#define configTIMER_TASK_STACK_DEPTH ( 512 ) //USE_MIN_STACK_SIZE modify from 512 to 256
|
||||
|
||||
#if (__IASMARM__ != 1)
|
||||
|
||||
extern void freertos_pre_sleep_processing(unsigned int *expected_idle_time);
|
||||
extern void freertos_post_sleep_processing(unsigned int *expected_idle_time);
|
||||
extern int freertos_ready_to_sleep();
|
||||
|
||||
/* Enable tickless power saving. */
|
||||
#define configUSE_TICKLESS_IDLE 1
|
||||
|
||||
/* In wlan usage, this value is suggested to use value less than 80 milliseconds */
|
||||
#define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
|
||||
|
||||
/* It's magic trick that let us can use our own sleep function */
|
||||
#define configPRE_SLEEP_PROCESSING( x ) ( freertos_pre_sleep_processing(&x) )
|
||||
|
||||
#define configPOST_SLEEP_PROCESSING( x ) ( freertos_post_sleep_processing(&x) )
|
||||
|
||||
/* It's magic trick that let us can enable/disable tickless dynamically */
|
||||
#define traceLOW_POWER_IDLE_BEGIN(); do { \
|
||||
if (!freertos_ready_to_sleep()) { \
|
||||
mtCOVERAGE_TEST_MARKER(); \
|
||||
break; \
|
||||
}
|
||||
|
||||
// portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime );
|
||||
|
||||
#define traceLOW_POWER_IDLE_END(); } while (0);
|
||||
|
||||
/* It's FreeRTOS related feature but it's not included in FreeRTOS design. */
|
||||
#define configUSE_WAKELOCK_PMU 1
|
||||
|
||||
#endif // #if (__IASMARM__ != 1)
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
#define INCLUDE_vTaskPrioritySet 1
|
||||
#define INCLUDE_uxTaskPriorityGet 1
|
||||
#define INCLUDE_vTaskDelete 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_pcTaskGetTaskName 1
|
||||
#define INCLUDE_xTimerPendFunctionCall 1
|
||||
|
||||
/* Cortex-M specific definitions. */
|
||||
#ifdef __NVIC_PRIO_BITS
|
||||
/* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */
|
||||
#define configPRIO_BITS __NVIC_PRIO_BITS
|
||||
#else
|
||||
#define configPRIO_BITS 4 /* 15 priority levels */
|
||||
#endif
|
||||
|
||||
|
||||
/* The lowest interrupt priority that can be used in a call to a "set priority"
|
||||
function. */
|
||||
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x0f
|
||||
|
||||
/* The highest interrupt priority that can be used by any interrupt service
|
||||
routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL
|
||||
INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
|
||||
PRIORITY THAN THIS! (higher priorities are lower numeric values. */
|
||||
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5
|
||||
|
||||
|
||||
/* Interrupt priorities used by the kernel port layer itself. These are generic
|
||||
to all Cortex-M ports, and do not rely on any particular library functions. */
|
||||
#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
|
||||
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
|
||||
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
|
||||
|
||||
//#define RTK_MODE_TIMER
|
||||
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
||||
7
rtthread_patch/realtek/8711b/include/build_info.h
Normal file
7
rtthread_patch/realtek/8711b/include/build_info.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#define UTS_VERSION "2017/06/23-15:35:37"
|
||||
#define RTL8195AFW_COMPILE_TIME "2017/06/23-15:35:37"
|
||||
#define RTL8195AFW_COMPILE_DATE "20170623"
|
||||
#define RTL8195AFW_COMPILE_BY "root"
|
||||
#define RTL8195AFW_COMPILE_HOST ""
|
||||
#define RTL8195AFW_COMPILE_DOMAIN
|
||||
#define RTL195AFW_COMPILER "gcc 4.8.4"
|
||||
122
rtthread_patch/realtek/8711b/include/main.h
Normal file
122
rtthread_patch/realtek/8711b/include/main.h
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
#ifndef MAIN_H
|
||||
#define MAIN_H
|
||||
|
||||
#include <autoconf.h>
|
||||
|
||||
#ifndef CONFIG_WLAN
|
||||
#define CONFIG_WLAN 1
|
||||
#endif
|
||||
|
||||
/* Header file declaration*/
|
||||
void wlan_network();
|
||||
|
||||
/* Interactive Mode */
|
||||
#define SERIAL_DEBUG_RX 1
|
||||
|
||||
/* WLAN and Netork */
|
||||
#define STA_MODE_SSID "ap" /* Set SSID here */
|
||||
#define AP_MODE_SSID "wlan_ap_ssid" /* Set SSID here */
|
||||
#define AP_DEFAULT_CH 6
|
||||
#define WLAN0_NAME "wlan0"
|
||||
#define WLAN1_NAME "wlan1"
|
||||
#define WPA_PASSPHRASE "1234567890" /* Max 32 cahracters */
|
||||
#define WEP40_KEY {0x12, 0x34, 0x56, 0x78, 0x90}
|
||||
|
||||
#define ATVER_1 1 // For First AT command
|
||||
#define ATVER_2 2 // For UART Module AT command
|
||||
|
||||
#if CONFIG_EXAMPLE_UART_ATCMD
|
||||
#define ATCMD_VER ATVER_2
|
||||
#else
|
||||
#define ATCMD_VER ATVER_1
|
||||
#endif
|
||||
|
||||
#if ATCMD_VER == ATVER_2
|
||||
#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 1
|
||||
|
||||
extern unsigned char sta_ip[4], sta_netmask[4], sta_gw[4];
|
||||
extern unsigned char ap_ip[4], ap_netmask[4], ap_gw[4];
|
||||
|
||||
/*Static IP ADDRESS*/
|
||||
#define IP_ADDR0 sta_ip[0]
|
||||
#define IP_ADDR1 sta_ip[1]
|
||||
#define IP_ADDR2 sta_ip[2]
|
||||
#define IP_ADDR3 sta_ip[3]
|
||||
|
||||
/*NETMASK*/
|
||||
#define NETMASK_ADDR0 sta_netmask[0]
|
||||
#define NETMASK_ADDR1 sta_netmask[1]
|
||||
#define NETMASK_ADDR2 sta_netmask[2]
|
||||
#define NETMASK_ADDR3 sta_netmask[3]
|
||||
|
||||
/*Gateway Address*/
|
||||
#define GW_ADDR0 sta_gw[0]
|
||||
#define GW_ADDR1 sta_gw[1]
|
||||
#define GW_ADDR2 sta_gw[2]
|
||||
#define GW_ADDR3 sta_gw[3]
|
||||
|
||||
/*******************************************/
|
||||
|
||||
/*Static IP ADDRESS*/
|
||||
#define AP_IP_ADDR0 ap_ip[0]
|
||||
#define AP_IP_ADDR1 ap_ip[1]
|
||||
#define AP_IP_ADDR2 ap_ip[2]
|
||||
#define AP_IP_ADDR3 ap_ip[3]
|
||||
|
||||
/*NETMASK*/
|
||||
#define AP_NETMASK_ADDR0 ap_netmask[0]
|
||||
#define AP_NETMASK_ADDR1 ap_netmask[1]
|
||||
#define AP_NETMASK_ADDR2 ap_netmask[2]
|
||||
#define AP_NETMASK_ADDR3 ap_netmask[3]
|
||||
|
||||
/*Gateway Address*/
|
||||
#define AP_GW_ADDR0 ap_gw[0]
|
||||
#define AP_GW_ADDR1 ap_gw[1]
|
||||
#define AP_GW_ADDR2 ap_gw[2]
|
||||
#define AP_GW_ADDR3 ap_gw[3]
|
||||
|
||||
#else
|
||||
|
||||
/*Static IP ADDRESS*/
|
||||
#define IP_ADDR0 192
|
||||
#define IP_ADDR1 168
|
||||
#define IP_ADDR2 1
|
||||
#define IP_ADDR3 80
|
||||
|
||||
/*NETMASK*/
|
||||
#define NETMASK_ADDR0 255
|
||||
#define NETMASK_ADDR1 255
|
||||
#define NETMASK_ADDR2 255
|
||||
#define NETMASK_ADDR3 0
|
||||
|
||||
/*Gateway Address*/
|
||||
#define GW_ADDR0 192
|
||||
#define GW_ADDR1 168
|
||||
#define GW_ADDR2 1
|
||||
#define GW_ADDR3 1
|
||||
|
||||
/*******************************************/
|
||||
|
||||
/*Static IP ADDRESS*/
|
||||
#define AP_IP_ADDR0 192
|
||||
#define AP_IP_ADDR1 168
|
||||
#define AP_IP_ADDR2 43
|
||||
#define AP_IP_ADDR3 1
|
||||
|
||||
/*NETMASK*/
|
||||
#define AP_NETMASK_ADDR0 255
|
||||
#define AP_NETMASK_ADDR1 255
|
||||
#define AP_NETMASK_ADDR2 255
|
||||
#define AP_NETMASK_ADDR3 0
|
||||
|
||||
/*Gateway Address*/
|
||||
#define AP_GW_ADDR0 192
|
||||
#define AP_GW_ADDR1 168
|
||||
#define AP_GW_ADDR2 43
|
||||
#define AP_GW_ADDR3 1
|
||||
|
||||
#endif //#if ATCMD_VER == ATVER_2
|
||||
|
||||
|
||||
#endif
|
||||
241
rtthread_patch/realtek/8711b/include/platform_autoconf.h
Normal file
241
rtthread_patch/realtek/8711b/include/platform_autoconf.h
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
/*
|
||||
* Automatically generated by make menuconfig: don't edit
|
||||
*/
|
||||
#define AUTOCONF_INCLUDED
|
||||
|
||||
/*
|
||||
* < MENUCONFIG FOR CHIP CONFIG
|
||||
*/
|
||||
|
||||
/*
|
||||
* < CONFIG CHIP
|
||||
*/
|
||||
#define CONFIG_RTL8711B 1
|
||||
#undef ARM_CORE_CM3
|
||||
#define ARM_CORE_CM4 1
|
||||
#define CONFIG_CHIP_A_CUT 1
|
||||
#undef CONFIG_FPGA
|
||||
|
||||
/*
|
||||
* < CONFIG CPU CLK
|
||||
*/
|
||||
#define CONFIG_CPU_CLK 1
|
||||
#define CONFIG_CPU_125MHZ 1
|
||||
#undef CONFIG_CPU_62_5MHZ
|
||||
#undef CONFIG_CPU_31_25MHZ
|
||||
#undef CONFIG_CPU_15_625MHZ
|
||||
#undef CONFIG_CPU_7_8125MHZ
|
||||
#undef CONFIG_CPU_4MHZ
|
||||
#undef CONFIG_FPGA_CLK
|
||||
#define PLATFORM_CLOCK (125000000)
|
||||
#define CPU_CLOCK_SEL_VALUE (0)
|
||||
|
||||
/*
|
||||
* < CONFIG OSC8M CLK
|
||||
*/
|
||||
#define CONFIG_OSC8M_CLK 1
|
||||
#define CONFIG_OSC8M_8388608HZ 1
|
||||
#undef CONFIG_OSC8M_8192000HZ
|
||||
#undef CONFIG_OSC8M_8000000HZ
|
||||
#undef CONFIG_OSC8M_16777216HZ
|
||||
#define OSC8M_CLOCK (8388608)
|
||||
|
||||
/*
|
||||
* < CONFIG TEST MODE
|
||||
*/
|
||||
#undef CONFIG_MP
|
||||
#undef CONFIG_CP
|
||||
#undef CONFIG_FT
|
||||
#undef CONFIG_EQC
|
||||
#undef CONFIG_RTL_SIM
|
||||
#undef CONFIG_POST_SIM
|
||||
|
||||
/*
|
||||
* < CONFIG OS
|
||||
*/
|
||||
#define CONFIG_KERNEL 1
|
||||
#define PLATFORM_FREERTOS 1
|
||||
#undef PLATFORM_UCOSII
|
||||
#undef PLATFORM_ECOS
|
||||
#undef CONFIG_TASK_SCHEDUL_DIS
|
||||
#define TASK_SCHEDULER_DISABLED (0)
|
||||
|
||||
/*
|
||||
* < CONFIG GTIMER
|
||||
*/
|
||||
#define CONFIG_TIMER_EN 1
|
||||
#define CONFIG_TIMER_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG WDG
|
||||
*/
|
||||
#define CONFIG_WDG 1
|
||||
#define CONFIG_WDG_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG GDMA
|
||||
*/
|
||||
#define CONFIG_GDMA_EN 1
|
||||
#define CONFIG_GDMA_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG GPIO
|
||||
*/
|
||||
#define CONFIG_GPIO_EN 1
|
||||
#define CONFIG_GPIO_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG SPI
|
||||
*/
|
||||
#define CONFIG_SPI_COM_EN 1
|
||||
#define CONFIG_SPI_COM_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG UART
|
||||
*/
|
||||
#define CONFIG_UART_EN 1
|
||||
#define CONFIG_UART_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG I2C
|
||||
*/
|
||||
#define CONFIG_I2C_EN 1
|
||||
#define CONFIG_I2C_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG I2S
|
||||
*/
|
||||
#define CONFIG_I2S_EN 1
|
||||
#define CONFIG_I2S_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG SOC PS
|
||||
*/
|
||||
#define CONFIG_SOC_PS_EN 1
|
||||
#define CONFIG_SOC_PS_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG CRYPTO
|
||||
*/
|
||||
#define CONFIG_CRYPTO_EN 1
|
||||
#define CONFIG_CRYPTO_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG PWM
|
||||
*/
|
||||
#define CONFIG_PWM_EN 1
|
||||
|
||||
/*
|
||||
* < CONFIG EFUSE
|
||||
*/
|
||||
#define CONFIG_EFUSE_EN 1
|
||||
#define CONFIG_EFUSE_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG SPIC
|
||||
*/
|
||||
#define CONFIG_SPIC_EN 1
|
||||
#define CONFIG_SPIC_MODULE 1
|
||||
#define CONFIG_SPIC_PHASE_CALIBATION 1
|
||||
#undef CONFIG_SPIC_4BYTES_ADDRESS
|
||||
|
||||
/*
|
||||
* < CONFIG ADC
|
||||
*/
|
||||
#define CONFIG_ADC_EN 1
|
||||
#define CONFIG_ADC_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG SDIO Device
|
||||
*/
|
||||
#define CONFIG_SDIO_DEVICE_EN 1
|
||||
#define CONFIG_SDIO_DEVICE_NORMAL 1
|
||||
#define CONFIG_SDIO_DEVICE_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG USB
|
||||
*/
|
||||
#define CONFIG_USB_EN 1
|
||||
#define CONFIG_USB_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG RDP
|
||||
*/
|
||||
#define CONFIG_RDP_ENABLE 1
|
||||
|
||||
/*
|
||||
* < CONFIG PINMUX
|
||||
*/
|
||||
#undef CONFIG_PINMAP_ENABLE
|
||||
|
||||
/*
|
||||
* < CONFIG PER TEST
|
||||
*/
|
||||
#undef CONFIG_PER_TEST
|
||||
|
||||
/*
|
||||
* < CONFIG WIFI
|
||||
*/
|
||||
#define CONFIG_WIFI_EN 1
|
||||
#define CONFIG_WIFI_NORMAL 1
|
||||
#undef CONFIG_WIFI_TEST
|
||||
#define CONFIG_WIFI_MODULE 1
|
||||
|
||||
/*
|
||||
* < CONFIG NETWORK
|
||||
*/
|
||||
#define CONFIG_NETWORK 1
|
||||
|
||||
/*
|
||||
* < CONFIG INIC
|
||||
*/
|
||||
#undef CONFIG_INIC_EN
|
||||
|
||||
/*
|
||||
* < CONFIG USB_NIC
|
||||
*/
|
||||
#undef CONFIG_USB_DONGLE_NIC_EN
|
||||
|
||||
/*
|
||||
* < RTK STD lib
|
||||
*/
|
||||
#define CONFIG_RTLIB_EN 1
|
||||
#define CONFIG_RTLIB_MODULE 1
|
||||
#undef CONFIG_RTLIB_VERIFY
|
||||
|
||||
/*
|
||||
* < Add MBED SDK
|
||||
*/
|
||||
#undef CONFIG_MBED_ENABLED
|
||||
|
||||
/*
|
||||
* < Build App Demo
|
||||
*/
|
||||
#undef CONFIG_APP_DEMO
|
||||
|
||||
/*
|
||||
* < Dhrystone
|
||||
*/
|
||||
#undef CONFIG_DHRYSTONE_TEST
|
||||
|
||||
/*
|
||||
* < SSL
|
||||
*/
|
||||
#undef CONFIG_SSL_ROM_TEST
|
||||
|
||||
/*
|
||||
* < System Debug Message Config
|
||||
*/
|
||||
#define CONFIG_UART_LOG_HISTORY 1
|
||||
#define CONFIG_DEBUG_LOG 1
|
||||
#define CONFIG_DEBUG_ERR_MSG 1
|
||||
#undef CONFIG_DEBUG_WARN_MSG
|
||||
#undef CONFIG_DEBUG_INFO_MSG
|
||||
|
||||
/*
|
||||
* < Build Option
|
||||
*/
|
||||
#define CONFIG_TOOLCHAIN_ASDK 1
|
||||
#undef CONFIG_TOOLCHAIN_ARM_GCC
|
||||
#define CONFIG_LINK_ROM_LIB 1
|
||||
#undef CONFIG_LINK_ROM_SYMB
|
||||
335
rtthread_patch/realtek/8711b/include/platform_opts.h
Normal file
335
rtthread_patch/realtek/8711b/include/platform_opts.h
Normal file
|
|
@ -0,0 +1,335 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
*This file contains general configurations for ameba platform
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef __PLATFORM_OPTS_H__
|
||||
#define __PLATFORM_OPTS_H__
|
||||
|
||||
#include "platform_autoconf.h"
|
||||
/*For MP mode setting*/
|
||||
//#define SUPPORT_MP_MODE 1
|
||||
|
||||
/**
|
||||
* For AT cmd Log service configurations
|
||||
*/
|
||||
#define SUPPORT_LOG_SERVICE 1
|
||||
#if SUPPORT_LOG_SERVICE
|
||||
#define LOG_SERVICE_BUFLEN 100 //can't larger than UART_LOG_CMD_BUFLEN(127)
|
||||
#define CONFIG_LOG_HISTORY 0
|
||||
#if CONFIG_LOG_HISTORY
|
||||
#define LOG_HISTORY_LEN 5
|
||||
#endif
|
||||
#define SUPPORT_INTERACTIVE_MODE 0//on/off wifi_interactive_mode
|
||||
#define CONFIG_LOG_SERVICE_LOCK 0
|
||||
#endif
|
||||
|
||||
/* For DCT example*/
|
||||
#define CONFIG_EXAMPLE_DCT 0
|
||||
|
||||
/**
|
||||
* For interactive mode configurations, depents on log service
|
||||
*/
|
||||
#if SUPPORT_INTERACTIVE_MODE
|
||||
#define CONFIG_INTERACTIVE_MODE 1
|
||||
#define CONFIG_INTERACTIVE_EXT 0
|
||||
#else
|
||||
#define CONFIG_INTERACTIVE_MODE 0
|
||||
#define CONFIG_INTERACTIVE_EXT 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* For FreeRTOS tickless configurations
|
||||
*/
|
||||
#define FREERTOS_PMU_TICKLESS_SUSPEND_SDRAM 1 // In sleep mode, 1: suspend SDRAM, 0: no act
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/**
|
||||
* For common flash usage
|
||||
*/
|
||||
#define AP_SETTING_SECTOR 0x000FE000
|
||||
#define UART_SETTING_SECTOR 0x000FC000
|
||||
#define SPI_SETTING_SECTOR 0x000FC000
|
||||
#define FAST_RECONNECT_DATA (0x80000 - 0x1000)
|
||||
#define FLASH_SECTOR_SIZE 0x1000
|
||||
|
||||
#define CONFIG_ENABLE_RDP 0
|
||||
|
||||
/**
|
||||
* For Wlan configurations
|
||||
*/
|
||||
#define CONFIG_WLAN 1
|
||||
#if CONFIG_WLAN
|
||||
#define CONFIG_LWIP_LAYER 1
|
||||
#define CONFIG_INIT_NET 1 //init lwip layer when start up
|
||||
#define CONFIG_WIFI_IND_USE_THREAD 0 // wifi indicate worker thread
|
||||
|
||||
//on/off relative commands in log service
|
||||
#define CONFIG_SSL_CLIENT 0
|
||||
#define CONFIG_WEBSERVER 0
|
||||
#define CONFIG_OTA_UPDATE 1
|
||||
#define CONFIG_BSD_TCP 1//NOTE : Enable CONFIG_BSD_TCP will increase about 11KB code size
|
||||
#define CONFIG_AIRKISS 0//on or off tencent airkiss
|
||||
#define CONFIG_UART_SOCKET 0
|
||||
#define CONFIG_UART_XMODEM 0//support uart xmodem upgrade or not
|
||||
#define CONFIG_TRANSPORT 0//on or off the at command for transport socket
|
||||
|
||||
/* For WPS and P2P */
|
||||
#define CONFIG_ENABLE_WPS 0
|
||||
#define CONFIG_ENABLE_WPS_DISCOVERY 0
|
||||
#if CONFIG_ENABLE_P2P
|
||||
#define CONFIG_ENABLE_WPS_AP 1
|
||||
#undef CONFIG_WIFI_IND_USE_THREAD
|
||||
#define CONFIG_WIFI_IND_USE_THREAD 1
|
||||
#endif
|
||||
#if (CONFIG_ENABLE_P2P && ((CONFIG_ENABLE_WPS_AP == 0) || (CONFIG_ENABLE_WPS == 0)))
|
||||
#error "If CONFIG_ENABLE_P2P, need to define CONFIG_ENABLE_WPS_AP 1"
|
||||
#endif
|
||||
|
||||
/* For SSL/TLS */
|
||||
#define CONFIG_USE_POLARSSL 1
|
||||
#define CONFIG_USE_MBEDTLS 0
|
||||
#if ((CONFIG_USE_POLARSSL == 0) && (CONFIG_USE_MBEDTLS == 0)) || ((CONFIG_USE_POLARSSL == 1) && (CONFIG_USE_MBEDTLS == 1))
|
||||
#undef CONFIG_USE_POLARSSL
|
||||
#define CONFIG_USE_POLARSSL 1
|
||||
#undef CONFIG_USE_MBEDTLS
|
||||
#define CONFIG_USE_MBEDTLS 0
|
||||
#endif
|
||||
|
||||
/* For Simple Link */
|
||||
#define CONFIG_INCLUDE_SIMPLE_CONFIG 1
|
||||
|
||||
/*For fast reconnection*/
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
|
||||
|
||||
#define CONFIG_GAGENT 0
|
||||
/*Disable CONFIG_EXAMPLE_WLAN_FAST_CONNECT when CONFIG_GAGENT is enabled,because
|
||||
reconnect to previous AP is not suitable when re-configuration.
|
||||
*/
|
||||
#if CONFIG_GAGENT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
#endif
|
||||
|
||||
|
||||
#endif //end of #if CONFIG_WLAN
|
||||
/*******************************************************************************/
|
||||
|
||||
/**
|
||||
* For Ethernet configurations
|
||||
*/
|
||||
#define CONFIG_ETHERNET 0
|
||||
#if CONFIG_ETHERNET
|
||||
|
||||
#define CONFIG_LWIP_LAYER 1
|
||||
#define CONFIG_INIT_NET 1 //init lwip layer when start up
|
||||
|
||||
//on/off relative commands in log service
|
||||
#define CONFIG_SSL_CLIENT 0
|
||||
#define CONFIG_BSD_TCP 0//NOTE : Enable CONFIG_BSD_TCP will increase about 11KB code size
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* For user to adjust SLEEP_INTERVAL
|
||||
*/
|
||||
#define CONFIG_DYNAMIC_TICKLESS 1
|
||||
|
||||
/*******************************************************************************/
|
||||
|
||||
/**
|
||||
* For iNIC configurations
|
||||
*/
|
||||
//#define CONFIG_INIC_EN 0//enable iNIC mode
|
||||
#if CONFIG_INIC_EN
|
||||
#ifndef CONFIG_LWIP_LAYER
|
||||
#define CONFIG_LWIP_LAYER 0
|
||||
#endif
|
||||
#ifndef CONFIG_INIC_SDIO_HCI
|
||||
#define CONFIG_INIC_SDIO_HCI 0 //for SDIO or USB iNIC
|
||||
#endif
|
||||
#ifndef CONFIG_INIC_CMD_RSP
|
||||
#define CONFIG_INIC_CMD_RSP 0
|
||||
#endif
|
||||
#ifndef CONFIG_INIC_USB_HCI
|
||||
#define CONFIG_INIC_USB_HCI 0
|
||||
#endif
|
||||
#endif
|
||||
/******************End of iNIC configurations*******************/
|
||||
|
||||
|
||||
/* For WIFI GET BEACON FRAME example */
|
||||
#define CONFIG_EXAMPLE_GET_BEACON_FRAME 0
|
||||
|
||||
/* For WIFI MAC MONITOR example */
|
||||
#define CONFIG_EXAMPLE_WIFI_MAC_MONITOR 0
|
||||
|
||||
/* For HTTP CLIENT example */
|
||||
#define CONFIG_EXAMPLE_HTTP_CLIENT 0
|
||||
|
||||
/* For MQTT example */
|
||||
#define CONFIG_EXAMPLE_MQTT 0
|
||||
|
||||
/* For mDNS example */
|
||||
#define CONFIG_EXAMPLE_MDNS 0
|
||||
|
||||
/* For multicast example */
|
||||
#define CONFIG_EXAMPLE_MCAST 0
|
||||
|
||||
/* For XML example */
|
||||
#define CONFIG_EXAMPLE_XML 0
|
||||
|
||||
/* For socket select example */
|
||||
#define CONFIG_EXAMPLE_SOCKET_SELECT 0
|
||||
|
||||
/* For socket nonblocking connect example */
|
||||
#define CONFIG_EXAMPLE_NONBLOCK_CONNECT 0
|
||||
|
||||
/* For socket TCP bidirectional transmission example */
|
||||
#define CONFIG_EXAMPLE_SOCKET_TCP_TRX 0
|
||||
|
||||
/* For ssl download example */
|
||||
#define CONFIG_EXAMPLE_SSL_DOWNLOAD 0
|
||||
|
||||
/* For http download example */
|
||||
#define CONFIG_EXAMPLE_HTTP_DOWNLOAD 0
|
||||
|
||||
/* For httpc example */
|
||||
#define CONFIG_EXAMPLE_HTTPC 0
|
||||
|
||||
/* For httpd example */
|
||||
#define CONFIG_EXAMPLE_HTTPD 0
|
||||
|
||||
/* For tcp keepalive example */
|
||||
#define CONFIG_EXAMPLE_TCP_KEEPALIVE 0
|
||||
|
||||
/* For sntp show time example */
|
||||
#define CONFIG_EXAMPLE_SNTP_SHOWTIME 0
|
||||
|
||||
|
||||
/* For websocket client example */
|
||||
#define CONFIG_EXAMPLE_WEBSOCKET 0
|
||||
|
||||
|
||||
/* For UART Module AT command example */
|
||||
#define CONFIG_EXAMPLE_UART_ATCMD 0
|
||||
#if CONFIG_EXAMPLE_UART_ATCMD
|
||||
#undef CONFIG_OTA_UPDATE
|
||||
#define CONFIG_OTA_UPDATE 1
|
||||
#undef CONFIG_TRANSPORT
|
||||
#define CONFIG_TRANSPORT 1
|
||||
#undef LOG_SERVICE_BUFLEN
|
||||
#define LOG_SERVICE_BUFLEN 1600
|
||||
#undef CONFIG_LOG_SERVICE_LOCK
|
||||
#define CONFIG_LOG_SERVICE_LOCK 1
|
||||
#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/****************** For EAP method example *******************/
|
||||
#define CONFIG_EXAMPLE_EAP 0
|
||||
|
||||
// on/off specified eap method
|
||||
#define CONFIG_ENABLE_PEAP 0
|
||||
#define CONFIG_ENABLE_TLS 0
|
||||
#define CONFIG_ENABLE_TTLS 0
|
||||
|
||||
// optional feature: whether to verify the cert of radius server
|
||||
#define ENABLE_EAP_SSL_VERIFY_SERVER 0
|
||||
|
||||
#if CONFIG_ENABLE_PEAP || CONFIG_ENABLE_TLS || CONFIG_ENABLE_TTLS
|
||||
#define CONFIG_ENABLE_EAP
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
#endif
|
||||
|
||||
#if CONFIG_ENABLE_TLS
|
||||
#define ENABLE_EAP_SSL_VERIFY_CLIENT 1
|
||||
#else
|
||||
#define ENABLE_EAP_SSL_VERIFY_CLIENT 0
|
||||
#endif
|
||||
/******************End of EAP configurations*******************/
|
||||
|
||||
|
||||
/* For iNIC host example*/
|
||||
#ifdef CONFIG_INIC_GSPI_HOST //this flag is defined in IAR project
|
||||
#define CONFIG_EXAMPLE_INIC_GSPI_HOST 1
|
||||
#if CONFIG_EXAMPLE_INIC_GSPI_HOST
|
||||
|
||||
#define CONFIG_INIC_HOST 1
|
||||
|
||||
#undef CONFIG_WLAN
|
||||
#define CONFIG_WLAN 0
|
||||
#undef CONFIG_INCLUDE_SIMPLE_CONFIG
|
||||
#define CONFIG_INCLUDE_SIMPLE_CONFIG 0
|
||||
#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
#undef CONFIG_LWIP_LAYER
|
||||
#define CONFIG_LWIP_LAYER 1
|
||||
#undef CONFIG_BSD_TCP
|
||||
#define CONFIG_BSD_TCP 1
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*For uart update example*/
|
||||
#define CONFIG_UART_UPDATE 0
|
||||
#if CONFIG_UART_UPDATE
|
||||
#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
|
||||
#endif
|
||||
|
||||
/* For uart adapter example */
|
||||
/* Please also configure LWIP_UART_ADAPTER to 1
|
||||
in lwip_opt.h for support uart adapter*/
|
||||
#define CONFIG_EXAMPLE_UART_ADAPTER 0
|
||||
#if CONFIG_EXAMPLE_UART_ADAPTER
|
||||
#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT
|
||||
#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 1
|
||||
#undef CONFIG_EXAMPLE_MDNS
|
||||
#define CONFIG_EXAMPLE_MDNS 1
|
||||
#endif
|
||||
|
||||
/* For wifi scenarios example (Wi-Fi, WPS enrollee, P2P GO) */
|
||||
// also need to enable WPS and P2P
|
||||
#define CONFIG_EXAMPLE_WLAN_SCENARIO 0
|
||||
|
||||
/* For broadcast example */
|
||||
#define CONFIG_EXAMPLE_BCAST 0
|
||||
|
||||
/* For high-load memory use case memory usage */
|
||||
#define CONFIG_EXAMPLE_HIGH_LOAD_MEMORY_USE 0
|
||||
|
||||
/* For rarp example */
|
||||
#define CONFIG_EXAMPLE_RARP 0
|
||||
|
||||
/* For ssl server example */
|
||||
#define CONFIG_EXAMPLE_SSL_SERVER 0
|
||||
|
||||
#if CONFIG_QQ_LINK
|
||||
#define FATFS_R_10C
|
||||
#define FATFS_DISK_USB 0
|
||||
#define FATFS_DISK_SD 1
|
||||
#endif
|
||||
|
||||
#if CONFIG_ENABLE_WPS
|
||||
#define WPS_CONNECT_RETRY_COUNT 4
|
||||
#define WPS_CONNECT_RETRY_INTERVAL 5000 // in ms
|
||||
#endif
|
||||
|
||||
#define AUTO_RECONNECT_COUNT 8
|
||||
#define AUTO_RECONNECT_INTERVAL 5 // in sec
|
||||
|
||||
#if CONFIG_INIC_EN
|
||||
#undef CONFIG_INCLUDE_SIMPLE_CONFIG
|
||||
#define CONFIG_INCLUDE_SIMPLE_CONFIG 0
|
||||
#define SUPPORT_INTERACTIVE_MODE 0
|
||||
#define CONFIG_INTERACTIVE_MODE 0
|
||||
#define CONFIG_INTERACTIVE_EXT 0
|
||||
#define CONFIG_OTA_UPDATE 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
279
rtthread_patch/realtek/8711b/rtl8710b_startup.c
Normal file
279
rtthread_patch/realtek/8711b/rtl8710b_startup.c
Normal file
|
|
@ -0,0 +1,279 @@
|
|||
/*
|
||||
* Routines to access hardware
|
||||
*
|
||||
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
||||
*
|
||||
* This module is a confidential and proprietary property of RealTek and
|
||||
* possession or use of this module requires written permission of RealTek.
|
||||
*/
|
||||
|
||||
#include "ameba_soc.h"
|
||||
#include "build_info.h"
|
||||
#include "strproc.h"
|
||||
#include "system_8195a.h"
|
||||
|
||||
u32 random_seed;
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
#pragma section=".ram_image2.bss"
|
||||
#pragma section=".ram_image2.skb.bss"
|
||||
#pragma section=".rom.bss"
|
||||
#pragma section=".ram.start.table"
|
||||
#pragma section=".ram_image1.bss"
|
||||
#pragma section=".image2.start.table1"
|
||||
#pragma section=".image2.start.table2"
|
||||
|
||||
u8* __bss_start__;
|
||||
u8* __bss_end__;
|
||||
|
||||
void __iar_data_init_app(void)
|
||||
{
|
||||
__bss_start__ = (u8*)__section_begin(".ram_image2.bss");
|
||||
__bss_end__ = (u8*)__section_end(".ram_image2.skb.bss");
|
||||
}
|
||||
#endif
|
||||
|
||||
extern VOID SOCPS_WakeFromPG(VOID);
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
VOID
|
||||
HalHardFaultHandler_user_define(u32 HardDefaultArg)
|
||||
{
|
||||
}
|
||||
|
||||
VOID
|
||||
HalHardFaultHandler_Patch_c(u32 HardDefaultArg)
|
||||
{
|
||||
HalHardFaultHandler_user_define(HardDefaultArg);
|
||||
INT_HardFault(HardDefaultArg);
|
||||
}
|
||||
|
||||
VOID
|
||||
HalHardFaultHandler_Patch_asm(void)
|
||||
{
|
||||
asm("TST LR, #4\n"
|
||||
"ITE EQ\n"
|
||||
"MRSEQ R0, MSP\n"
|
||||
"MRSNE R0, PSP\n"
|
||||
"B HalHardFaultHandler_Patch_c");
|
||||
}
|
||||
#endif
|
||||
|
||||
// Override original Interrupt Vector Table
|
||||
VOID BOOT_VectorTableOverride(u32 StackP)
|
||||
{
|
||||
// Override NMI Handler
|
||||
//4 Initial NMI
|
||||
//NewVectorTable[2] = (HAL_VECTOR_FUN)HalNMIHandler_Patch;
|
||||
|
||||
#if 0//defined ( __ICCARM__ )
|
||||
//Redefine Hardfault Handler
|
||||
NewVectorTable[3] = (HAL_VECTOR_FUN)HalHardFaultHandler_Patch_asm;
|
||||
#endif
|
||||
}
|
||||
|
||||
void BOOT_Reason(void)
|
||||
{
|
||||
u32 backup_reg0 = BKUP_Read(BKUP_REG0);
|
||||
|
||||
DBG_8195A("boot reason: %x \n", backup_reg0);
|
||||
}
|
||||
|
||||
extern u32 GlobalDebugEnable;
|
||||
|
||||
VOID BOOT_InitDebugFlg(VOID)
|
||||
{
|
||||
SYSTEM_DATA *SysData = (SYSTEM_DATA *)(SPI_FLASH_BASE + FLASH_SYSTEM_DATA_ADDR);
|
||||
|
||||
/* reset */
|
||||
ConfigDebugErr = 0;
|
||||
ConfigDebugWarn = 0;
|
||||
ConfigDebugInfo = 0;
|
||||
|
||||
#if (defined(CONFIG_POST_SIM) || defined(CONFIG_CP))
|
||||
return;
|
||||
#endif
|
||||
|
||||
/* to initial ROM code using global variable */
|
||||
#ifdef CONFIG_DEBUG_ERR_MSG
|
||||
ConfigDebugErr = 0xFFFFFFFF;//_DBG_MISC_;]
|
||||
#endif
|
||||
#ifdef CONFIG_DEBUG_WARN_MSG
|
||||
ConfigDebugWarn = 0xFFFFFFFF;
|
||||
#endif
|
||||
#ifdef CONFIG_DEBUG_INFO_MSG
|
||||
ConfigDebugInfo = 0xFFFFFFFF;
|
||||
#endif
|
||||
if (SysData->UlogDbgEn == 0x0) {
|
||||
ConfigDebugErr = 0;
|
||||
ConfigDebugWarn = 0;
|
||||
ConfigDebugInfo = 0;
|
||||
GlobalDebugEnable = 0;
|
||||
}
|
||||
}
|
||||
|
||||
VOID BOOT_RTC_Init(VOID)
|
||||
{
|
||||
RTC_InitTypeDef RTC_InitStruct_temp;
|
||||
RTC_AlarmTypeDef RTC_AlarmStruct_temp;
|
||||
RTC_TimeTypeDef RTC_TimeStruct;
|
||||
|
||||
/* for 32K more stable */
|
||||
NCO32K_Init(32768, XTAL_ClkGet(), 15, 2);
|
||||
|
||||
RTC_ClokSource(0);
|
||||
RTC_StructInit(&RTC_InitStruct_temp);
|
||||
RTC_Init(&RTC_InitStruct_temp);
|
||||
|
||||
/* 32760 need add need add 15 cycles (256Hz) every 4 min*/
|
||||
//RTC_SmoothCalibConfig(RTC_CalibSign_Positive, 15,
|
||||
// RTC_CalibPeriod_4MIN, RTC_Calib_Enable);
|
||||
|
||||
/* set time when power on */
|
||||
RTC_GetTime(RTC_Format_BIN, &RTC_TimeStruct);
|
||||
if (RTC_TimeStruct.RTC_Seconds == 0 && RTC_TimeStruct.RTC_Minutes == 0) {
|
||||
RTC_TimeStructInit(&RTC_TimeStruct);
|
||||
RTC_SetTime(RTC_Format_BIN, &RTC_TimeStruct);
|
||||
}
|
||||
|
||||
/* set alarm */
|
||||
RTC_AlarmStructInit(&RTC_AlarmStruct_temp);
|
||||
RTC_AlarmStruct_temp.RTC_AlarmTime.RTC_Days = 1;
|
||||
RTC_AlarmStruct_temp.RTC_AlarmTime.RTC_Hours = 1;
|
||||
RTC_AlarmStruct_temp.RTC_AlarmTime.RTC_Minutes = 1;
|
||||
RTC_AlarmStruct_temp.RTC_AlarmTime.RTC_Seconds = 30;
|
||||
RTC_AlarmStruct_temp.RTC_AlarmMask = RTC_AlarmMask_Hours | RTC_AlarmMask_Minutes;
|
||||
RTC_AlarmStruct_temp.RTC_Alarm2Mask = RTC_Alarm2Mask_Days;
|
||||
|
||||
RTC_SetAlarm(RTC_Format_BIN, &RTC_AlarmStruct_temp);
|
||||
RTC_AlarmCmd(DISABLE);
|
||||
|
||||
/* RTC interrupt hander is reserved for user */
|
||||
//InterruptRegister((IRQ_FUN)BOOT_RTC_Handler, RTC_IRQ, NULL, 4);
|
||||
//InterruptEn(RTC_IRQ, 4);
|
||||
}
|
||||
|
||||
VOID BOOT_PlatformInit(VOID)
|
||||
{
|
||||
u32 Temp = 0;
|
||||
|
||||
/* Set SPS lower voltage */
|
||||
//Temp = ((HAL_READ32(SYSTEM_CTRL_BASE, REG_SYS_EFUSE_SYSCFG0)&0xf0ffffff)|0x6000000);
|
||||
//HAL_WRITE32(SYSTEM_CTRL_BASE, REG_SYS_EFUSE_SYSCFG0, Temp);
|
||||
|
||||
/* Driving control of RF1 clock buffer, 11:large current, 00: small current */
|
||||
Temp = HAL_READ32(SYSTEM_CTRL_BASE, REG_SYS_XTAL_CTRL1);
|
||||
Temp &= ~(BIT_SYS_XTAL_DRV_RF1(3));
|
||||
Temp |= BIT_SYS_XTAL_DRV_RF1(1);
|
||||
HAL_WRITE32(SYSTEM_CTRL_BASE, REG_SYS_XTAL_CTRL1, Temp);
|
||||
}
|
||||
|
||||
//3 Imgae 2
|
||||
VOID BOOT_Image2(VOID)
|
||||
{
|
||||
int ret = 0;
|
||||
#ifdef CONFIG_FPGA
|
||||
MPU->RNR = 0; //0xE000ED00, 0x98 MPU Region RNRber Register
|
||||
MPU->RBAR = 0; //0xE000ED00, 0x9C MPU Region Base Address Register
|
||||
MPU->RASR = 0x6000027; //0xE000ED00, 0xA0 MPU Region Attribute and Size Register
|
||||
MPU->CTRL = 7; //0xE000ED00, 0x94 MPU Control Register
|
||||
#endif
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
__iar_data_init_app();
|
||||
#endif
|
||||
|
||||
BOOT_InitDebugFlg();
|
||||
|
||||
BOOT_VectorTableOverride(0x1003EFFC);
|
||||
|
||||
/* set CPU clock if needed, default is 125MHz */
|
||||
//CPU_ClkSet((u8)(CPU_CLOCK_SEL_VALUE));
|
||||
//DelayUs(10);
|
||||
|
||||
#if (defined(CONFIG_CP))
|
||||
CPTest_EnterImg2Ok();
|
||||
#endif
|
||||
|
||||
DBG_8195A("===== Enter Image 2 ====\n");
|
||||
|
||||
//3 0) Vendor Config function
|
||||
//4 Ram Bss Iitial
|
||||
u32 BssLen = (__bss_end__ - __bss_start__);
|
||||
|
||||
_memset((void *) __bss_start__, 0, BssLen);
|
||||
|
||||
SystemCoreClockUpdate();
|
||||
|
||||
ret = boot_export_symbol.boot_system_init1();
|
||||
|
||||
//BOOT_PlatformInit();
|
||||
|
||||
#if (!defined(CONFIG_FPGA) && !defined(CONFIG_POST_SIM))
|
||||
#if defined(CONFIG_OSC8M_8388608HZ)
|
||||
OSC8M_Calibration(DISABLE, OSC32K_CALI_32KCYC_064, OSC8M_8388608HZ);
|
||||
#elif defined(CONFIG_OSC8M_8192000HZ)
|
||||
OSC8M_Calibration(DISABLE, OSC32K_CALI_32KCYC_064, OSC8M_8192000HZ);
|
||||
#elif defined(CONFIG_OSC8M_8000000HZ)
|
||||
OSC8M_Calibration(DISABLE, OSC32K_CALI_32KCYC_064, OSC8M_8000000HZ);
|
||||
#elif defined(CONFIG_OSC8M_16777216HZ)
|
||||
OSC8M_Calibration(DISABLE, OSC32K_CALI_32KCYC_064, OSC8M_16777216HZ);
|
||||
#endif
|
||||
DelayUs(90);
|
||||
DelayUs(90);
|
||||
#endif //CONFIG_FPGA
|
||||
|
||||
#ifdef CONFIG_CP
|
||||
CPTest_OSCCalibrationOk();
|
||||
#endif
|
||||
|
||||
/* Workaround for the GPIOA_7 didn't pull high: it may cause the
|
||||
SDIO Device hardware be enabled automatically at power on and then
|
||||
GPIOA[7:0] will be used for SDIO device */
|
||||
#ifndef CONFIG_SDIO_DEVICE_EN
|
||||
// SDIO Pin Mux off
|
||||
SDIOD_PIN_FCTRL(OFF);
|
||||
#endif
|
||||
|
||||
DBG_8195A("OSC8M: %x \n", OSC8M_Get());
|
||||
|
||||
BOOT_Reason();
|
||||
|
||||
BOOT_RTC_Init();
|
||||
|
||||
#if (!defined(CONFIG_FPGA))
|
||||
random_seed = Gen_RandomSeed();
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_WIFI_NORMAL) && defined(CONFIG_NETWORK)
|
||||
rtw_efuse_boot_write();
|
||||
#endif
|
||||
ret = boot_export_symbol.boot_system_init2();
|
||||
|
||||
APP_Start();
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
// it is dummy code, but IAR linker need this
|
||||
__iar_data_init3();
|
||||
#endif
|
||||
}
|
||||
|
||||
IMAGE2_VALID_PATTEN_SECTION
|
||||
const u8 RAM_IMG2_VALID_PATTEN[20] = {
|
||||
'R', 'T', 'K', 'W', 'i', 'n', 0x0, 0xff,
|
||||
(FW_VERSION&0xff), ((FW_VERSION >> 8)&0xff),
|
||||
(FW_SUBVERSION&0xff), ((FW_SUBVERSION >> 8)&0xff),
|
||||
(FW_CHIP_ID&0xff), ((FW_CHIP_ID >> 8)&0xff),
|
||||
(FW_CHIP_VER),
|
||||
(FW_BUS_TYPE),
|
||||
(FW_INFO_RSV1),
|
||||
(FW_INFO_RSV2),
|
||||
(FW_INFO_RSV3),
|
||||
(FW_INFO_RSV4)
|
||||
};
|
||||
|
||||
IMAGE2_ENTRY_SECTION
|
||||
RAM_START_FUNCTION gImage2EntryFun0 = {
|
||||
BOOT_Image2,
|
||||
SOCPS_WakeFromPG
|
||||
};
|
||||
1991
rtthread_patch/realtek/common/wifi/wifi_conf.c
Normal file
1991
rtthread_patch/realtek/common/wifi/wifi_conf.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue