內存踩踏解決

上面文章寫了內存踩踏的原因:由於malloc的heap內存佔到了irq的stack,導致出現內存重疊。主要原因是用到了uc2的malloc函數,這個malloc是由c庫來實現的,當malloc太大,heap區域的不夠大的時候,malloc會向上增長從而導致佔用了heap的內存。

解決方法就是增大heap的的大小:

鏈接腳本中增大heap的大小:

 

當然也可以應用ucos2自己實現的內存管理機制:應用內存池,進行分配。這樣也可以減少內存碎片的發生。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章