Hi everyone, I've been working with an imx27ads from Freescale. The BSP from Freescale includes a Redboot that contains the following memory map: Phys | Virtual | Enabled|Type 0xA0000000-0xA7FFFFFF| 0x00000000-0x07FFFFFF| Yes |SDRAM 0xD6000000-0xD6FFFFFF| 0xD6000000-0xD6FFFFFF| No |SRAM I've managed to enable the SRAM (verified by loading kernel to it and reading checksum). I've also disabled the SDRAM and mapped the SRAM to the base as follows: Phys | Virtual | Enabled|Type 0xA0000000-0xA7FFFFFF| 0xA0000000-0xA7FFFFFF| No |SDRAM 0xD6000000-0xD6FFFFFF| 0x00000000-0x00FFFFFF| Yes |SRAM I've changed to the best of my knowledge all of the macros where SDRAM was being used to use SRAM and the virt_to_phys functions as well. I've also changed the default entry address to 0xD6008000. I've also verified the virtual to physical mapping by writing data to the virtual location and dumping it from the physical to ensure they match. The problem is this: If I try to boot the kernel with SDRAM disabled and only SRAM enabled with the second set of memory maps, the "exec" command just hangs. It doesn't even get to "Uncompressing Linux". I know the loading of the kernel into SRAM is successful because I run a 'cksum' and match it to that on the host. However, if I simply enable the SDRAM with the second set of memory maps and load the kernel into SRAM(@ 0x100000), then the kernel boots fine...which suggests to me that there is still a location somewhere that is telling the kernel to use 0xA0008000 as its entry point. I've checked everywhere in the Redboot source but can't figure this out, but then again I've only been working with Redboot for about a week. Is there anyplace in the kernel source where I should make changes as well? I don't _think_ there should be other than possibly changing 'PHYS_OFFSET' (which I tried). My goal here is to only use the SRAM and completely disable SDRAM. If anyone can even shed some remote light on this, I'd greatly appreciate it. please let me know if I can help clarify the issue any better.
Unable to boot Kernel on ARM after Memory Remap
Started by ●July 26, 2008
Reply by ●July 28, 20082008-07-28
>Hi everyone, > >I've been working with an imx27ads from Freescale. The BSP fromFreescale>includes a Redboot that contains the following memory map: > >Phys | Virtual | Enabled|Type >0xA0000000-0xA7FFFFFF| 0x00000000-0x07FFFFFF| Yes |SDRAM >0xD6000000-0xD6FFFFFF| 0xD6000000-0xD6FFFFFF| No |SRAM > >I've managed to enable the SRAM (verified by loading kernel to it and >reading checksum). I've also disabled the SDRAM and mapped the SRAM tothe>base as follows: > >Phys | Virtual | Enabled|Type >0xA0000000-0xA7FFFFFF| 0xA0000000-0xA7FFFFFF| No |SDRAM >0xD6000000-0xD6FFFFFF| 0x00000000-0x00FFFFFF| Yes |SRAM > >I've changed to the best of my knowledge all of the macros where SDRAMwas>being used to use SRAM and the virt_to_phys functions as well. I've also >changed the default entry address to 0xD6008000. I've also verified the >virtual to physical mapping by writing data to the virtual location and >dumping it from the physical to ensure they match. > >The problem is this: If I try to boot the kernel with SDRAM disabled and >only SRAM enabled with the second set of memory maps, the "exec" command >just hangs. It doesn't even get to "Uncompressing Linux". I know the >loading of the kernel into SRAM is successful because I run a 'cksum'and>match it to that on the host. > >However, if I simply enable the SDRAM with the second set of memory maps >and load the kernel into SRAM(@ 0x100000), then the kernel boots >fine...which suggests to me that there is still a location somewherethat>is telling the kernel to use 0xA0008000 as its entry point. > >I've checked everywhere in the Redboot source but can't figure this out, >but then again I've only been working with Redboot for about a week. Is >there anyplace in the kernel source where I should make changes as well?I>don't _think_ there should be other than possibly changing 'PHYS_OFFSET' >(which I tried). > >My goal here is to only use the SRAM and completely disable SDRAM. If >anyone can even shed some remote light on this, I'd greatly appreciateit.>please let me know if I can help clarify the issue any better. >Is the SRAM flash? Can you stop the boot sequence in the Freescale debugger, and read the SRAM locations before RedBoot even runs (you might have to hand set up the page mapping)? Jeff www.e2atechnology.com