代码拉取完成,页面将自动刷新
#pragma build_attribute vfpcc_compatible
#pragma build_attribute arm_thumb_compatible
#pragma build_attribute ropi_compatible
// #pragma build_attribute rwpi_compatible
#ifdef __AS_BOUNDS__
#error "Boundscheck should not be turned on when compiling this file"
#endif
#include <stdint.h>
#include <yfuns.h>
#pragma language=extended
void abort(void);
__interwork void __iar_ReportCheckFailedStdout(void * d);
static char * putstring(char *buf, const char *s)
{
while( *s ) *buf++ = *s++;
return buf;
}
static char * puthex(char *buf, unsigned long ul)
{
const char hex[16] = "0123456789ABCDEF";
buf = putstring(buf, "0x");
char lbuf[9] = {0};
int index = 8;
do {
--index;
lbuf[index] = hex[ul & 0xF];
ul >>= 4;
} while(ul);
return putstring(buf, &lbuf[index]);
}
int __iar_ReportCheckFailedStdoutAbort = 0;
__interwork void __iar_ReportCheckFailedStdout(void * d)
{
char buf[200] = {0};
char *b = buf;
uint32_t const *data = (uint32_t const *)d;
int nr = data[0] >> 24;
b = putstring(b, "CRUN_ERROR:");
for (int i = 0; i < nr; ++i)
{
*b++ = ' ';
b = puthex(b, data[i]);
}
*b++ = '\n';
__write(_LLIO_STDOUT, (unsigned char const *)buf, (size_t)(b - buf));
if (__iar_ReportCheckFailedStdoutAbort)
abort();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。