This commit is contained in:
pvvx 2017-12-12 23:34:32 +03:00
parent b3dc0dda87
commit 0830a1244a
29 changed files with 240 additions and 152 deletions

View file

@ -30,6 +30,7 @@ extern int inic_stop(void);
#if CONFIG_DEBUG_LOG > 0
#undef printf
extern int rtl_printf(const char *fmt, ...);
#define printf(...) rtl_printf(__VA_ARGS__)
#else
#undef printf
@ -832,13 +833,13 @@ int wifi_on(rtw_mode_t mode) {
wifi_set_mib();
printf("Initializing WIFI ...\n");
for (idx = 0; idx < devnum; idx++) {
ret = rltk_wlan_init(idx, mode);
ret = rltk_wlan_init(idx, mode); // 56
if (ret < 0)
return ret;
}
for (idx = 0; idx < devnum; idx++)
for (idx = 0; idx < devnum; idx++) {
rltk_wlan_start(idx);
}
while (1) {
if (rltk_wlan_running(devnum - 1)) {
printf("WIFI initialized\n");

View file

@ -8,6 +8,7 @@
#include <osdep_service.h>
#include <wlan/wlan_test_inc.h>
#include <dhcp/dhcps.h>
#include <wifi_constants.h>
#include <wifi/wifi_conf.h>
#include <wifi/wifi_util.h>
#include <platform/platform_stdlib.h>
@ -382,7 +383,7 @@ static void cmd_wifi_connect(int argc, char **argv)
char *ssid;
rtw_security_t security_type;
char *password;
int ssid_len;
// int ssid_len;
int password_len;
int key_id;
void *semaphore;
@ -411,21 +412,21 @@ static void cmd_wifi_connect(int argc, char **argv)
if(argc == 2){
security_type = RTW_SECURITY_OPEN;
password = NULL;
ssid_len = strlen((const char *)argv[1]);
// ssid_len = strlen((const char *)argv[1]);
password_len = 0;
key_id = 0;
semaphore = NULL;
}else if(argc ==3){
security_type = RTW_SECURITY_WPA2_AES_PSK;
password = argv[2];
ssid_len = strlen((const char *)argv[1]);
// ssid_len = strlen((const char *)argv[1]);
password_len = strlen((const char *)argv[2]);
key_id = 0;
semaphore = NULL;
}else{
security_type = RTW_SECURITY_WEP_PSK;
password = argv[2];
ssid_len = strlen((const char *)argv[1]);
// ssid_len = strlen((const char *)argv[1]);
password_len = strlen((const char *)argv[2]);
key_id = atoi(argv[3]);
if(( password_len != 5) && (password_len != 13)) {

View file

@ -96,12 +96,14 @@ void wait_ms(int ms) { // До 1073741 секунд? 298 часов
void wait_us(int us) { // До 2.147483648 секунды!
uint32_t start;
#ifdef WAIT_US_USE_CYCCNT
if(us < 1) return;
if (us < 327) { // G-timer resolution is ~31 us (1/32K), use DWT->CYCCNT...
if((uint32_t)us < 1) return;
if ((uint32_t)us < 327) { // G-timer resolution is ~31 us (1/32K), use DWT->CYCCNT...
if(!(DWT->CTRL & DWT_CTRL_CYCCNTENA_Msk)) { // уже включен?
// taskENTER_CRITICAL();
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; // открыть доступ
DWT->CYCCNT = 0; // обнулить и запустить
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; // запустить счет
// taskEXIT_CRITICAL();
}
start = DWT->CYCCNT + us * (PLATFORM_CLOCK / 1000000ul);
while ((int32_t)(start - DWT->CYCCNT) > 0);

View file

@ -28,7 +28,6 @@ void us_ticker_init(void)
{
if (us_ticker_inited) return;
us_ticker_inited = 1;
// Initial a G-Timer
Timer6Adapter.IrqDis = 1; // Disable Irq
@ -44,6 +43,7 @@ void us_ticker_init(void)
HalTimerOp.HalTimerInit((VOID*) &Timer6Adapter);
DBG_TIMER_INFO("%s: Timer_Id=%d\n", __FUNCTION__, APP_TIM_ID);
us_ticker_inited = 1;
}
#if (!TICK_READ_FROM_CPU) || !defined(PLATFORM_FREERTOS)
@ -56,9 +56,9 @@ uint32_t us_ticker_read()
uint64_t us_tick;
//1 Our G-timer resolution is ~31 us (1/32K), and is a countdown timer
// if (!us_ticker_inited) {
// us_ticker_init();
// }
if (!us_ticker_inited) {
us_ticker_init();
}
tick_cnt = HalTimerOp.HalTimerReadCount(SYS_TIM_ID);
tick_cnt = 0xffffffff - tick_cnt; // it's a down counter
ticks_125ms = tick_cnt/(GTIMER_CLK_HZ/8);

View file

@ -29,6 +29,7 @@ enum _HAL_RESET_REASON{
typedef u32 HAL_RESET_REASON;
#ifdef CONFIG_TIMER_MODULE
/* Min Step 31 us ! */
extern _LONG_CALL_ unsigned int HalDelayUs(unsigned int us);
#endif

View file

@ -291,7 +291,7 @@ LOCAL uint8 INFRA_START_SECTION _Get_ChipId() {
LOCAL void INFRA_START_SECTION sdr_preinit(void) {
HAL_SYS_CTRL_WRITE32(REG_SYS_REGU_CTRL0,
((HAL_SYS_CTRL_READ32(REG_SYS_REGU_CTRL0) & 0xfffff) | BIT_SYS_REGU_LDO25M_ADJ(0x03))); // ROM: BIT_SYS_REGU_LDO25M_ADJ(0x0e)? HAL RAM BIT_SYS_REGU_LDO25M_ADJ(0x03)
((HAL_SYS_CTRL_READ32(REG_SYS_REGU_CTRL0) & 0xfffff) | BIT_SYS_REGU_LDO25M_ADJ(0x03))); // ROM: BIT_SYS_REGU_LDO25M_ADJ(0x0e)? HAL RAM BIT_SYS_REGU_LDO25M_ADJ(0x03) L25EOUTVOLTAGE ?
LDO25M_CTRL(ON);
SRAM_MUX_CFG(0x2);
SDR_CLK_SEL(SDR_CLOCK_SEL_VALUE); // REG_PESOC_CLK_SEL

View file

@ -203,12 +203,12 @@ extern HAL_GPIO_ADAPTER gBoot_Gpio_Adapter;
HalReInitPlatformTimer(); // HalInitPlatformTimerV02(); HalTimerOpInit_Patch((VOID*) (&HalTimerOp));
SystemCoreClockUpdate();
En32KCalibration();
//---- Spic
// _memset(SpicInitParaAllClk, 0, sizeof(SpicInitParaAllClk));
*(uint32 *)(&SpicInitParaAllClk[0][0].BaudRate) = 0x01310202; // patch
*(uint32 *)(&SpicInitParaAllClk[1][0].BaudRate) = 0x11311301; // patch
// *(uint32 *)(&SpicInitParaAllClk[2][0].BaudRate) = 0x21311301; // patch
#ifdef CONFIG_SDR_EN
SPI_FLASH_PIN_FCTRL(ON);
/*
// uint8 SpicBaudRate = CPU_CLK_TYPE_NO - 1 - ((HAL_SYS_CTRL_READ32(REG_SYS_CLK_CTRL1) >> 4) & 7);
@ -224,7 +224,6 @@ extern HAL_GPIO_ADAPTER gBoot_Gpio_Adapter;
};
*/
// SpicFlashInitRtl8195A(SpicDualBitMode); // SpicReadIDRtl8195A(); SpicDualBitMode
#ifdef CONFIG_SDR_EN
//---- SDRAM
uint8 ChipId = HalGetChipId();
if (ChipId >= CHIP_ID_8195AM) {
@ -253,9 +252,9 @@ extern HAL_GPIO_ADAPTER gBoot_Gpio_Adapter;
HAL_PERI_ON_WRITE32(REG_SOC_FUNC_EN, HAL_PERI_ON_READ32(REG_SOC_FUNC_EN) | BIT(21)); // Flag SDRAM Init or None
#else
HAL_PERI_ON_WRITE32(REG_SOC_FUNC_EN, HAL_PERI_ON_READ32(REG_SOC_FUNC_EN) & (~BIT(21))); // Flag SDRAM Not Init
#endif // CONFIG_SDR_EN
//----- Close Flash
SPI_FLASH_PIN_FCTRL(OFF);
#endif // CONFIG_SDR_EN
InitSoCPM();
VectorTableInitForOSRtl8195A(&vPortSVCHandler, &xPortPendSVHandler,

View file

@ -712,7 +712,8 @@ VOID HalSsiSetSclkRtl8195a(VOID *Adapter, u32 ClkRate)
}
ClockDivider &= 0xFFFE; // bit 0 always is 0
}
DBG_SSI_INFO("spi_frequency: Set SCLK Freq=%d\r\n", (ssi_clk/ClockDivider));
// DBG_SSI_INFO("spi_frequency: Set SCLK Freq=%d\r\n", (ssi_clk/ClockDivider));
DiagPrintf("spi_frequency: Set SCLK Freq=%d\r\n", (ssi_clk/ClockDivider));
pHalSsiAdapter->ClockDivider = ClockDivider;
SsiEn = HAL_SSI_READ32(spi_idx, REG_DW_SSI_SSIENR); // Backup SSI_EN register

View file

@ -67,7 +67,7 @@ En32KCalibration(
DiagPrintf("Check lock: %d\n", Ttemp);
DiagPrintf("0x278: %x\n", Rtemp);
#endif
if (Ttemp > 100000) { /*Delay 100ms*/
if (Ttemp > 100000/63) { /*Delay 100ms*/
DiagPrintf("32K Calibration Fail!\n", Ttemp);
break;
}