Hi all,
For a specific project, I need to run Linux on the TMDXIDK3359 : AM3359 Industrial Development Kit (IDK). I know that the platform is not officially supported by the Sitara SDK but given that the base board is very similar to the one of the GP EVM and that, in a first step, I won't need the features of the motor control daughter board I assume that it should be rather easy to adapt the Linux kernel configuration and board specific code to support the IDK. As far as I could see, there are already configuration and some detection mechanisms for the IDK.
Until now I could compile the U-Boot SPL (MLO) and u-boot.img and run them successfully from the SD card. I just had to change the serial port used for the console from UART0 for the EVM to UART3 for the IDK. I could the boot into U-Boot and load my Linux uImage from SD card and start it with boot.
The image seems to be loaded and decompressed correctly but further boot sequence seems to be not working (no message after Uncompressing Linux... done, booting the kernel.)
What I already did to debug a bit more:
So now my questions:
Thanks in advance for any help or advice.
Romain
---
U-Boot# bdinfoarch_number = 0x00000E64boot_params = 0x80000100DRAM bank = 0x00000000-> start = 0x80000000-> size = 0x10000000ethaddr = d4:94:a1:37:bb:16ip_addr = 0.0.0.0baudrate = 115200 bpsTLB addr = 0x8FFF0000relocaddr = 0x8FF88000reloc off = 0x0F788000irq_sp = 0x8FF7BF70sp start = 0x8FF7BF60FB base = 0x00000000
U-Boot boot output
U-Boot# bootSD/MMC found on device 0reading uEnv.txt26 bytes readLoaded environment from uEnv.txtImporting environment from mmc ...reading uImage3035760 bytes read## Booting kernel from Legacy Image at 80007fc0 ... Image Name: Linux-3.2.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3035696 Bytes = 2.9 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK XIP Kernel Image ... OKOKStarting kernel ...Uncompressing Linux... done, booting the kernel.
Hello,
Could you please advise why the EVM or Beagle Bone could not be used in your application? What are the specific features you need on IDK to use IDK and not other platforms which have Linux support. What is your end goal with the IDK? This information may enable us to support your effort better.
We plan to provide Linux support for IDK but the timeline is not available at present.
Thanks,
Maneesh
Hi Maneesh,
Thanks for the prompt reply and information.
Maneesh Could you please advise why the EVM or Beagle Bone could not be used in your application? What are the specific features you need on IDK to use IDK and not other platforms which have Linux support. What is your end goal with the IDK? This information may enable us to support your effort better.
Well. In a first step we will not use the IDK specific features and only work on the "general purpose" aspects of Linux (add some user applications and libraries in the rootfs,...). In a second step we plan to use the motor control features of the daughter card but we don't need them at once. I first want to be able to boot a Linux image and play a bit with it.
Maneesh We plan to provide Linux support for IDK but the timeline is not available at present.
Nice. I hope that the Linux support will be integrated by the time we will use the "advanced" features of the board.
Regards,
Hi,
I come a bit further now with my Linux on my IDK board. I configured early outputs with DEBUG_LL, EARLY_PRINTK and adapted the command line and I can get early output on UART3 of the IDK.
The machine is detected correctly (Machine: am335xiaevm) the early setup is done correctly upto the point where local interrupts are enabled (local_irq_enable() in init/main.c > start_kernel() ).
There I get a kernel oops with a NULL pointer reference (see attached boot_log.txt line 119 and further). I'm currently on SDK 5.04.00.00 with PSP 04.06.00.06.
I'm currently downloading SDK 5.04.01.00 with PSP 04.06.00.07 to see if something regarding my issue has been fixed between these 2 releases.
In the meantime any hint is welcome (known issue, patch,...).
Hi,R. Bornet
How did you change the linux to working on you IDK board? I had change as you said:"I configured early outputs with DEBUG_LL, EARLY_PRINTK and adapted the command line and I can get early output on UART3 of the IDK",But it didn't work.
Does anyone have any updates to share? My employer is very interested in doing some proof of concept work involving Linux and/or Android on this dev kit. For our application the mixture of the HLOS on the Sitara with the motor control capabilities of the Piccolo are very enticing.
hi Romain,
we are interested in doing the same thing as you. we need to get the Linux up on this IDK.
do you have any further progress that you can share?
Maneesh,
do you know your timeline now?
thanks
Paul