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.

LaunchXL2 RM46x Standalone Linux Toolchain Links/Howto (without CCS/HalCoGen)?

Other Parts Discussed in Thread: HALCOGEN, RM46L852, UNIFLASH

All,

This the the kind of question I hate when users ask, because they should be able to find the information without asking, but I have run into a number of windows only roadblocks, so I need help. (and apologize in advance)

I am new to ARM processors/microcontrollers, but have 20 years plus with x86 C/asm programming. My dear brother, a long time TI EE sent me the RM46x (RM46L852) board and I have downloaded CCS, and built/run project 0. Board connects fine with the XDS 110 driver, but I was unable to complete project 0 (without downloading the finished project files from the wiki) because there is no HalCoGen for Linux, etc. (why we are using gio to twiddle bits is another question -- for later)

Since many of the tools HalCogen, uniflash, etc. are windows only and I have no windows, I would like to understand how to work from LInux alone.  I am used to coding with vi and xterm, calling gcc directly. What I would like to find is a link or two that discuss the command line tools available to (compile, link, erase flash, program flash, run, etc) without having to touch an IDE. The eclipse/CCS tool is fine, just really cumbersome to someone used to running from the command line.

Is there are link (or collection of links) that provide an overview and short howto on the necessary command line tools used to accomplish what CCS does without CCS? Obviously CCS does it, and I could probably just make individual calls to the various parts of CCS, but that seems like overkill just to cross-compile, erase and program the flash memory. I have both the TI compiler and gcc-arm compilers installed. Any links or suggested reading on this topic would be appreciated.

  • Hi David,

    Well first we need to thank your brother - don't know him but assume he's in Dallas? (Hercules team is down in Sugarland).

    Uniflash should be available for linux - it is mainly just a headless CCS with a smaller download size. But the underlying engine for flash programming is the same and I believe it's built on what they call debug server scripting. There is a site that talks about debug server scripting: processors.wiki.ti.com/.../Debug_Server_Scripting and there is an example called 'loadti' that functions as a command line loader (it will download a program into flash and start it executing for you).

    There is also a GDB Server front-end to this if for some reason you wanted to use a different IDE. processors.wiki.ti.com/.../XDS_GDB_Agent

    HalCoGen and the HET IDE are the two programs that you will / may need which really are windows only.

    HalCoGen can be coaxed to run in WINE although the GUI itself and it's graphics don't seem to handle this well.
    The graphics that overlay the the controls get out of alignment. It can be functional but ugly. I am not sure if it can be fixed by adjusting DPI settings but you could try. If possible, it would be good to run this program in windows to generate the drivers and then after that do your development on Linux.

    You can certainly build your project using makefiles. I would suggest using the project wizard of CCS to create a project first, and let it give you all the correct compiler switches. Then just copy these to a makefile if that's how you like to work. You could also go through the compiler manual and try to figure out every switch but that's a lot of work. Compiler manual in any case is www.ti.com/.../spnu151

    There are some folks on this forum that have mastered GCC comes to mind. You have the little endian RM46 as well so things should be easier for you than if you have the big endian TMS570.

    Hope that helps - and wish you the best.
  • Wow, thank you. This is exactly the type information I needed to sort out the varying pieces of the embedded programming from the command-line game. I had managed to poke around and find uniflash examples buried under ../ccsv6/ccs_base/scripting/examples/uniflash/... and some of the other bits and pieces as well. The biggest concern was the HalCoGen generation of the necessary includes and paths. I think I can get that sorted from the information posted as well.

    Yes, by brother 'Alan Rankin' (rankin@ti....) is in Dallas. Both he and I are old Aggie engineers (he EE and my self Aero). I'm actually an attorney now, but I'm an extreme open-source software/hardware geek that programs and helps others with programming to relax. (talk about a twisted soul...)

    I'll digest how to work the toolchain from the command line and see what all I can do with the Hercules board. I've done just about everything else, but this is my first jump into embedded systems (other than updating BIOS firmware, etc..)

    Thank you for your help!