Best microcontroller with Linux development tools

Does anyone have any experience, or know of any vendors, of smal microcontroller development tools than run natively on Linux? I'm lookin at processors in the 8051/AVR/Z8 etc class. I'm not looking for embedde Linux--I'm looking for a C compiler/IDE package that allows me to develo for that processor on my Linux workstation. I need the processor in m design for simple switch-scanning LED-lighting functions, ie basic GPIO and production quantities are in the low thousands/year, so feature set o absolute cost is not a big issue. The processor just needs to be availabl from US distribution channels. I already have licenses for Eagle, VariCA and Xilinx tools, so I'm fine with a commercial closed-source solution particular if it comes with reasonable support. I can even live withou the IDE as long as it has a good compiler and supports USB or serial-base debugging/programming.

Yes, I know this is Usenet, but I'd rather not get into Windows/Mac/Linux debate. I just prefer Linux. So, if anyone has used, ca recommend, or can just point me to a vendor of microcontrollers or a thir party toolset vendor that has a native Linux toolkit/programmin development kit, I'd greatly appreciate it. Thanks.

Reply to
Bob11
Loading thread data ...

This is a kinda-sorta answer, FWIW. I have been very happy with the Rowley CrossWorks tools, and with the great attitude of the owner. I know they have a toolset for the AVR, and it can run under Linux. However, the kinda-sorta part is that I haven't used their AVR compiler nor any of their tools under Linux. I have only used their ARM tools, under Windows. They do have a 30 day trial period, and I'd strongly encourage that you contact them. They're at

formatting link
k/

Mike

Reply to
Mike Silva

I'm biased because I wrote the port for it, but the Renesas R8C/M16C/M32C family is supported by gcc from the FSF, and I have tools that can program it via usb or serial. None of this is official, but then again, none of it will cost you anything either. You can buy support from various third parties (KPIT or Red Hat, for example) if it makes you happy.

formatting link

I do *all* my r8c work on native Linux. If you're familiar with Eclipse, you can use that with the gcc tools under Linux too.

Not saying it's the best, but if the MCU meets your needs, the tools are there.

Reply to
DJ Delorie

There is a AVR gcc port and support for various ISP plugs and the Atmel JTAG probes. Everything is free software.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

... snip ...

If you simply concentrate on using standard C, as approved by the C standard (and on-topic on comp.lang.c) your code should port everywhere. You will probably have to isolate some areas in system dependent files, for such items as i/o ports, local memory peculiarities, etc.

Some useful references about C: (C-faq) (C99) (C99, txt) (C-library} (GNU docs)

--
 [mail]: Chuck F (cbfalconer at maineline dot net) 
 [page]: 
            Try the download section.
Reply to
CBFalconer

Likewise, there are gcc ports for HC12, Coldfire, H8, MSP430, ARM, SH, R8, M16C, M32C and so on. I don't like IDEs so I can't really offer advice in that area.

--
Grant Edwards                   grante             Yow! Should I do my BOBBIE
                                  at               VINTON medley?
                               visi.com
Reply to
Grant Edwards

There is an archive of this group with a searchable database:

formatting link

Reply to
JeffM

I used to think Emacs was a memory hog. Then I tried starting Eclipse.

I've read that you can use KDevelop to do embedded stuff, but from the descriptions I've read it looked like it took a lot of hammering to convince KDevelop that not everything is a Linux-hosted KDE application.

--
Grant Edwards                   grante             Yow!  An air of FRENCH
                                  at               FRIES permeates my
                               visi.com            nostrils!!
Reply to
Grant Edwards

looking

Thanks, Mike, to the link for Rowley. They're the only vendor I've seen s far that actually mentions Linux support for a debugging/programming JTA probe. They deserve a good evaluation.

Thanks, DJ, for the reminder about Renesas. I've checked out the KPI toolchain before but completely forgot about them; I'll have to tak another look at the Renesas parts.

And thanks, Neil, for your list of tools you've used. I'm a vi guy mysel :-) and find the vi Makefile cvs/subversion toolchain to be faster fo development than IDEs also. I do like the IDEs for debugging, though particular with parts that support ISE/JTAG. Debugging with scope probe gets old, and printf is a pain with 1K of code space. It's nice to hav views of all the internal registers and pertinent memory locations update in real time as you step through code. GDB is OK, but IDE debugging i faster IMO.

What started this quest on my part was a recent experience with a Silico Labs development kit. I've been using SDCC to code for a Cypress FX2 an haven't had any major issues, since I'm using my own routines to write t an onboard FLASH and Cypress documents everything fairly well. So, thought I'd stay with this (ancient) family for the 'jellybean processor I need for a number of other switch/lamp PCBs on some upcoming products I bought the Silicon Labs development kit ($69) and it come with a US debug pod. SDCC is even listed on their list of 3rd party vendors. What disaster, though. I found an 'ec2/ec3' driver on sourceforge, but i completely locks up the USB stack, seriously enough that I have to reboot Silicon Labs apparently believes the C2/C3 debugging protocol is a stat secret, so there is no way to write a decent driver other than throug reverse-engineering the Windows IDE. Well, I don't have Windows, and don't have time for reverse-engineering a debug probe. Going down the lis of 3rd party vendors (14 in all), not *one* of them support debugging/programming on Linux. Compiling, yes, a few. USB debug support none. Hell, I'd write the code myself if there was actually some usefu SiLabs documentation on the protocol.

Anyway, looks like I won't be using Silicon Labs in future designs. Th AVR parts, or perhaps Renesas, are starting to look like the best optio for being able to do real coding and in-circuit programming on Linux.

Thanks again.

Reply to
Bob11

FWIW, I've never seen anything but positive comments about them in the MSP430 mailing list. Their prices sure look reasonable, and supporting Linux wins them points in my book.

By "IDE for debugging" do you mean a GUI source-level debugger? If that's what you're after, then there are a number of GUIs for gdb that will work with any target supported by gdb. I've used both the Insight and DDD GUIs to debug embedded stuff using gdb, though I find gdb's command line interface to be a lot easier to use. It's been a long time since I've used gdb

-- I don't find debuggers very useful for embedded real-time stuff anyway.

--
Grant
Reply to
Grant Edwards

Bob11 schrieb:

There are native delevopment tools for 8051 derivatives available:

SDCC:

formatting link
- a complete C compiler ASEM-51:
formatting link
- a good 8051 macro assembler

However you might notice that you will have no way to program your particular chip. It depends on the devcie you use. If your target board allows upload via RS232 of some kind, you can use any terminal program (or even shell scripting).

I personally use a development board which runs with Tasking Monitor - and you can communicate with that via RS232, thus uploading your firmware to SRAM.

Devices which allow programming their FLASH via UART and RS232, should do as well. A project of mine used a T89C51CC02 controller by ATmel and I could upload my Firmware using ATmel's UART bootloader software.

HTH, Matthias

--
Matthias Arndt 
PGP-Key: http://www.final-memory.org/files/marndt.asc   ICQ: 40358321
>>> Jabber: simonsunnyboy@jabber.ccc.de
Reply to
Matthias Arndt

Did they release the low-level info for their on-chip debugging abilities? One thing that bugs me is that most companies don't publicly release this kind of info and it becomes difficult to leverage gdb to do in-circuit debugging. Freescale is the only 8 or 16 bit company I know of that documents their on-chip debug module (BDM). In the 32 bit world you can find docs on Arm's EmbeddedICE, but it's a real bear to work with.

Atmel release the API of their JTAGICE mkII emulator, which is kind-of good enough, but there's still some holes in their documentation. Since they provide great official (not unofficial like most) support for GNU tools on Windows, most AVR users just use their free IDE and toolset. They do have "some" linux support, but they do not support gdb on any platform as far as I know (though their Windows debugger is excellent).

Aside from Atmel, I don't know of any company that offers free (and unrestricted) official support for gcc. Please chime in if anyone knows of others. I don't claim to know them all, but I'd like to :-)

Eric

Reply to
Eric

For the larger chips (m16c, m32c) they use a software monitor, a kinda debug stub. You could put gdb's stub in there too, or redboot. I don't know about the r8c's - most of them don't have enough flash to hold a stub and a program, but you could squeeze them in.

They certainly did publish enough information to write said stub, though. All the debug hooks and such are documented in the chip specs.

If there's something in the MODE pin that's a hardware debug, it might be documented, but I haven't looked yet. I can ask, I suppose.

Reply to
DJ Delorie

I think that all of the Rowley Associates' tools for the MSP430, AVR, ARM, etc. are available for both Windows and Linux.

Leon

Reply to
Leon

That would include most gcc based toolchains. I've also used gpasm (PIC) assembler under Linux.

I use emacs (and make) as my IDE for most of my programming. As for device programming I'm use a self-made programmer.

Petter

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply to
Petter Gustad

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.