CH单片机的__exit()

1686639149(1).png

我的程序偶尔会出现__exit() at0x*******,at的位置也不固定,也不进HardFault_Handler中断,在网上查的资料是在main函数里执行return才会进入_exit(),我的情况明显不是这种,想请教一下厂家技术,CH单片机都在什么情况下会进入_exit()?谢谢!


另外问一下:沁恒的RISV单片机flash容量最大的也不过256K,这个容量对于带有OS再加一些第三方协议栈的应用来说,明显不太够用,其它厂家的512K,1M的单片机都是很常见的,沁恒有出大容量flash单片机的打算吗?

image.png

您好,关于_exit问题,应该和单片机无关,应该是程序问题,若方便可将程序发至我(lzs@wch.cn)这边看一下。关于CH32V307的FLASH,其实际大小为480K,分为零等待区域和非零等待区域,零等待区域最大可配为288K,可将对运行速度没有要求的函数或数组数据放在非零等待区域,具体可看数据手册介绍,如下图。后面我司也有推出大容量FLASH MCU的计划,可关注我司官网信息发布。下面链接为CH32V307数据手册下载链接,可下载参考一下。

https://www.wch.cn/downloads/CH32V307DS0_PDF.html 

image.png


程序工程已经发到您的邮箱,请帮忙看一下,谢谢!image.png

另外,这个代表的是什么?是一种内核的错误吗?大概都有什么条件会引起这个?或是有关介绍这方面的资料,麻烦指示一下。百度上搜到好像都和沁恒这个没啥关系。谢谢!



您好,_exit函数您可以从obj目录下生成的后缀名为lst的文件逐级调用的往上去查看什么时候会进入,第二个的显示,是点击界面的暂停按钮时的显示,表示收到信号将调试程序挂起,也就是暂停。后续有问题可以直接通过上面的邮箱交流。


只有登录才能回复,可以选择微信账号登录