[ECOS] Does someone know how to deactivate MMU to check a memory access ?

Andrew Lunn andrew@lunn.ch
Thu Mar 30 20:04:00 GMT 2006


On Thu, Mar 30, 2006 at 08:46:44PM +0200, Shmuel Vagner wrote:
> Thierry (and list)
> I had a similar problem with our custom IXP425 based board.
> 
> To test the second flash I did the following:
> I compiled different ROM and RAM images:
> In the ROM image:
> 1 - I enabled CS1 with the same defaults as CS0:
> In: cyg/hal/<your_platform_name>.h
> #define IXP425_EXP_CS1_INIT \
>  (EXP_ADDR_T(3) | EXP_SETUP_T(3) | EXP_STROBE_T(15) | EXP_HOLD_T(3) | \
>   EXP_RECOVERY_T(15) | EXP_SZ_16M | EXP_WR_EN | EXP_BYTE_RD16 |
> EXP_CS_EN)
> 
> 2 - I added the new flash range to the MMU:
> In : hal_platform_setup.h
> 	IXP_MAP_EXP 1, IXDP_FLASH_SIZE,       0, 0, 0, 0   // Flash1
> (same as main flash)
> 
> Now the board can talk to the flash in CS1 but the flash driver does not
> know about it.
> 
> In the RAM image:
> 1 - I changed the flash base in two places:
> In: <your_platform_name>.h
> #define IXDP_FLASH_BASE                    0x51000000
> In: your_platform_name_strataflash.inl
> #define CYGNUM_FLASH_BASE 	(0x51000000u)
> 
> Then I burned the ROM image to flash and loaded the RAM image from net.
> The result was that the ram image worked on the second flash (but was
> blind to the first one).
> 
> The above procedure does not enable working on both flashes
> simultaneously but allows checking that the second flash is OK.
> 
> I noticed some old mail from Andrew that explains that it is not
> possible to work with two flashes on different CS simultaneously because
> the flash region is not contiguous and that a new flash driver (called
> flash_v2) that supports it is on the way. 
> Does anybody know if this new flash driver is operational?

flash_v2 is not usable. However only three flash drivers have been
modified to use it, Strata, AMD and ST. If you have one of these
families on your board it should be straigh forward to use the
flash_v2 branch. If you have a different flash chip you will need to
work on the driver to make is support the flash_v2 API.

You also have another alternative. Since you have an MMU, you can use
it to map the virtual address of the second flash so that it is
contiguous with the first one. The existing flash code should then be
able both devices.

        Andrew

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



More information about the Ecos-discuss mailing list