描述
對許多的嵌入式開發(fā)者而言,堆棧似乎是一股相當(dāng)神秘的力量。當(dāng)奇怪的事情開始發(fā)生,工程師終于被難倒了,他們開始思考,也許堆棧中發(fā)生了什么事。結(jié)果是盲目地調(diào)整堆棧的大小和位置等等。但該錯誤往往是與堆棧無關(guān)的,但怎能如此確定?畢竟,有多少工程師真的實際執(zhí)行過最壞情況下的堆棧大小分析?
堆棧大小是在編譯時就靜態(tài)分配好的,但堆棧是以動態(tài)的方式使用的。隨著代碼的執(zhí)行,應(yīng)用程序需要的變量、返回的地址和其它信息被不斷存儲在堆棧中。這種機制導(dǎo)致堆棧在其分配的內(nèi)存中不斷增長。然而,這種增長有時會超出編譯時確定的容量極限,導(dǎo)致堆棧破壞相鄰內(nèi)存區(qū)域的數(shù)據(jù)。
絕對確保堆棧正常工作的一種方法是實現(xiàn)堆棧監(jiān)視器,將它作為系統(tǒng)“保健”代碼的一部分(有多少工程師會這樣做?)。堆棧監(jiān)視器會在堆棧和“其它”內(nèi)存區(qū)域之間創(chuàng)建一個緩沖區(qū)域,并填充已知的位模式。然后監(jiān)視器會不斷的監(jiān)視圖案是否有任何變化。如果該位模式發(fā)生了改變,那就意味著堆棧增長得太大了,即將要把系統(tǒng)推向黑暗地獄!此時監(jiān)視器可以記錄事件的發(fā)生、系統(tǒng)狀態(tài)以及任何其它有用的數(shù)據(jù),供日后用于問題的診斷。
大多數(shù)實時操作系統(tǒng)(RTOS)或?qū)崿F(xiàn)了內(nèi)存保護(hù)單元(MPU)的微控制器系統(tǒng)中都提供有堆棧監(jiān)視器??膳碌氖?,這些功能默認(rèn)都是關(guān)閉狀態(tài),或者經(jīng)常被開發(fā)人員有意關(guān)閉。在網(wǎng)絡(luò)上快速搜尋一下可以發(fā)現(xiàn),很多人建議關(guān)閉實時操作系統(tǒng)中的堆棧監(jiān)視器以節(jié)省56字節(jié)的閃存空間。等等,這可是得不償失的做法!
產(chǎn)品承諾:
保?證?全新原裝進(jìn)口,
保?證?安全準(zhǔn)時發(fā)貨,
保?證售后服務(wù)質(zhì)量,
優(yōu)勢價格,大量現(xiàn)貨。
主營DCS系統(tǒng)配件
機器人系統(tǒng)配件
大型伺服系統(tǒng)配件
品牌:ABB???,AB??,GE,FOXBORO,本特利,英維思,伍德沃德,西屋,瑞恩,施耐德,西門子,摩托羅拉,安川。力士樂。ACSO,橫河等進(jìn)口品牌。 專業(yè)銷售進(jìn)口DCS? PLC系統(tǒng)備件模塊
Triconex?Siemens?Yaskawa?ABB?GE?Ovation?AB?Foxboro?Motorola?Schneider?XYCOM?KUKA ? 專業(yè)銷售進(jìn)口DCS? PLC系統(tǒng)備件模塊 15天包退換 一年質(zhì)保 大量現(xiàn)貨? 國內(nèi)實力庫存商家
GE Fanuc AC Servo Motor, #A06B-0313-B703?-0075, Model OS
FANUC PC Board, # A16B-2201-0851, WARRANTY
Cincinnati Milacron Circuit Board 3-533-0145G WARRANTY
Cincinnati Milacron PC Board 3-531-4045A WARRANTY
Mitsubishi Mazak Comm. Circuit Board 03-81579-02 PCB
Samsomatic Main Control PCB Board, # PWA 27-1028
Ross Pneumatic Press Safety Valve # 3573A6162 WARRANTY
Fanuc PCB 10M/T Board Unit, # A16B-1210-0350, WARRANTY
AllenBradley 1326 ACServo Motor #1326AB-B2E-11 WARRANTY
Allen Bradley Panelview Terminal, Cat# 2711-KC1, Rev D
Fanuc AC Servo Motor, Mod# 10, # A06B-0501-B204-?R USSP
Fanuc AC Servo Motor, Mod# 10, # A06B-0501-B204/?0076-R
Panasonic Operator Interface Box, YC-001UB, WARRANTY
6″ x 17″ x 3-3/4″ Walker Electro-Magneti?c Sine Chuck
Okuma LC-20 Servo Motor W/D6 Encoder C-800T-25 Warrant
FANUC I/O Board, # A16B-2200-078, A16B2200078, WARRANTY
NIB Hoffman 68 x 68 Panel, Cat# A 72P72
IAI Robo Cylinder Controller, RCS-C-SA6I-30-0?, WARRANTY
Okuma LC-20 Servo Motor W/D6 Encoder C-400T-25 Warrant
FANUC PC BOARD A20B-2900-0480 A20B29000480
Superior Elec. Slo-Syn Power Supply MPS-3000A MPS3000A
Baldor Motor 3HP 230/460V 7.4/3.7A 3460RPM 60Hz M3610T
Telemecanique Contactor, # LC1F1504, WARRANTY
E-LUX 0452-36 PCB ASSEMBLY W/ DISPLAY USED
Zeiss Coordinate Measuring Machine Board, # 608483-0303
Zeiss CMM Servo Amplifier Board, # 608482-9002
Zeiss CMM Servo Amplifier Board, # 608481-4905
FANUC BOTTOM BOARD # A20B-1003-0081, Warranty, NEW
Allen Bradley SLC Personal Computer Interface Convertor
FANUC PC BOARD, M/M INTERFACE A20B-0008-0500 WARRANTY
Robotron Series 415 Weld Controller, 503-2-0329 WARRANT
Hurco Dual Axis Board Assy. # 415-0176 001A WARRANTY
Parker Compumotor Absolute Encoder Drive, 72-008142-01
Okuma Opus 5000 CPU/IF Rack 9A, Model # E7191-292-325-1
Fanuc 5 KVA Transformer, A80L-0001-0274-?03 WARRANTY
Fanuc AC Servo Motor, Model 30F, # A06B-0353-B831
PLC模塊,可編程控制器,CPU模塊,IO模塊,AI模塊,通訊模塊。AB/施耐德/ABB/GE/本特利/西屋/英維斯/霍尼韋爾/黑馬/FU克斯波羅
15天包退換 一年質(zhì)保 大量現(xiàn)貨? 國內(nèi)實力庫存商家