Re: Re: Different section placement for kernel and application

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,

On 2011-01-28, Grant Edwards <grant.b.edwards@xxxxxxxxx> wrote:
> I'm curious why you want to do this. What benefit does it provide?

I have to link a C++ Application to eCos (with FreeBSD Stack and uSTL) on a STM32 derived board. 
The footprint is to big to run it from the internal flash. So we decided to run it from external RAM. 
Unfortunately the performance regarding IRQ handling of a RAM Application is too bad:
Using the timers test from the STM32 variant HAL, I've set only TIM1 active and then varied the update
interrupt period. It turned out, that with a period of 20msec. the IRQ handler run into an Assertion in
the post_dsr() function:
ASSERT FAIL: <5>intr.cxx[292]void Cyg_Interrupt::post_dsr() DSR list is not empty but its head is 0

Doing the same test with a ROM Application, the period can be lowered to 50usec.

So I'm trying to move the eCos library that contains the ISRs, DSRs etc. to the Internal Flash while keeping
the rest of the application (that has no ISRs and DSRs) still in the external RAM.

I hope this Setup will improve the IRQ handling.

Greetings,

Martin

-- 
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 of Archives]     [Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Linux Resources]     [Photo]     [Yosemite]     [ISDN Cause Codes]     [eCos Home]

  Powered by Linux