Replacement system_set_os_print() function.
This commit is contained in:
parent
c378298000
commit
860aa47dc1
|
@ -44,7 +44,13 @@
|
||||||
.align 4
|
.align 4
|
||||||
.literal_position
|
.literal_position
|
||||||
__wrap_printf:
|
__wrap_printf:
|
||||||
addi a1, a1, -48 /* get some stack space */
|
movi a9, os_printf_enabled /* a9 is caller saved */
|
||||||
|
l8ui a9, a9, 0 /* load os_printf_enabled flag */
|
||||||
|
bnez a9, 1f /* if it's enabled, we print everything */
|
||||||
|
movi a9, _irom0_sdktext_end /* else we check if it's SDK called */
|
||||||
|
bgeu a0, a9, 1f /* ...and only print from user code */
|
||||||
|
ret
|
||||||
|
1:addi a1, a1, -48 /* get some stack space */
|
||||||
s32i a0, a1, 0 /* store a0 at the bottom */
|
s32i a0, a1, 0 /* store a0 at the bottom */
|
||||||
s32i a2, a1, 16 /* copy the formatting string and first few arguments */
|
s32i a2, a1, 16 /* copy the formatting string and first few arguments */
|
||||||
s32i a3, a1, 20 /* ...onto the stack in a way that we get a struct */
|
s32i a3, a1, 20 /* ...onto the stack in a way that we get a struct */
|
||||||
|
@ -61,3 +67,9 @@ __wrap_printf:
|
||||||
l32i a0, a1, 0 /* restore return address into a0 */
|
l32i a0, a1, 0 /* restore return address into a0 */
|
||||||
addi a1, a1, 48 /* release the stack */
|
addi a1, a1, 48 /* release the stack */
|
||||||
ret /* all done */
|
ret /* all done */
|
||||||
|
|
||||||
|
/* Flag for controlling whether SDK printf()s are suppressed or not.
|
||||||
|
* This is to provide an RTOS-safe reimplementation of system_set_os_print(). */
|
||||||
|
.section ".data"
|
||||||
|
.globl os_printf_enabled
|
||||||
|
os_printf_enabled: .byte 1
|
||||||
|
|
|
@ -91,6 +91,12 @@ SECTIONS
|
||||||
.irom0.text : ALIGN(0x1000)
|
.irom0.text : ALIGN(0x1000)
|
||||||
{
|
{
|
||||||
_irom0_text_start = ABSOLUTE(.);
|
_irom0_text_start = ABSOLUTE(.);
|
||||||
|
|
||||||
|
/* To be able to suppress SDK printfs, we place all SDK code first, with
|
||||||
|
* a marker at the end that we can easily compare against. */
|
||||||
|
*/rtos-sdk/lib/lib*.a:*.o(.irom*)
|
||||||
|
_irom0_sdktext_end = ABSOLUTE(.);
|
||||||
|
|
||||||
*(.servercert.flash)
|
*(.servercert.flash)
|
||||||
*(.clientcert.flash)
|
*(.clientcert.flash)
|
||||||
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text)
|
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text)
|
||||||
|
@ -108,10 +114,6 @@ SECTIONS
|
||||||
KEEP(*(.lua_rotable))
|
KEEP(*(.lua_rotable))
|
||||||
LONG(0) LONG(0) /* Null-terminate the array */
|
LONG(0) LONG(0) /* Null-terminate the array */
|
||||||
|
|
||||||
/* SDK doesn't use libc functions, and are therefore safe to put in flash */
|
|
||||||
*/libc.a:*.o(.text* .literal*)
|
|
||||||
/* end libc functions */
|
|
||||||
|
|
||||||
_irom0_text_end = ABSOLUTE(.);
|
_irom0_text_end = ABSOLUTE(.);
|
||||||
_flash_used_end = ABSOLUTE(.);
|
_flash_used_end = ABSOLUTE(.);
|
||||||
} >irom0_0_seg :irom0_0_phdr =0xffffffff
|
} >irom0_0_seg :irom0_0_phdr =0xffffffff
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#define ets_timer_arm_new(tmr, ms, rpt, isms) os_timer_arm(tmr,ms,rpt)
|
#define ets_timer_arm_new(tmr, ms, rpt, isms) os_timer_arm(tmr,ms,rpt)
|
||||||
|
|
||||||
//#include_next "user_interface.h"
|
|
||||||
#include "espressif/esp_system.h"
|
#include "espressif/esp_system.h"
|
||||||
#include "espressif/esp_misc.h"
|
#include "espressif/esp_misc.h"
|
||||||
#include "espressif/esp_wifi.h"
|
#include "espressif/esp_wifi.h"
|
||||||
|
@ -11,9 +10,10 @@
|
||||||
#include "espressif/esp_softap.h"
|
#include "espressif/esp_softap.h"
|
||||||
#include "espressif/esp_timer.h"
|
#include "espressif/esp_timer.h"
|
||||||
|
|
||||||
|
static inline void system_set_os_print(uint8_t onoff) {
|
||||||
// FIXME
|
extern uint8_t os_printf_enabled;
|
||||||
static inline void system_set_os_print(uint8 onoff) { (void)onoff; }
|
os_printf_enabled = onoff;
|
||||||
|
}
|
||||||
|
|
||||||
bool wifi_softap_deauth(uint8 mac[6]);
|
bool wifi_softap_deauth(uint8 mac[6]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue