音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)教keil 51上移植UCOS的重入堆棧問(wèn)題?

作者:lucidmask 欄目:單片機(jī)
請(qǐng)教keil 51上移植UCOS的重入堆棧問(wèn)題?
  有一件事不明白,就是關(guān)于重入堆棧。我的理解是整個(gè)程序只有一個(gè)重入堆棧
也就是說(shuō)所有任務(wù)共用一個(gè)重入堆棧。不知是不是這樣?如果是這樣會(huì)不會(huì)發(fā)生任務(wù)間的堆棧覆蓋?比如,task1中調(diào)用的可重入函數(shù)fuc1(...)在往重入堆棧中保存參數(shù)過(guò)程中被中斷,中斷后task2為當(dāng)前任務(wù)開始執(zhí)行,task2中的可重入函數(shù)fuc2(...)在在往重入堆棧中存參數(shù)過(guò)程中也被中斷,中斷后task1為當(dāng)前任務(wù)繼續(xù)執(zhí)行,這樣的話fuc1()繼續(xù)保存參數(shù),不就覆蓋了fuc2()的參數(shù)了嗎?

  不知道我說(shuō)的明白不明白?

請(qǐng)各位指點(diǎn)一下!謝謝!

2樓: >>參與討論
puwlive
不懂!
 
3樓: >>參與討論
xwj
所謂“堆!本褪遣煌5耐厦娑,把舊的放在下面,踩在腳底下
隨便上面的人擺弄什么都不會(huì)影響下面的
等上面的人走了下面的才會(huì)彈出來(lái),這時(shí)又輪到舊的表演了

整個(gè)程序只有一個(gè)重入堆棧,這個(gè)重入堆棧是一段RAM啊,由堆棧指針確定訪問(wèn)的到底是那個(gè)字節(jié)
堆棧的每次壓棧出棧都會(huì)修改堆棧指針,所以是雖然相同的語(yǔ)句操作的卻是不同的RAM

“task1中調(diào)用的可重入函數(shù)fuc1(...)在往重入堆棧中保存參數(shù)過(guò)程中被中斷”

操作系統(tǒng)不會(huì)讓這種現(xiàn)象發(fā)生的,實(shí)際的中斷過(guò)程是:新的中斷發(fā)生--保存現(xiàn)場(chǎng)(壓棧)--執(zhí)行中斷程序--恢復(fù)現(xiàn)場(chǎng)(出棧),在中斷中是不會(huì)影響到原來(lái)的數(shù)據(jù)的

由于每次重入都會(huì)占用堆?臻g,所以程序不能無(wú)限制的嵌套,否則到一定程度堆棧溢出,程序就亂套了(程序跑飛了)


4樓: >>參與討論
lucidmask
謝謝xwj
   你說(shuō)的我都明白了,但我還是認(rèn)為會(huì)有問(wèn)題.我看的是楊屹的代碼,不知你看過(guò)沒(méi)有,代碼中是保存模擬棧指針(?C_XBP)到任務(wù)棧中的,并提到每個(gè)任務(wù)一個(gè)模擬棧,由KEIL自動(dòng)處理。我不明白的是,Keil不是只有一個(gè)模擬棧嗎?怎么會(huì)每個(gè)任務(wù)(一個(gè)函數(shù))一個(gè)呢?

    http://www.startmcu.com/freeresource/51_ucosii.htm


5樓: >>參與討論
lucidmask
終于明白了
   

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪位大俠有關(guān)于可控硅的書
請(qǐng)問(wèn):電話撥號(hào)過(guò)去產(chǎn),如果對(duì)方摘機(jī),會(huì)反回可檢測(cè)信號(hào)嗎?
16點(diǎn)陣漢字字庫(kù)是什么格式的?
請(qǐng)大家?guī)蛡(gè)忙,很急。。51串口幀通訊)謝謝。
請(qǐng)教:貼片IC如何燒寫?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)