This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Intel P30 FLASH Help
- From: Benny Chen <bennyc at itee dot uq dot edu dot au>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 05 Apr 2006 14:58:09 +1000
- Subject: [ECOS] Intel P30 FLASH Help
Hi Guys,
I am running Redboot on an Cirrus ARM9 board which used to use the Intel
J3 flash. I am in the mids of getting it to work on a Intel P30 flash.
I have managed to change the download utility used by Cirrus to include
attributes unique to the P30 flash
- Asymmetric Block size
The download seems to work find and had completed successfully.
However, when my program executes using ROMRAM startup it stops at the
cyg_hal_start_constructors() routine in vectors.S. It seems that the
only diag_printf statement that prints is the one before the for loop as
per delow.
Is this due to my download utility not downloading the redboot.bin image
properly?
One other thing is the P30 FLASH did state that XIP programs need to
have their .text and .data sections separated into different Programming
Region (8Mbit blocks) , as in the .data and .text section cannot both be
in the same 8Mbit block.
I have not done this at the moment, because I am not sure how to and do
I need it.
When booting the Redboot via ROMRAM does that execute the startup code
in FLASH or does it copy it to memory before it executes?
Any help is much appreciated.
Cheers,
Benny
void
cyg_hal_invoke_constructors (void)
{
#ifdef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
static pfunc *p = &__CTOR_END__[-1];
cyg_hal_stop_constructors = 0;
for (; p >= __CTOR_LIST__; p--) {
(*p) ();
if (cyg_hal_stop_constructors) {
p--;
break;
}
}
#else
pfunc *p;
*diag_printf("This print OK\n");*
for (p = &__CTOR_END__[-1]; p >= __CTOR_LIST__; p--) {
diag_printf("This didn't print\n");
(*p) ();
}
#endif
}
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss