This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux on TMDXIDK3359

Other Parts Discussed in Thread: AM3359

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:

  • Verify that the correct console= is passed in the command line to the kernel (console=ttyO3,115200n8) --> OK
  • Verify that the correct mach_type is detected by U-Boot with board info command in U-Boot prompt --> OK
  • Enabled DEBUG_LL and EARLY_PRINTK in kernel config to get early messages on the serial terminal --> did not show anything more...

So now my questions:

  1. Is there any significant difference between the EVM and IDK that I have missed to have my kernel booting ? I only need basic support of the base board (serial console, read/write access to SD card).
  2. Has anyone already successfully booted a PSP kernel on the IDK ? With which modification ?
  3. Are CONFIG_DEBUG_LL and CONFIG_EARLY_PRINTK supposed to work ? Does it work on the EVM ?
  4. Is the output of by U-Boot boot correct ? (Image Type:   ARM Linux Kernel Image (uncompressed) , XIP Kernel Image ... OK sound a bit strange to me...)

Thanks in advance for any help or advice.

    Romain

---

U-Boot# bdinfo
arch_number = 0x00000E64
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000
-> size     = 0x10000000
ethaddr     = d4:94:a1:37:bb:16
ip_addr     = 0.0.0.0
baudrate    = 115200 bps
TLB addr    = 0x8FFF0000
relocaddr   = 0x8FF88000
reloc off   = 0x0F788000
irq_sp      = 0x8FF7BF70
sp start    = 0x8FF7BF60
FB base     = 0x00000000

U-Boot boot output

U-Boot# boot
SD/MMC found on device 0
reading uEnv.txt

26 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
reading uImage

3035760 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 ... OK
OK

Starting 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 said:

    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 said:

    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,

    Romain

  • 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,...).

    Regards,

         Romain

  • 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