1、UART问题
原有UART代码在中断的时候buf_ptr++,没考虑指针越界的问题,需要加上指针边界。
解决方法:在UART_READ函数里加上初始指针地址
uart0_env.rx.bufptr = bufptr;
bufptr_start=app_uart_env.buf_rx;
UART RX中断里改为:
*uart0_env.rx.bufptr = reg;
if(uart0_env.rx.bufptr == buf_start+QN_UART_RX_LEN-1)
uart0_env.rx.bufptr=bufptr_start;
else uart0_env.rx.bufptr++;
2、内存开关:为了省电,默认会只开MEM_BLOCK5,在usr_config.h,需要全部都打开,把宏屏蔽掉:
//#define CFG_MEM_RETENTION (MEM_BLOCK1 | MEM_BLOCK2 | MEM_BLOCK3 | MEM_BLOCK4 | MEM_BLOCK6 | MEM_BLOCK7)