Merge branch 'feature/cleanup_lwip_arch' into 'master'

Clean up Lport code

See merge request sdk/ESP8266_RTOS_SDK!863
This commit is contained in:
Dong Heng
2019-04-22 13:55:13 +08:00
4 changed files with 11 additions and 83 deletions

View File

@ -1,30 +0,0 @@
// Copyright 2018-2019 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <stddef.h>
#include "lwip/opt.h"
#include "lwip/memp.h"
#include "FreeRTOS.h"
#include "esp8266/eagle_soc.h"
#ifdef ESP_LWIP
#if MEMP_SIZE != 0
#error "MEMP_SIZE must be 0"
#else /* MEMP_SIZE != 0 */
size_t memp_malloc_get_size(size_t type)
{
return memp_pools[type]->size;
}
#endif /* MEMP_SIZE != 0 */
#endif /* ESP_LWIP */

View File

@ -196,11 +196,6 @@ sys_mbox_new(sys_mbox_t *mbox, int size)
void
sys_mbox_free(sys_mbox_t *mbox)
{
if (uxQueueMessagesWaiting(*mbox)) {
/* Line for breakpoint. Should never break here! */
// __asm volatile ( "NOP" );
}
vQueueDelete(*mbox);
}
@ -396,50 +391,6 @@ char *sys_current_task_name(void)
return pcTaskGetTaskName(xTaskGetCurrentTaskHandle());
}
/*
This optional function does a "fast" critical region protection and returns
the previous protection level. This function is only called during very short
critical regions. An embedded system which supports ISR-based drivers might
want to implement this function by disabling interrupts. Task-based systems
might want to implement this by using a mutex or disabling tasking. This
function should support recursive calls from the same task or interrupt. In
other words, sys_arch_protect() could be called while already protected. In
that case the return value indicates that it is already protected.
sys_arch_protect() is only required if your port is supporting an operating
system.
*/
sys_prot_t
sys_arch_protect(void)
{
vPortEnterCritical();
return (sys_prot_t) 1;
}
/*
This optional function does a "fast" set of critical region protection to the
value specified by pval. See the documentation for sys_arch_protect() for
more information. This function is only required if your port is supporting
an operating system.
*/
void
sys_arch_unprotect(sys_prot_t pval)
{
(void) pval;
vPortExitCritical();
}
/*
* Prints an assertion messages and aborts execution.
*/
void
sys_arch_assert(const char *file, int line)
{
printf("\nAssertion: %d in %s\n", line, file);
while(1);
}
void
sys_arch_msleep(int ms)
{

View File

@ -61,12 +61,11 @@ typedef int sys_prot_t;
#define PACK_STRUCT_END
#include <stdio.h>
#include <assert.h>
#ifdef LWIP_DEBUG
extern void sys_arch_assert(const char *file, int line);
#define LWIP_PLATFORM_DIAG(x) do {printf x;} while(0)
#define LWIP_PLATFORM_ASSERT(x) do {printf(x); sys_arch_assert(__ESP_FILE__, __LINE__);} while(0)
#define LWIP_PLATFORM_ASSERT(x) do {printf(x); assert(0);} while(0)
#else
#define LWIP_PLATFORM_DIAG(x)
#define LWIP_PLATFORM_ASSERT(x)

View File

@ -49,6 +49,7 @@
#include <stdbool.h>
#include "esp_libc.h"
#include "esp_system.h"
#include "driver/soc.h"
#define ESP_LWIP 1
@ -76,6 +77,13 @@
#define TCP_HIGH_SPEED_RETRANSMISSION CONFIG_TCP_HIGH_SPEED_RETRANSMISSION
/**
* @brief System
*/
#define SYS_ARCH_DECL_PROTECT(_lev) esp_irqflag_t _lev
#define SYS_ARCH_PROTECT(_lev) _lev = soc_save_local_irq()
#define SYS_ARCH_UNPROTECT(_lev) soc_restore_local_irq(_lev)
/*
------------------------------------
-------------- NO SYS --------------
@ -237,7 +245,7 @@ size_t memp_malloc_get_size(size_t type);
*
* @return memory pool pointer
*/
#define memp_malloc_ll(type) heap_caps_malloc(memp_malloc_get_size(type), MALLOC_CAP_8BIT)
#define memp_malloc_ll(type) heap_caps_malloc(memp_pools[type]->size, MALLOC_CAP_8BIT)
#endif
/**