描述
使用堆栈监视器
对许多的嵌入式开发者而言,堆栈似乎是一股相当神秘的力量。当奇怪的事情开始发生,工程师终于被难倒了,他们开始思考,也许堆栈中发生了什么事。结果是盲目地调整堆栈的大小和位置等等。但该错误往往是与堆栈无关的,但怎能如此确定?毕竟,有多少工程师真的实际执行过最坏情况下的堆栈大小分析?
堆栈大小是在编译时就静态分配好的,但堆栈是以动态的方式使用的。随着代码的执行,应用程序需要的变量、返回的地址和其它信息被不断存储在堆栈中。这种机制导致堆栈在其分配的内存中不断增长。然而,这种增长有时会超出编译时确定的容量极限,导致堆栈破坏相邻内存区域的数据。
绝对确保堆栈正常工作的一种方法是实现堆栈监视器,将它作为系统“保健”代码的一部分(有多少工程师会这样做?)。堆栈监视器会在堆栈和“其它”内存区域之间创建一个缓冲区域,并填充已知的位模式。然后监视器会不断的监视图案是否有任何变化。如果该位模式发生了改变,那就意味着堆栈增长得太大了,即将要把系统推向黑暗地狱!此时监视器可以记录事件的发生、系统状态以及任何其它有用的数据,供日后用于问题的诊断。
主营:世界知名品牌的PLC、DCS系统备件模块
①Allen-Bradley(美国AB)系列产品》
②Schneider(施耐德电气)系列产品》
③General electric(通用电气)系列产品》
④Westinghouse(美国西屋)系列产品》
⑤SIEMENS(西门子系列产品)》
⑥销售ABB Robots.FANUC Robots、YASKAWA Robots、KUKA Robots、Mitsubishi Robots、OTC Robots、PanasonicRobots、MOTOMAN Robots。
⑦estinghouse(西屋):OVATION系统、WDPF系统、MAX1000系统备件。
⑧Invensys Foxboro(福克斯波罗):I/A Series系统,FBM(现场输入/输出模块)
顺序控制、梯形逻辑控制、事故追忆处理、数模转换、输入/输出信号处理、数
据通信及处理等。Invensys Triconex:冗余容错控制系统、基于三重模件冗余(TMR)
结构的zui现代化的容错控制器。
⑨Siemens(西门子):Siemens MOORE,Siemens Simatic C1,Siemens数控系统等。
⑩Bosch Rexroth(博世力士乐):Indramat,I/O模块,PLC控制器,驱动模块等。
◆Motorola(摩托罗拉):MVME 162、MVME 167、MVME1772、MVME177等系列。
WALCHEM WEBMASTER WMT700-1NNADBN COOLING TOWER CONTROL
AVTRON TRIMMER PROGRAMMER D14660 NEW OLD STOCK *LNC*
OMRON 3G2A5-LK005 LINK UNIT * XLNT CONDITION *
ABB ACH501-005-4-00P2 FREQUENCY AC DRIVE (5 HP)
ABB (ASEA DSPC 153) 2668 180-113/5 GOOD TAKEOUT
MITSUBISHI MELSEC AX80Y80C INPUT/OUTPUT UNIT
ALLEN BRADLEY 209-DSD-010X-DN (ULTRA 3000I DRIVE)
SIEMENS CFD63B100 CIRCUIT BREAKER GOOD TAKEOUT
MAYATECH CORPORATION 464290 BRAND NEW NOT IN BOX
MAYATECH CORPORATION 811077 EDGE OF WEB SENSOR NEW
MOORE APACS 39ACM24BAN (ACM MODULE) GOOD TAKEOUT
SEIKI CNC BOARD B7909204 GOOD TAKEOUT
ALLEN BRADLEY 1336F-BRF100-AA-EN-HAS2-LA7-L4
ALLEN BRADLEY 1326AB-B2E-11 SERVO MOTOR (REFURBISHED)
ABB ACS350-03U-09A8-2 DRIVE (3 HP) BRAND NEW!
Enlarge
LANDMARK GRAPHIC INTERFACE PANEL LMG (115 VOLT)
SPEED SELECTOR 518-100-60 (BRAND NEW) SPEC # TB
OMRON C200H-NC211 (NC UNIT) NEW OLD STOCK
MOORE APACS 39HFM2CAN (HFM MODULE) GOOD TAKEOUT
NIKKI DENSO ACTUS POWER NPSA-20NN-50E8 SERVO CONTROL
HONEYWELL BATTERY TEST CARD 30752783-001 (XLNT COND)
HONEYWELL TRANSCEIVER 30752766-001 (XLNT COND)
HONEYWELL COMMUNICATIONS LOGIC 30752787-002 (XLNT COND)
GIDDINGS & LEWIS 810-21977-01 CONTROL MODULE W/POWER..
NIKKI DENSO ACTUS POWER NPSA-GMDA-401YZ-A2 GOOD TAKEOUT
RELIANCE ELECTRIC SP500 VS DRIVE 1SU41007 (7.5 HP)
RELIANCE ELECTRIC SP600 AC DRIVE 6SP401-008CTNN (5 HP)
RELIANCE ELECTRIC VS DRIVE 2GC41007 (7.5 HP)
SYMAX 8020SCP401 MODEL 400 PROCESSOR (REFURBISHED)
AUTOTECH CONTROLS SAC-M1051-010 (PRG LIMIT SWITCH)
YASKAWA CACR-SR15SZ1SDY77 SERVOPACK *XLNT* CONDITION
MITSUBISHI MELSEC K0J2-E56DS SEQUENCE CONTROLLER (NEW)
SIEMENS 6AV6 545-0BC15-2AX0 TP170B COLOR TOUCH PANEL
BRAND NEW IN BOX FACTORY SEALED
STEIMEL PUMP TYP-SKL31/0AK-P (BRASS) 1 1/4 FLANGED) NEW
YOKOGAWA VORTEX FLOWMETER YEWFLO DY040 (1 1/2″) SST NEW
YASKAWA JANCD-1003E SMALL BOARD JANCD-EW02 * LNC *
GE DRIVE 6KGP43005X9XXXA1 AF-650 GP 5 HP. 460V *XLNT*
GREYLINE INSTRUMENTS OCF-III-CR FLOW MONITOR (BRAND NEW
SIEMENS 6ES5470-4UA11 SIMATIC ANALOG MODULE
SIEMENS 6ES5924-3SA11 CPU MODULE XLNT CONDITION
ABB DSQC 266G 3HAB8801-1/2B ROBOT CONTROL BOARD NEW
FANUC A16B-1212-0270 /05A LASER INTERFACE BOARD *XLNT*
SQUARE D MAL364508041 CIRCUT BREAKER (WITH LUGS) XLNT!
JOY MODEL 33 BASE LOAD CONTROLLER NEW SURPLUS NEVER USE
SIEMENS MLFB6AT1131-8KB00-0AA0 KEYBOARD NEW IN BOX
PARKER DIGIPLAN 8 AXIS MODULAR DC DRIVE SYSTEM TYPE-UR8
ABB 5692-435-LX ENCODER (BRAND NEW)
NSK BALL SCREW W3606-550ZX-C3Z16 (32 INCHES) BRAND NEW
CONTRAVES VARIDYN COMPACT ADB/F440.60M (40 KVA) *XLNT*
FANUC A20B-0008-0032 /03A SPINDLE DRIVE TOP BOARD XLNT
ALLEN BRADLEY 1745-PT1 PROGRAMMER FOR SLC 100 NIB W/
ALLEN BRADLEY 1404-M405A-CNT POWERMONITOR 3000
FANUC A860-0326-T002 2500P ABS PULSE CODER GOOD TAKEOUT
YUSHIN ROBOT TEACH PENDANT PULLED FROM WORKING ROBOT
MITSUBISHI ENCODER RFH1024-22-1M-68 TYPE TSI508 N85 NEW
ABB AXEM DC MOTOR F9M4 57540 GOOD USED TAKEOFF!
MITSUBISHI MELSEC F2-40M-UA1 CONTROLLER NEW IN BOX
SIEMENS 6ES5 470-7LB12 ANALOG OUTPUT GOOD TAKEOUT
SIEMENS 6ES5 465-7LA11 ANALOG INPUT GOOD TAKEOUT
OKUMA E4809-045-061-D (BDC BOARD GOOD TAKEOUT)
ALLEN BRADLEY 8600 1880L (CPU BOARD) OSAI OS5001V
ALLEN BRADLEY 8600 1882FL (MEMORY MODULE) OSAI OS5241
ALLEN BRADLEY 8600 2163B (CNC BOARD) OSAI OS5330P