How to change kernel base address in petalinux


I am working on customizing petalinux for my IP. My objective is to make all the memory requests from Linux have to pass through PL and PL will in the backend will serve read/store request, basically my IP sits in between the PS and the DDR as shown below block diagram,

Block design

I am using Zymq Zdboard, I tested working of this in Vitis, But now I want OS to send memory request to my IP instead of DDR directly.

I changed device tree and in the uboot I am able to see my IP address as the DRAM address, However, kernel base address is still pointing to DDR.


device_type = "memory";

reg = <0x40000000 0x20000000>;


The bdinfo output is attached below,

arch_number = 0x00000000
boot_params = 0x00000000
DRAM bank   = 0x00000000
-> start    = 0x40000000
-> size     = 0x10000000
baudrate    = 115200 bps
TLB addr    = 0x4fff0000
relocaddr   = 0x4ff2e000
reloc off   = 0x4bf2e000
irq_sp      = 0x4eb0b030
sp start    = 0x4eb0b020
ARM frequency = 666 MHz
DSP frequency = 0 MHz
DDR frequency = 533 MHz
Early malloc usage: 5f8 / 800
fdt_blob    = 0x4eb0b048

Could you tell me how to get this working??

Regards, Prasanna

asked on Stack Overflow Sep 24, 2020 by Prasanna Kotrappa • edited Oct 13, 2020 by Prasanna Kotrappa

0 Answers

Nobody has answered this question yet.

User contributions licensed under CC BY-SA 3.0