No ARM dev tools on ARM hosts!

I ran into a delightful irony trying to help a student get set up for the embedded systems lab I’m running this semester: Neither Keil MDK ARM (a first-class ARM development environment) nor the Stellaris ICDI Drivers (TI’s programming/debug interface for their smaller ARM processors) will run on Windows 10 ARM.
I think this is also the first time I’ve seen a Windows 10 ARM device in the wild.

(For those who know ARM stuff, yes, Keil is kind of crusty, but we like the textbook we’ve been using, it uses Keil style directives and TI details, so switching to CCS with TI parts or a different ARM family would require major retooling.)

This entry was posted in Computers, School. Bookmark the permalink.

2 Responses to No ARM dev tools on ARM hosts!

  1. John Broadbent says:

    Why don’t you use the gcc-arm-none-eabi? There is a windows build for it.
    I have read that openocd works for windows (but I have never tested it). That would allow for the gdb. Typically CS guys like gcc, and gdb, while electrical engineers (like me) prefer some goofy IDE.

    I do not doubt your decisions, but I would like to have more context, if you don’t mind sharing.
    (At least you don’t use the 68HS12, like UKY did in 2013 ish)

    • pappp says:

      We have a textbook we rather like and have been using for long enough we have tooling built up around it. It was made with Keil + a TI TivaC in mind in the examples and such, and unfortunately assembler directive syntax differs wildly across ARM toolchains – irritatingly, even the first party v5 (in-house) and v6 (llvm-based) compilers use different directives. At least the v6 one (at least mostly) matches the GNU style, but the textbook examples are all still v5.

      The level of tool-sophistication among the students is …varied… and most of them would find it pretty burdensome using the raw command line tools. Keil does have a pretty good UI for the level of sophistication we need. The thing that’s really grinding on me is that Keil is Windows-only so we’re having to support VMs for all the Mac/Linux folks, and that has been sometimes painful.

      If I were clean-room-ing it I’d probably use one of the vendor-supported, Eclipse-based ARM toolchains (CCS if we stuck with the TI TivaC or STM32Cube with a ST Nucleo – most of my own ARM work is on ST parts and they’re cheaper, but the TivaC is a little more featured and there’s good education tooling for it) so we have something Free, cross-platform, and the students who want/need the IDE can have it and the ones who don’t can just use the underlying tools. But re-tooling the course for that would not be a small effort. It would be much smaller if there were a version of the text updated to use the more-compatible assembly syntax that all the newer tools are converging on…

Leave a Reply

Your email address will not be published. Required fields are marked *