Hi,all:
My TCI6638EVM had 2G DDR3 memory.I designed to allocate memory like this:
DSP used the first 1G space address from 0x8000 0000 to 0xbffff ffff.
ARM used the second 1G space address from 0xc000 0000 to 0xdffff ffff
By default, TCI6638EVM ARM run kernel from physical address 0x8000 0000,also ARM occupiedAll 2G DDR space.So once DSP program load and run ,linux kernel could suspend or hung.
So I wanted to run linux kernel from a different physical address –0xc000 0000 and memsize was assigned to 1G .I followed the steps described in the ti wiki:
I modified these place including the kernel and uboot code below.
Kernel
- Makefile.boot
..\tci6638-linux-kernel\linux-keystone\arch\arm\mach-keystone\
zreladdr-y := 0xc0008000
- Memory.h
..\tci6638-linux-kernel\linux-keystone\arch\arm\mach-keystone\include\mach
#define KEYSTONE_LOW_PHYS_START 0xc0000000ULL
#define KEYSTONE_LOW_PHYS_SIZE 0x40000000ULL /* 1G */
#define KEYSTONE_LOW_PHYS_END (KEYSTONE_LOW_PHYS_START + \
KEYSTONE_LOW_PHYS_SIZE - 1)
- K2hk-evm.dts
..\tci6638-linux-kernel\linux-keystone\arch\arm\boot\dts
memory {
reg = <0x00000000 0xC0000000 0x00000000 0x20000000>;
};
Uboot
- Tci6638_evm.h
\tci6638-uboot\u-boot-keystone\include\configs
#define CONFIG_SYS_SDRAM_BASE 0xC0000000
#define CONFIG_MAX_RAM_BANK_SIZE (1<< 30) /* 1GB */
addr_fdt=0xc7000000
addr_kern=0xc8000000
After above modifies.I run uboot and kernel.But Kernel always stopped at “Start Kernel…..”
why? where I didn't notice? Thx!
Please looked at attatched file.
.