This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: not possible to have a ROM app that's started by system w/ Redboot?


> It's true for break points. The target code being in Flash, rather than
> RAM, needs hardware break points that are not supported by RedBoor/eCos
> GDB stubs at present.

I'm actually using a Segger JLink for debugging...not using Redboot's gdb support.
That's why I'm puzzled...I should be able to look at the code behind that macro or single step through the assembly code but I can't do anything w/ that IF_PUTC function.


> Try the real (instead of diagnostic) serial driver.

Is there a way to get "diag_printf" to use the real serial driver?  Interesting that you hit the same issue...I always thought the diag_driver just used the same serial port but with interrupts disabled.
I can't remove all the diag_printf calls in the networking stack in configtool...tried turning off all the debug stuff but on startup, the networking code seems to always print out those "Init: %s[%d]" lines.  I guess I could just change all the ecos code that does this and recompile...

 thanks,

ken
--- Begin Message ---
On 05.10.2012 03:43, Ken Yee wrote:
> Ilija Kocho wrote:
>> This may be example you are looking for:
>> http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001623
> Got decently far with this angle of changes.
> We created a new startup type, and fiddled with most of the options for RAM/ROM in the .cdl file.  But from doing this, it's glaringly obvious that eCos does *NOT* support this setup; a ROM app run from Redboot, at least on the AT91, has to do a hybrid
 of the ROM and RAM startup types.  The Redboot documentation should clearly state that only apps built in the RAM startup type are supported IMHO.

True, you won't find for ROM startup in standard RedBoot. FLASH startup
is [my] experiment for testing the concept. It seems to work, but it's
still experimental. Your tests are valuable, thanks.

>
> Anyways, simple test apps seem to run, but one this we hit was that anything that does diag_printf gets stuck in the IF_IN_PUTC call...it just deep spaces (runs until it hits that) there in the debugger.  Single stepping into assembly doesn't even work
 if you put a breakpoint before that so we can't see where that goes (whether it's to a bad driver, etc.).  The simplest app like this:

It's true for break points. The target code being in Flash, rather than
RAM, needs hardware break points that are not supported by RedBoor/eCos
GDB stubs at present.

> void cyg_user_start(void)
> {
>     diag_printf("\r\nHello world!\r\n");
> }
> does the hang when compiled as an APPROM (that's what we called it instead of Flash as yours is called...maybe RBROMAPP for RedBootROMApp might be a better acronym?).
>
> Did you hit this problem in your setup at all?  i.e., did you try diag_printf on your kinetis board?

Yes I have.

Try the real (instead of diagnostic) serial driver.

Ilija



--- End Message ---
-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]