3 ms·
It's a pain to develop in C and it's an order of magnitude more pain to develop in embedded. You're looking forward to development tools that have neither refa
by user5994461 8y ago
It's a pain to develop in C and it's an order of magnitude more pain to develop in embedded.
You're looking forward to development tools that have neither refactoring nor auto completion.
I have yet to see an embedded micro controller with an API documentation and working examples.
- scns 8y agoClion?
- simias 8y agoThat's part of the fun of it for me. Getting close to the metal, having to worry about electronics, debugging with an oscilloscope or, if you're lucky, an UART etc... Regarding development tools that's a bit orthogonal, you can code for your 8bit AVR controller with Visual Studio if you really want to. Personally I don't care much for full blown IDEs and automatic refactoring so I use Emacs with dumb completion and cscope/ctags and I'm good to go but to each their own. If you like quick prototyping and are used to develop iteratively through heavy use of the debugger I can see how it could be incredibly frustrating though. It's a different mindset and a different approach. Still, as far as I'm concerned I wouldn't trade it for all the JS jobs in the world.
- user5994461 8y agoThe electronics and oscilloscope is the funnier part but that doesn't help with software development. For some microcontollers and FPGA I had to work with, there is hardly any API documentation. It could take a whole week just to figure out how to blink a LED. It's frustrating. There is zero help available on the internet because nobody uses that. It comes with its own tool chain and there isn't the option to use something else, like CLion or Visual Studio. I'm supposed to make some home automation devices, or an inertial navigation system, or god knows that. It's enough work on its own, I don't have time or energy to fight broken tools. By comparison, android development is a wonder. Development tools that work, long form documentation of every single API and guides and examples. Just plug the USB port and the program loads and it shows debugging output and you can debug line by line and use breakpoints. Having used better development tools, I just have higher standard. I can't tolerate embedded anymore. I hope there are some working tools for some chips of some manufacturers nowadays, but wouldn't know.
- btkramer9 8y agoWhat do you do now? Sometimes I feel the same way but I'm still in the embedded world. I continually ask if it's worth transitioning into web. What else is there to transition to?
- user5994461 8y agoI do something mixing development and infrastructure, in finance. What there is depends on where you live. In London/NYC, it's either web or finance. In the silicon valley, it's all web. In Washington it's government contracting. Do what needs doing.
- simias 8y agoThe limitations of low level debugging are often just that: hardware limitations. The scenario of debugging Android applications is really bending the limit of what I would consider "embedded development", it's very high level. ARM does provide debugging tool that can get to very low level (you can even step through bootloader code if you want) but they generally require specific hardware support and the license is pretty expensive. I agree that documentation is often terrible though, although obviously that's pretty vendor-dependent. For instance regarding FPGA development Xilinx tends to have pretty decent docs while Altera (or IntelFPGA as it's now called) is pretty bad at it. Same goes for SoC vendors, Ti is pretty good but I've been a lot less lucky with other vendors.
- yitchelle 8y agoThe other factor for getting good documentation and support is how big of client you are. Unfortunately, the companies that uses 1000K pieces ARM micros will get better support than the uses 10K pieces.
- user5994461 8y agoI wouldn't generally consider Android embedded besides a few use cases as a mobile/handheld device. In my view, tt's a wonderful platform to develop for and that's what every manufacturer should be striving for, or die. Of course there is a difference in capacity between a 8 bit MCU and a Xilinx SoC, they may not be able to cover everything the same, but that doesn't explain why neither have a working example to use an interrupt handler with a push button.
- saagarjha 8y ago> You're looking forward to development tools that have neither refactoring nor auto completion. On the contrary, I have found C and C++ to have the best refactoring and autocompletion tools of most of the languages I have tried, since usually the compiler is involved at some point and you can make non-trivial guarantees about identifiers based on types.