Linux Target Image Builder (ltib) configuration problem

I'm working on a custom board that requries a change to the memory map as laid out for a supported board (mcf5485evb). I can see in the sources and the configuration files where the memory locations are set but the ltib menu does not give access to these settings. Changing them in the configuration or source files just results in the ltib over writing those changes prior to performing the build.

I want to do this correctly with the tool. REALLY FRUSTRATING. DOCUMENTATION SUCKS EGGS!! I know there's a way to do this it's not clear how. Any help much appreciated....

Reply to
James Kimble
Loading thread data ...

LTIB will build your kernel image and create a root file system image, but does not change any kernel code. You will have to modify the supported board's code for your custom board.

Reply to
Going Embedded

I figured out what I needed to do. The BSP I'm using has a menu interface (like busybox) but you couldn't select the thing I needed to change (SDRAM_BASE, FLASH_BASE). When I would change these in the code LTIB would just change them back. I found that if I changed these in the kConfig file of my platform the changes would be passed into the code.

My biggest question is if I can remap the memory for Linux this way. It seems to want SDRAM to start at 0x0 and Flash to start at a higher address (0xF0000000 in this case). My board requires Flash to start at

0x0 and SDRAM at 0x30000000. I've changed the values but I still don't have the thing booting (does nothing). That's my real issue.
Reply to
James Kimble

I am not familiar with this board, but I will give some generic pointers.

  1. Are you using a bootloader / bios or are you starting up linux kernel from boot vector ? If you are loading a bootloader, you will have to check what the boot loader does as well. If not see the next point.
  2. You will have to dig up information on how the processor works when it cold boots. Some simple processors jump to a specific address and off it goes. Some high end processors (such as Freescale ones) have a hardware controlled Reset Configuration Word setup (RCW). What that means is when the the CPU boots it looks up a few IO line values and depending on those it will try to get its RCW words content from a I2C, Local bus flash or Hard set defaults. Next step of the boot process would be defined by these RCWs and they will control what and where in the memory map gets accessed and where the PC starts from. It may take some home work to understand this procedure.
  3. Some processors have their I/O and other registers mapped to specific places in the memory map after boot. When your code starts executing, you can remap the register to different place in memory map. If this is the case you may be having a conflict at boot time with where these registers are mapped to.
  4. Is the Flash connected to the local bus or is it inbuilt to your processor. Depending on the answer to this, you may have to track down whether you can change these purely by a software change to the kernel or you will need some hardware changes as well. Eg: you may have to change addressing and chip select lines on your local bus to access the flash from a different memory location. Cheers J
Reply to
Janaka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.