Hi Kevin, Kevin Chen wrote:
My system has size limit. I can only have ICACHE, without DCACHE, and there will be NO LMB BRAM at address zero. Instead, FLASH will be at address zero and a bootloader will run from flash and copy linux image to SDRAM for execution. I am not sure if Petalinux could be configured in such a system?
It's not an out-of-the-box configuration, but you can certainly setup your system in this way.
The tricky part about mapping flash to address 0x0 will be bootstrapping the system. MicroBlaze always jumps to 0x0 on reset so you cannot even use EDK's bootloop mode to catch the CPU.
At first thought your best approach may be to have two hardware configurations, one with LMB mapped at zero, and use this to load up the flash with interrupt/reset vectors, kernel image and so on. Then boot into the real HW configuration with the flash mapped at 0x0, and off you go.
There's more to it than this, you'll need to tweak the early bootup process in the kernel, for example. Look around in arch/microblaze/kernel and arch/microblaze/platforms for CONFIG_ROM - this is the closest existing thing to what you are attempting.
I’ve tried to build a similar system withour DCACHE, but with LMB BRAM at address zero, it does not boot up and there is no message showing on UART console.
As long as you do the necessary petalinux-copy-autoconfig updates, that configuration should just work. Some more info would be helpful - did you add FS-boot to your project, or download u-boot, or directly load the kernel into SDRAM and execute it?
Regards, John
System brief: Microblaze with ICACHE enable, DCACHE disable MCH_OPB_SDRAM: one XCL channel, OPB_IPIF enabled FLASH: (set to address 0 for Microblaze) UART No LMB BRAM (where IRQ and RESET vector resided at address zero)Thanks -Kevin
___________________________ microblaze-uclinux mailing list microblaze-uclinux@xxxxxxxxxxxxxx Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/