Support for other Cortex M4 Development tools?

Discussion in 'UDOO NEO' started by JackSilb, Dec 3, 2015.

  1. JackSilb

    JackSilb Active Member

    Joined:
    Nov 3, 2015
    Messages:
    100
    Likes Received:
    32
    Hello,

    Are the other Cortex M4 development tools that you will provide a how-to?
    That is, how do we use other tools besides the Arduino IDE to program the Neo M4?
    Do you have examples that you can share?
    When can we expect to have the M4 recognized by a PC when a USB cable is plugged into a PC? (will we be able to soon?)

    Thank,
    -Jack
     
    rreignier likes this.
  2. tcmichals

    tcmichals Member

    Joined:
    Feb 25, 2015
    Messages:
    54
    Likes Received:
    27
    Here is what I did, working on a simple script, to make this easier...
    1. download mqx4.1.0 from Freescale
    2. download the latest gcc tools from https://launchpad.net/gcc-arm-embedded (I'm using 4.9)
    i unpack gcc directory below
    2. Create the following tree structure
    gcc
    mqx-4.1.0
    mqx-"what your app is" i.e mqx-tim
    under the mqx-tim is several directories
    bsp --- this is a copy of the bsp directory from Freescale
    config -- copy from freescale
    examples-- example M4 projects
    3. need to add gcc tools to your path .. ie cd gcc/gcc/gcc-arm-none-eabi-4_9-2015q3/bin
    export PATH=$PATH:$PWD
    4. cd into mqx-tim
    make
    creates M4 downloads..
    I think one of the issues is working with the license from Freescale..

    also, running from DDR instead of SDRAM..
     
  3. jas-mx

    jas-mx Active Member

    Joined:
    Dec 31, 2013
    Messages:
    407
    Likes Received:
    118
    You can program the M4 by :

    1. Bare Metal - Launching a C program by setting up the vector table and enabling the M4 from the A9. There are some FSL examples which demonstrate this, they may need slight alteration for the Neo.

    2. Using MQX - This is FSL's RTOS which gained some support for the imx6sx. There are some patches to overlay for Neo here , ideally a new BSP should be created instead of overlaying a patch. There some doubts about the longevity of FSLs MQX because of the popularity of FreeRTOS. Having FreeRTOS support longer term may be better option.

    You can google to find out more about 1 and 2. I'd recommend you review the imx6sx reference manual to get a better under of the A9/M4 architecture because its not like a traditional cortex M4 and need to understand how the architecture fits to together if you are contemplating coding for it. I'd recommend a JTAG debugger as well.

    In terms of tools, you can use a simple text editor plus gcc (arm-none-eabi-gcc) for compilation. If you want to use Eclipse then this article will give you a starting point. BTW I have done both. Whatever option you chose I suggest you first grasp a good understanding of Cortex M3/M4 programming because the imx6sx M4 is different and you need to be aware of those differences.

    There is no boot rom for the M4. So there is no easy solution for what you are expecting.
     
    Last edited: Dec 6, 2015
  4. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
    We're working on the best solution that will be released before Christmas
     
  5. JackSilb

    JackSilb Active Member

    Joined:
    Nov 3, 2015
    Messages:
    100
    Likes Received:
    32
    Hi Andrea,
    Any late Christmas present on this for us ;-)

    Thanks
    -Jack
     
  6. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
  7. JackSilb

    JackSilb Active Member

    Joined:
    Nov 3, 2015
    Messages:
    100
    Likes Received:
    32
    Hi Andrea,
    Good to hear from you.
    We knew that the M4 could be programmed with the Arduino IDE for a while.

    I was asking about other development tools besides Arduino IDE. i.e., other ARM development tools.
    If/how can we use Eclipse based ARM GCC. For example Kinetis Design Studio - Freescale NXP.

    That may be a way to get away from the Arduino Libraries issues no?

    Thanks,
    -Jack
     

Share This Page