On Mon, 06 Apr 2009 23:39:24 +0200, Sergei Gavrikov
<[email protected]> wrote:
..<cut>
Robert, of course, the right way is to define own macro (= CDL rule) in
the plf's stuff. But, that's not possible without a tweaking plf's code.
I thought about a froud hack: to add something like the below in CFLAGS
-D"HAL_IDLE_THREAD_ACTION(x)={}"
Well, it's ugly, but, if you do not want to mess up 3.0 sources, it
would
be a way.
Perhaps, eCos veterans know about another way.
It's just for reference how it was done for lpc2xxx variants:
packages/hal/arm/lpc2xxx/var/current/include/var_arch.h:63
So, I can use
cdl_option CYGHWR_HAL_ARM_LPC2XXX_IDLE_PWRSAVE {
user_value 0
};
for my target to disable that "odd" mode. Certainly it can be disabled
with `configtool' too.
Sergei
Sergei, I did it with brutal force: I modified the lines inside var_arch.h
in directory ecos/packages/hal/arm/at91/var/current/include such that the
macro
HAL_IDLE_THREAD_ACTION(_counter_) is no longer generated. Then I created a
new ecos and linked my little project with this new ecos. The results are
mixed:
a) As before, when switching power on with no JTAG debugger (BDI2000)
connected, the program launches and works fine.
b) With the JTAG debugger connected, I am no longer in a position to
launch it with the BDI go 0 command (via telnet). No output at all.
c) I can set breakpoints in cyg_user_start and the output of the
diag_printf statement in this routine appear - but
the output of the diag_printf routines in the thread created and
resumed from this reoutine do not appear - although I can catch
breakpoints in this thread.
Not a very clear situation. Do you have a good idea? Thanks and regards
Robert
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss