99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

關(guān)于FreeRTOS堆棧溢出檢測的幾個(gè)問題

1、問題:

在移植、使用安富萊的FreeRTOS堆棧溢出檢測例程的過程中,出現(xiàn)如下情況

串口數(shù)據(jù)并沒有打印完成,直接進(jìn)入了硬件報(bào)錯(cuò)。同時(shí)在仿真過程中,溢出檢測的vApplicationStackOverflowHook也沒有進(jìn)入。

2、解決方案:

通過修改vTaskDelay(1);改成vTaskDelay(10);之后,串口數(shù)據(jù)會全部打印,并且進(jìn)入vApplicationStackOverflowHook。

/*
*********************************************************************************************************
*	函 數(shù) 名: StackOverflowTest
*	功能說明: 任務(wù)棧溢出測試
*	形    參: 無
*	返 回 值: 無
*********************************************************************************************************
*/
static void StackOverflowTest(void)
{
	int16_t i;
	uint8_t buf[2048];
	
	(void)buf; /* 防止警告 */
	
	/*
	  1. 為了能夠模擬任務(wù)棧溢出,并觸發(fā)任務(wù)棧溢出函數(shù),這里強(qiáng)烈建議使用數(shù)組的時(shí)候逆著賦值。
	     因?yàn)閷τ贛3和M4內(nèi)核的MCU,堆棧生長方向是向下生長的滿棧。即高地址是buf[2047], 低地址
	     是buf[0]。如果任務(wù)棧溢出了,也是從高地址buf[2047]到buf[0]的某個(gè)地址開始溢出。
	        因此,如果用戶直接修改的是buf[0]開始的數(shù)據(jù)且這些溢出部分的數(shù)據(jù)比較重要,會直接導(dǎo)致
	     進(jìn)入到硬件異常。
	  2. 棧溢出檢測是在任務(wù)切換的時(shí)候執(zhí)行的,我們這里加個(gè)延遲函數(shù),防止修改了重要的數(shù)據(jù)導(dǎo)致直接
	     進(jìn)入硬件異常。
	  3. 任務(wù)vTaskTaskUserIF的棧空間大小是2048字節(jié),在此任務(wù)的入口已經(jīng)申請了棧空間大小
		 ------uint8_t ucKeyCode;
	     ------uint8_t pcWriteBuffer[500];
	     這里再申請如下這么大的棧空間
	     -------int16_t i;
		 -------uint8_t buf[2048];
	     必定溢出。
	*/
	for(i = 2047; i >= 0; i--)
	{
		buf[i] = 0x55;
		vTaskDelay(10);
	}
}

修改之后的結(jié)果:

3、原因分析

在一開始的串口打印過程中,因?yàn)檠訒r(shí)不夠,沒有將所有的數(shù)據(jù)打印出來,同時(shí),因?yàn)檠訒r(shí)時(shí)間太少,導(dǎo)致在進(jìn)入空閑線程之后,串口數(shù)據(jù)未打印未完成,并且產(chǎn)生溢出中斷,導(dǎo)致直接進(jìn)入硬件報(bào)錯(cuò)。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
本篇所含全部資料,點(diǎn)擊此處留下郵箱我會發(fā)給你
資料明細(xì):STM32F103-內(nèi)存溢出檢測.zip
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 2
收藏 2
關(guān)注 11
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧
主站蜘蛛池模板: 精品无码国产AV一区二区 | 激情另类小说区图片区视频区 | 国产成人久久久精品二区三区 | 日本肥熟 | 亚洲精品7777 | 激情国产AV做激情国产爱 | 久久久久久久国产 | 精品国产精品久久一区免费式 | 综合97| 亚洲91久久 | 97爱视频 | 麻豆av一区二区三区久久 | 日本熟妇色一本在线看 | 中文字幕2018第一页 | 少妇被爽到高潮动态图 | 四川少妇搡BBW搡BBBB | 久草在线观看首页 | 一本之道无人区 | 亚洲理论中文字幕 | 欧美精产国品一二三产品 | 吃奶呻吟打开双腿做受视频 | 国产九色视频在线观看 | 亚洲一区中文日韩 | 日韩免费观看高清 | 天天射日日干 | 精品欧美一区二区中文字幕视频 | 91老司机福利在线视频 | 午夜久操 | ts国产人妖视频在线观看 | 免费在线观看一区二区三区 | 无码三级香港经典三级在线视频 | 国产97视频 | 国产三级精品三级在 | 给老师下药挺进她的身体 | 双腿被绑成M型调教PLAY照片 | 日韩欧美毛片免费观看 | 日韩精品久久久久久久软件91 | 欧美性猛交XXXX三人 | 午夜影院在线午夜影院在线观看 | 日韩国产一区二区 | 免费无码AV一区二区 |