上图是我应用工程的一个stack空间使用情况,在上图中:
1. 主函数main占用了126字节空间;
2. ADC_ISR是ADC中断,执行时需要28字节空间;
3. __TI_auto_init_nobinit_nopinit_hold_wdt占用20字节;
4. __TI_decompress_none占用20字节;
5. __TI_decompress_lzss占用32字节;
6. abort占用4字节;
其中,ADC_ISR可能随时触发打断main的执行,所以最小stack空间应该要大于126+28=154字节;
请问:
1. __TI_auto_init_nobinit_nopinit_hold_wdt、__TI_decompress_none、__TI_decompress_lzss、abort分别是干什么的?在什么时候运行?计算最小stack使用量是否需要计算他们?
2. 如果启用了2个中断,最小stack应该加上2个中断函数的占用之和,还是加上2个中断函数的占用较大的那个?