Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
19 years ago

wrong flash allocation

In my SOPC builder, I set the ext_flash address from 0x00000000 to 0x00FFFFFF.

However, after booting, the FLASH is allocated in 0x80000000 - 0x810000000.(shown as below)

Is there anyone meeting the same problem?

Who can tell me how to solve it? Thanks.

RedBoot™ bootstrap and debug environment [ROMRAM]

Non-certified release, version UNKNOWN - built 14:25:02, Oct 3 2006

Copyright © 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x04000020-0x06000000, [0x0402c7dc-0x05fec000] available

FLASH: 0x80000000 - 0x81000000, 256 blocks of 0x00010000 bytes each.

RedBoot>

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi weichuan,

    the mapping of flash from 0x0 to 0x80000000 isn't necessarily an error.

    The Nios2 processor uses the most significant address bit as cache bypass.

    If bit 31 is set, the Nios2 bypasses the data cache and accesses memory directly.

    Perhaps Redboot sets this bit to avoid cache troubles with flash.

    Cache bypass is explained in the "Nios II Software Developers Handbook", Chapter 7, heading "Managing Cache in Multi-Master Systems".

    Bye,

    Wolfgang