
uCOS2
alexander1125
这个作者很懒,什么都没留下…
展开
-
UCOS2如何判断堆栈溢出
堆栈溢出是指任务在运行时使用的堆栈大小超过了分配给任务堆栈的大小,结果导致向堆栈外的内存写入了数据。这样可能导致覆盖了系统或者其他任务的数据,也可能会导致内存访问异常。 在多任务内核中,为每一个任务分配的堆栈大小均为固定,在系统运行时,若发生堆栈溢出且没有做处理,则可能导致系统崩溃。 在CooCox CoOS中创建任务时,系统将在任务控制块中保存堆栈的栈底地址,并转载 2012-05-02 01:22:11 · 4225 阅读 · 0 评论 -
uCOS2中如检测线程栈的使用量
其实非常简单的操作,每次线程创建时,把栈空间全部清零。然后定期检测栈中非零的空间,就知道栈的使用量了。【只有线程运行到一定程度时,线程堆栈使用量才准确】 uCOS2这种简单的Soc系统,栈空间大小是固定的。和现代的系统不一样,以X86 Linux为例,现代的系统的进程栈都是动态按需分配,而且空间基本上不受限制【4G地址空间大小】。 因为X86平台有MMU原创 2012-05-11 10:34:37 · 1965 阅读 · 0 评论 -
uCOS系统的思考
一: 世界潮流,浩浩汤汤,顺之者昌,逆之者亡---孙中山 从80X86到ARM9,再从ARM9到ARM7,平台是越做越简单,但是简单并不是意味着退步,反而是种潮流趋势。。。 在CISC道路上渐行渐远的INTEL,在移动市场无所作为,而且服务器市场也面临着ARM的潜在威胁。 废话不多说,还是直入主题: ARM7的特性:原创 2012-05-20 22:01:37 · 6647 阅读 · 1 评论