OpenCores
no use no use 1/1 no use no use
Problem enabling Kernel instrumentation in eCos configuration
by meitoku on May 6, 2014
meitoku
Posts: 26
Joined: Nov 21, 2013
Last seen: Oct 18, 2015
Hello everyone, recently I have to configure eCos for OpenRISC. I followed the guide in http://opencores.org/or1k/ECos. Some programs such as the example instrument-test.c need to be built with an eCos config with two configurations: "Kernel instrumentation" (macro: CYGPKG_KERNEL_INSTRUMENT) and "Use buffer provided by the application" (macro: CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER), enabled as below (they are disabled in default setting).

http://i.imgur.com/pWmCg0d.png
However, if I enable kernel instrumentation, when I run make, I get an error: /home/duc/or/ecos/packages/hal/openrisc/arch/current/src/vectors.S: Assembler messages:
/home/duc/or/ecos/packages/hal/openrisc/arch/current/src/vectors.S:586: Error: unresolved expression that must be resolved
make[1]: *** [src/vectors.o.d] Error 1
make[1]: Leaving directory `/home/duc/or/ecos/work/hal/openrisc/arch/current'
make: *** [build] Error 2

When I open file vectors.S in packages/hal/openrisc/arch/current/src, I saw: 582 #if defined(CYGPKG_KERNEL_INSTRUMENT) && defined(CYGDBG_KERNEL_INSTRUMENT_IN TR)
583 # Log the interrupt if kernel tracing is enabled
584 l.ori r3,r0,0x0301 # arg1 = type = INTR,RAISE
585 # arg2 = vector number
586 l.ori r5,r0,r0 # arg3 = 0
587 l.jal _cyg_instrument # call instrument function
588 #ifdef CYGHWR_BRANCH_SLOT_IMPLEMENTED
589 l.nop
590 #endif

How can I solve this problem?
no use no use 1/1 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.