厦门阿米控技术有限公司 联系人:徐亚婷 手机:18020776785 QQ:2851195472 座机:0592-5087595详细地址:厦门市思明区湖滨南路388号32D之六(国贸大厦32楼)
阿米控技术有限公司的各类产品已广泛应用于港口、国防、造船、水利电力、铁路交通、污水处理等行业。
堆栈深度分析的概念比较简单:1. 为每个独立的线程建立一棵调用树。
2. 确定调用树中每个函数的堆栈用量。
3. 检查每棵调用树,确定从树根到外部“树叶”的哪条调用路径需要使用的堆栈好多。
4. 将每个独立线程调用树的好大堆栈用量相加。
5. 确定每个中断优先级内各中断服务程序(ISR)的好大堆栈用量并计算其总和。但是,如果ISR本身没有堆栈而使用被中断线程的堆栈,则应将ISR使用的好大堆栈数加到各线程堆栈之上。
6. 对于每个优先级,加上中断发生时用来保存处理器状态的堆栈数。
7.如果使用RTOS,则加上RTOS自身内部用途需要的好大堆栈数(与应用代码引发的系统调用不同,后者已包含在步骤2中)。
除此之外,还有两个重要事项需要考虑。首先,仅仅从高级语言源代码建立的调用树很可能并不完善。大部分编译器采用运行时库(run-time library)来优化常用计算任务,如大值整数的乘除、浮点运算等,这些调用只在编译器产生的汇编语言中才可见。运行时库函数本身可能使用大量的堆栈空间,在分析时必须将它们包括进去。如果使用的是C++语言,则以下所有类型的函数(方法)也都必须包含到调用树内:结构器、析构器、重载运算符、复制结构器和转换函数。所有的函数指针也都必须进行解析,并且将它们调用的函数包含进分析之中。
PLC TP177B 6AV6 6AV6642-0BA01-1AX1
PLC TP277 6AV6 6AV6645-0CA10-0AX0
PLC TP277 6AV6 6 6AV6643-0AA01-1AX0
PLC 106AV6645-0CC10-0AX0
PLC 6ES7 322 6ES7322-1FF01-0AA0
PLC/MMC卡6ES7953-8LL20/8LL31/8LM20/8LM31/8LP20/31-0AA0
PLCPN/OP177B 6AV65.76AV6642-0DA01-1AX1
PLCS7-200SMART 700IE 7 6AV6648-0BC11-3AX0
PLCS7-200SMART SB BA01 6ES7288-5BA01-0AA0
PLCS7-200SMART6ES7288-5AE01/5AQ01-0AA0
PLCS7-300SM3266ES7326-2BF10-0AB0
PLC6GK5208/5206-0BA00/1BC00-2AF2
PLC、WinCC、LOGO..
PROFIBUS FC Process Cable 2 6XV1830-5FH10