c++ - Why does the chip control the language to choose -


I have asked the question before which language I should learn for embedded development. Most embedded engineers had said that C and C ++ are essential, but it also relates that it depends on the chip.

Can anyone explain? Is this a compiler issue or what? Do chips come with their own specific compilers (such as C compiler or C ++ compiler) and this is the reason why you know the compiler using the language? Is it possible for code and it can not be compiled elsewhere, and then burn it directly on the chip in its compiled state? (I think I have heard that somebody has said something about this effect)

I'm not sure how it works, I do not know much about embedded systems or how do they work. Maybe there is an easy answer for those who know

It depends on the chip "in three possible ways" Some of the very constrained architectures are not compatible with C + +, or at least C ++ are not compatible with such architecture, so no use at CAG Picks up. Most 8-bit devices fall into this category, but it does not make any sense; For example I have seen useful C ++ code implemented on mega avr.

  • Some devices are not supported by the C ++ compiler. For example, DSPIC / PIC 24 Compiler C of Microchip only can be supported (third-party devices may have C ++ support ).

  • The chip architecture is specially designed for a particular language; For example INMOS transfers have always attended OCCAM.

  • There are also C, C ++, other possibilities assembler, fourth, eda, Pascal and many other, but C is almost omnipresent; Some chip vendors will release a new architecture or device without day-to-one available C compiler. For other languages ​​you usually have to wait till one-third of the development, and this waiting can always be for any niche architecture.

    Is it not possible for code and it is elsewhere, then burn it directly into the chip in its compiled state?

    It is called cross-compilation or cross-development, and is a common development method for embedded systems. Most embedded systems lack OS, file, display, and memory resources to host a compiler, and most developers want the convenience of a sophisticated development environment with IDE, debugger, etc. in a familiar user-oriented desktop OS.

    I'm not sure how it works, I do not know much about embedded systems or how they work.

    Get up-to-speed with some


  • Comments