141 const CHAR *errMsgMalloc =
"OsVprintf, malloc failed!\n";
142 const CHAR *errMsgLen =
"OsVprintf, length overflow!\n";
143 CHAR aBuf[SIZEBUF] = {0};
149 len = vsnprintf_s(bBuf, bufLen, bufLen - 1, fmt, ap);
150 if ((len == -1) && (*bBuf ==
'\0')) {
160 bufLen = bufLen << 1;
161 if ((
INT32)bufLen <= 0) {
167 UartPuts(errMsgMalloc, (
UINT32)strlen(errMsgMalloc), UART_WITH_LOCK);
170 len = vsnprintf_s(bBuf, bufLen, bufLen - 1, fmt, ap);
178 *(bBuf + len) =
'\0';
181 if ((systemStatus == OS_SYSTEM_NORMAL) || (systemStatus == OS_SYSTEM_EXC_OTHER_CPU)) {
183 }
else if (systemStatus == OS_SYSTEM_EXC_CURR_CPU) {
VOID * LOS_MemAlloc(VOID *pool, UINT32 size)
从指定内存池中申请size长度的内存,注意这可不是从内核堆空间中申请内存
UINT32 LOS_MemFree(VOID *pool, VOID *ptr)
释放从指定动态内存中申请的内存
UINT8 * m_aucSysMem0
异常交互动态内存池地址的起始地址,当不支持异常交互特性时,m_aucSysMem0等于m_aucSysMem1。
STATIC VOID ErrorMsg(VOID)
STATIC VOID OsVprintfFree(CHAR *buf, UINT32 bufLen)
VOID OutputControl(const CHAR *str, UINT32 len, OutputType type)
VOID UartPuts(const CHAR *s, UINT32 len, BOOL isLock)