1

I'm working on a bare-metal program on my imx53-QSB. I wrote de program and build it correctly and succeeded to boot it form the SD card. But now I want to boot using TFTP. I put U-Boot on my SD card, and created my TFTP server on my computer in which I put my boot file kernel.imx I transferred after that my file to the board using

tftp 0x90000000 kernel.imx

done Bytes transferred = 11264 (2c00 hex)

After that I try to boot using the kernel.imx that i transferred using

go 0x90000000

but it stays stuck in this message : ## Starting application at 0x90000000 ...

I also tried using kernel.elf, kernel.img and kernel.bin

Any idea of how to solve this ? Thanks

EngineerN
  • 133
  • 2
  • 11
  • Which kernel are you using? Could be that it needs DTB to be loaded before to start your kernel. – LPs Jun 22 '15 at 09:45
  • @LPs I am not using any kernel, it's just the name of my bare-metal program boot file – EngineerN Jun 22 '15 at 10:05
  • Could you post the script that makes your app working from SD? – LPs Jun 22 '15 at 10:15
  • @LPs I used `dd if=kernel.imx of=/dev/mmcblk0 bs=512 seek=2` I put the SD on my board and it boot correctly – EngineerN Jun 22 '15 at 10:21
  • Ok. In that way your app is starting without uboot, is it right? – LPs Jun 22 '15 at 10:26
  • @LPs No. If I use `dd if=kernel.imx of=/dev/mmcblk0 bs=512 seek=2` i don't need u-boot, I put juste the kernel.imx in my SD card. what I want to do, is use U-Boot : `dd if=uboot.imx of=/dev/mmcblk0 bs=512 seek=2` and after that, from U-Boot, i boot the kernel.imx using tftp – EngineerN Jun 22 '15 at 10:29
  • I think is something related to your app or to the linker. Is your code relocable? Is your code linked to start from address 0x90000000? – LPs Jun 22 '15 at 11:50
  • @LPs Yes, it's linked to start at 0x90000000. Concerning the _relocable_ point, I don't know what it means – EngineerN Jun 22 '15 at 12:41
  • If your app start from 0x90000000, relocable doesn't matter. Then, I guess your app is trying to configure something that u-boot as reconfigured. I mean that if it is your SoC boot ROM that start our app, all perfireals and modules are at reset/default status and all go well. When is uboot that load your app some modules (such as MMU, DDR ...) are already configured and maybe your app is not able to re.confiure those in the correct way to run. – LPs Jun 22 '15 at 12:56
  • @LPs huuuum I see! so what is the solution you think ? Remove the configuration from the app ? Or ... ? – EngineerN Jun 22 '15 at 13:11
  • In this case the question is too broad. All can be in conflicts with all. You must debug your app with a debugger and try to understand what is going wrong. I suggest to start stopping u-boot and load app from your SD card and launch it with a debugger. – LPs Jun 22 '15 at 13:16
  • @LPs huuum thank you man ! – EngineerN Jun 22 '15 at 13:26
  • @LPs it works just by removing all the configuration code from the app ;) – EngineerN Jun 22 '15 at 13:59
  • Well done! Then you can, if you are intested, check your config step by step to understand what is the critical config. – LPs Jun 22 '15 at 14:00
  • @LPs Ok, i'll do that! Thank you man – EngineerN Jun 22 '15 at 14:11

0 Answers0