

My experience with GCC (and Keil), is that in highly optimized code, local variables 'disappear' and cannot be evaluated because they only exist in registers and not in a memory location. While that is a nice-ish feature, it's much more important that the debugger be trustworthy in its information it presents to you.

You don't have to use the IAR IDE except when you're debugging.įor debugging, the EmbSysRegView Eclipse plug-in is amazing - it uses the MCU's peripheral register addresses so you can look up any of your peripheral's settings via register name instead of having to look up the register offset from the data sheet and then finding the base address and then using the raw memory viewer to find the value. If IAR can do that, I couldn't figure out how. For example, Eclipse can do intelligent symbol (variable, function, #define, etc) renaming by analyzing scope. Beyond that, I prefer Eclipse's syntax highlighting, code completion, and general editing environment over IAR's. I think the biggest reason for me is that I'm much more familiar with Eclipse.

High level software (e.g., C#, Javascript): r/softwaredevelopment, r/software.Single Board computers: r/Raspberry_pi, r/Arduino, r/linux_devices, r/linuxboards.Hardware design that does not include a micro for electronic circuits: /r/AskElectronics.Embedded internship, employment and education questions, in the weekly thread.Homework help but make it clear it's homework.This sub is dedicated to discussion and questions about embedded systems: "a controller programmed and controlled by a real-time operating system (RTOS) with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints." FAQ
