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

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(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

uC/OS-II在MCS51上移植的堆棧增長問題

作者:Herowa 欄目:嵌入式系統(tǒng)
uC/OS-II在MCS51上移植的堆棧增長問題
小弟最近學(xué)習(xí)uC/OS-II在MCS51(AT89S52+62256RAM)上移植,看了些例子,也自己寫了點(diǎn)程序,發(fā)現(xiàn)MCU-51堆棧從下往上增長和從上往下增長都可以運(yùn)行程序,請(qǐng)問MSC51是這樣的嗎?為什么書上說要看MCU對(duì)堆棧增長的支持后才可以定增長方式,難道MSC51對(duì)兩種增長方式都支持?

2樓: >>參與討論
high
不是這樣理解。
對(duì)于一個(gè)應(yīng)用,堆棧往哪個(gè)方向,只要不出了指定stack區(qū)域,不會(huì)覆蓋其他數(shù)據(jù)都沒關(guān)系。但是stack沒有越界檢查,所以一旦stack溢出是非常危險(xiǎn)的。分配堆棧的大小取決局部變量和函數(shù)嵌套。

ucos為每個(gè)任務(wù)分配了堆棧。
比如:
CHAR stack[SIZE];作為任務(wù)的堆棧區(qū)域。
如果堆棧是從高往低,比如arm。那么就要把stack的最高地址賦值給sp寄存器。sp = &stack[SIZE-1];
  對(duì)于51,是從低往高,sp = &stack[0];
  從而保證sp在stack域里。

  




3樓: >>參與討論
Herowa
謝謝high
我還是想問一下:為什么arm的堆棧是從高往低,而51的是從低往高,,這是怎么規(guī)定的?
另外,我將51的堆棧設(shè)為從高往低(當(dāng)然用了sp = &stack[SIZE-1];),也是可以正常運(yùn)行的。

4樓: >>參與討論
hi
這個(gè)是因?yàn)閍rm和51的構(gòu)架不一樣沒有為什么,芯片就是這樣設(shè)計(jì)的。
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
ichip組成的DTU不錯(cuò)
ucosii中全局變量的定義在哪里啊?
各位英雄好漢,小弟有關(guān)于uCos-II如下問題請(qǐng)教?
謝謝xiaoxiao99,希望在以后學(xué)習(xí)中得到您的幫助!
各位英雄好漢,小弟有如下問題請(qǐng)教?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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