fbpp wrote on Monday, November 28, 2011:
This is how I get the Stack Violation:
1. run cmd.exe
2. run C:\Xilinx\13.3\ISE_DS\EDK\bin\nt64\xmd.exe inside of cmd.exe
XMD% connect mb mdm
Warning: Stack Violation. Check the stack size of your program
JTAG chain configuration
Device ID Code IR Length Part Name
1 34008093 6 XC6SLX45
2 6424c093 10 XC6VLX195T
3 6424c093 10 XC6VLX195T
MicroBlaze Processor Configuration :
Version……………………….8.20.a
Optimization……………………Performance
Interconnect……………………PLB_v46
MMU Type………………………No_MMU
No of PC Breakpoints……………2
No of Read Addr/Data Watchpoints…1
No of Write Addr/Data Watchpoints…1
Instruction Cache Support……….on
Instruction Cache Base Address……0x8a000000
Instruction Cache High Address……0x8a1fffff
Data Cache Support………………on
Data Cache Base Address…………0x8a000000
Data Cache High Address…………0x8a1fffff
Exceptions Support…………….on
FPU Support……………………off
Hard Divider Support……………on
Hard Multiplier Support…………on - (Mul32)
Barrel Shifter Support………….on
MSR clr/set Instruction Support….on
Compare Instruction Support………on
Data Cache Write-back Support……off
Fault Tolerance Support…………off
Stack Protection Support…………on
Connected to “mb” target. id = 0
Starting GDB server for “mb” target (id = 0) at TCP port no 1235
XMD% dow app.elf
Downloading Program - app.elf
section, .vectors.reset: 0x00000000-0x00000007
section, .vectors.sw_exception: 0x00000008-0x0000000f
section, .vectors.interrupt: 0x00000010-0x00000017
section, .vectors.hw_exception: 0x00000020-0x00000027
section, .text: 0x8a000000-0x8a034bdb
section, .init: 0x8a034bdc-0x8a034c13
section, .fini: 0x8a034c14-0x8a034c33
section, .ctors: 0x8a034c34-0x8a034c3b
section, .dtors: 0x8a034c3c-0x8a034c43
section, .rodata: 0x8a034c44-0x8a046e47
section, .data: 0x8a046e48-0x8a04afa3
section, .eh_frame: 0x8a04afa4-0x8a04afa7
section, .jcr: 0x8a04afa8-0x8a04afab
section, .bss: 0x8a04afb0-0x8a08e45b
section, .heap: 0x00000050-0x0000284f
section, .stack: 0x00002850-0x0000504f
Setting PC with Program Start Address 0x00000000
System Reset …. DONE
XMD% run
Processor started. Type “stop” to stop processor
RUNNING> 0
XMD% Warning: Stack Violation. Check the stack size of your program
I have had a very hard time to debug the program in Xilinx XSDK, it even couldn’t display local variable sometime, and it has problem to step through for loop. So I am wondering if it is REAL stack issue.