Other Parts Discussed in Thread: AM3871, AM3874
My company has developed a product using the AM3874 (soon to be AM3871). I have gotten familiar with the sources for u-boot and the kernel using the psp04.04.00.01 BSP and have now got u-boot flashed into NOR flash and booting on startup. I am now digging into the kernel and one of the major differences between our platform and the TI8148_EVM mistral board is that we only have 1G of DDR3 instead of 2GB. So u-boot initializes the ddr configs and the memory windows are 0x80000000-0x9fffffff (bank 1) and 0xa0000000-0xbfffffff (bank 2). It seems the kernel has many places where it assumes it will be copied to 0xc0000000 (during decompression?) and that is outside the range of my DDR window. I saw some references online that said that 0xc0000000 was a virtual address and not a physical one. So now I'm even more confused. As of right now, I have uImage flashed to NOR at 0x08060000 and it obviously crashes sometime shortly after decompressing itself into DDR. What and where do i make changes to make the kernel work with my memory config? At what point in the process does the MMU become involved?
I have read the page at http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map and it looks like that default memory map fits.. but I will eventually be straying from that as well, as our production processor is the AM3871 with none of that video and audio fluff. For now, I am only trying to get the default kernel to stay within my restricted memory size.
Thanks in advance!
Dennis