Hi, thanks to a colleague, I have just found another and slightly more helpful way of extracting resources when they are disabled in the report due to including lib_xcore functions:
Code: Select all
xobjdump -t --resources <mybin.xe>
This will produce something like:
Code: Select all
Application id number: 0x00000000
Application id string: "".
tile[0] (node "0", tile 0) stack usage, upper bound: 3708
tile[0] (node "0", tile 0) program size, upper bound: 61312
tile[0] (node "0", tile 0) free memory, lower bound: 459268
tile[0] (node "0", tile 0) thread usage, upper bound: 7
tile[0] (node "0", tile 0) unused threads, lower bound: 1
tile[0] (node "0", tile 0) timer count, upper bound: 9
tile[0] (node "0", tile 0) unused timers, lower bound: 1
tile[0] (node "0", tile 0) channel end usage, upper bound: 24
tile[0] (node "0", tile 0) unused channel ends, lower bound: 8
tile[1] (node "0", tile 1) stack usage, upper bound: 18188+
tile[1] (node "0", tile 1) program size, upper bound: 503936
tile[1] (node "0", tile 1) free memory, lower bound: 2164
tile[1] (node "0", tile 1) thread usage, upper bound: 6+
tile[1] (node "0", tile 1) unused threads, lower bound: 2
tile[1] (node "0", tile 1) timer count, upper bound: 2+
tile[1] (node "0", tile 1) unused timers, lower bound: 8
tile[1] (node "0", tile 1) channel end usage, upper bound: 5+
tile[1] (node "0", tile 1) unused channel ends, lower bound: 27
tile[0] (node "0", tile 0) uses port XS1_PORT_1D
tile[0] (node "0", tile 0) uses port XS1_PORT_1F
tile[0] (node "0", tile 0) uses port XS1_PORT_1G
tile[0] (node "0", tile 0) uses port XS1_PORT_1E
tile[0] (node "0", tile 0) uses port XS1_PORT_1H
tile[0] (node "0", tile 0) uses port XS1_PORT_1J
tile[0] (node "0", tile 0) uses port XS1_PORT_1K
tile[0] (node "0", tile 0) uses port XS1_PORT_1I
tile[0] (node "0", tile 0) uses port XS1_PORT_1L
tile[0] (node "0", tile 0) uses port XS1_PORT_1M
tile[0] (node "0", tile 0) uses port XS1_PORT_8A
tile[0] (node "0", tile 0) uses port XS1_PORT_8B
tile[0] (node "0", tile 0) uses port XS1_PORT_8D
tile[0] (node "0", tile 0) uses port XS1_PORT_16B
tile[1] (node "0", tile 1) uses port XS1_PORT_1B
tile[1] (node "0", tile 1) uses port XS1_PORT_1C
tile[1] (node "0", tile 1) uses port XS1_PORT_1D
tile[1] (node "0", tile 1) uses port XS1_PORT_1I
tile[1] (node "0", tile 1) uses port XS1_PORT_1P
Node "0" routing id = 0x8002
Node "0" PLL configuration register value = 0x0000ae02
Node "0" reference clock divider register value = 0x00000006
Node "0" system frequency (Hz) = 700000000
Where you see a + it means either function pointers are detected (and not properly annotated for stack usage) for memory and for resources (Chans, timers etc..) it means lib_xcore is used so there may be more allocated manually and the compiler can't check them.
However if you are largely using XC (eg for sw_usb_audio) then this should provide a fairly accurate guide.