This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: problem in excuting the system calls from flash
- To: <ecos-discuss at sources dot redhat dot com>
- Subject: Re: [ECOS] problem in excuting the system calls from flash
- From: Hugo Tyson <hmt at redhat dot com>
- Date: 31 Oct 2001 15:17:01 +0000
- References: <1A9DB8F9CE0DE64BAC2BA2ACC4E367FE010B69@mtv01ex02.mindtree.com>
- Reply-To: <ecos-discuss at sources dot redhat dot com>
"Ravi Kumar B S" <ravikbs@mindtree.com> writes:
> I am trying to run an application on ARM e7t board from the "FLASH" which
> creates the uitron tasks and runs. I am able to create the task, and
> start it also successfully (that is what the return value of the call
> indicates - it is E_OK). I have a print statement at the beginning of the
> task. I am not seeing the print statement on the minicom at all. I also
> put slp_tsk() call in the cyg_user_start function and i have a print
You cannot sleep in cyg_user_start() because it is executed before the
scheduler is started.
> statement after that. the print statement is getting printed on the
> terminal. The same application i am able run successfully from the RAM
> with the expected results. I have no idea why the task is not getting
If you are trying to sleep in cyg_user_start() it should not work!
> the control. Now i doubt whether those system calls are excuted
> successfully or no. is there any link between running the programs from
> the flash and the excution of the system calls. I guess there should not
> be.
But you are right, there should not be any difference between ROM startup
and RAM startup in terms of the behaviour of (correct) code.
How do you mean "run from flash"? You have linked using ROM startup and
programmed the image into the base of flash, overwriting RedBoot, or what?
If you want to type "go 0x50080000" (for example) at RedBoot, to run your
application in place, in Flash at 0x50080000, then you must select ROM
start *and* edit the linker scripts to link at that ROM address. Simply
placing a RAM or ROM startup in Flash somewhere without changing the
addresses to match the "somewhere" will not work - eCos apps are not
relocatable.
HTH,
- Huge