This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Porting problem: some tests in ext. RAM don't work
- From: Sergei Gavrikov <sg at belvok dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 1 Feb 2006 14:45:53 +0200 (EET)
- Subject: [ECOS] Porting problem: some tests in ext. RAM don't work
Hello
I try to do a port eCos for an Olimex LPC-H2294 header board:
ARM7TDMI-S Philips LPC2294, with on-board external RAM/ROM - 1/4M:
http://www.olimex.com/dev/lpc-h2294.html.
Nowaday I've got the RedBoots images for the board (the RAM/ROM
environment). Both of them work pretty well. I can upload eCos tests to
the external RAM with GDB. But I have trouble with a running almost all
of the threated-eCos/tests under GDB in the external RAM. (No problems,
if I run these test from on-chip ROM). Well, I'm newbie in the eCos
porting, be patient, please.
Can anybody post me any hints, ideas? Excuse me for the fat citations. I
think that ext. RAM is configured right in my startup code. I'd learned
Jani Monoses's hal/arm/lpc2xxx/* branch as a prototype for my port.
Regards
Sergei Gavrikov
*** i. RedBoot [RAM]
For example, when I upload 'redboot.elf' (RAM image) with redboot_ROM +
GDB and run it I can see
Welcome to minicom 2.1
OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
Compiled on Sep 18 2004, 16:54:29.
Press CTRL-A Z for help on special keys
version
RedBoot(tm) bootstrap and debug environment [RAM]
Non-certified release, version UNKNOWN - built 11:15:19, Jan 31 2006
Platform: Olimex LPC2XXX/LPC-H2294 (ARM7TDMI-S)
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
RAM: 0x81000000-0x81100000, [0x8101afa8-0x81100000] available
RedBoot>
And this RAM-phantom works pretty well !
*** ii. heaptest
When I upload to RAM and run with GDB 'heaptest', for example, it looks
fine too:
$ arm-elf-gdb /tmp/lpch2294/default_RAM/install/tests/services/memalloc/common/current/tests/heaptest
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "--host=i686-pc-linux-gnu
--target=arm-elf"...
0x00002e9c in ?? ()
Loading section .rom_vectors, size 0x40 lma 0x81010000
Loading section .text, size 0x708c lma 0x81010040
Loading section .rodata, size 0x56c lma 0x810170cc
Loading section .data, size 0x354 lma 0x81017638
Start address 0x81010040, load size 31116
Transfer rate: 27658 bits/sec, 311 bytes/write.
(lpch2294-gdb) c
Continuing.
INFO:<Starting heaptest - testing all memory usable as heap>
INFO:<Any failures reported may indicate failing RAM hardware,>
INFO:<or an invalid memory map>
INFO:<Testing memory at 0x8101bbf0 of size 934916 for 10 iterations>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<all zeroes>
PASS:<all ones>
PASS:<checkerboard 1>
PASS:<checkerboard 2>
PASS:<memory addr>
PASS:<heaptest OK>
EXIT:<done>
Interrupted while waiting for the program.
Give up (and stop debugging it)? (y or n) y
(lpch2294-gdb)
*** iii. tm_basic, context, etc.
But when I upload to RAM and run some tests, for example, 'tm_basic',
'context' (from hal tests), I can go to sleep. The running hangs up.
$ arm-elf-gdb /tmp/lpch2294/default_RAM/install/tests/kernel/current/tests/tm_basic
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "--host=i686-pc-linux-gnu
--target=arm-elf"...
0x00002e9c in ?? ()
Loading section .rom_vectors, size 0x40 lma 0x81010000
Loading section .text, size 0xcf40 lma 0x81010040
Loading section .rodata, size 0xf5c lma 0x8101cf80
Loading section .data, size 0x358 lma 0x8101dedc
Start address 0x81010040, load size 57908
Transfer rate: 25736 bits/sec, 313 bytes/write.
(lpch2294-gdb) c
Continuing.
Thank you for your time,
Sergei Gavrikov
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss