Cześć
Ja uczę się na podyplomówce w Szczecinie (ZUT) właśnie C/C++ na Embedded systems. Pytanie co dokładnie przez to rozumiesz bo embedded masz już od prostego mikroprocesora AVR gdzie piszesz program działający głównie na przerwaniach (bez konkretnego OS), poprzez mikrokontrolery na których możesz zainstalować już np. Free RTOS, aż po płytki takie jak np Raspberry PI czy intel Edison gdzie masz pełnoprawnego Linux'a. Każde podejście ma swoją charakterystykę i trzeba sobie dobrać do potrzeb.
Przede wszystkim radzę zacząć od C, bo ten język króluje na niskim poziomie gdzie ilość zasobów to np. 4KB. C++ też się przydaje ale nie przy AVR.
Co do najmniejszych AVR to masz blog Mirka (link) oraz jego książki - od tego radzę zacząć z mikrokontrolerami bo wszystko jest jasno wyjaśnione. Możesz też zacząć od Arduino (bo to też w znakomitej większości AVR) i możesz programować w wysokopoziomowych bibliotekach Arduino lub po prostu w niskopoziomowym C działając na rejestrach.
Też fajne możliwości daje kontroler ESP8266 lub ESP32 - możesz je programować zarówno a Arduino, własnym SDK producenta czyli C, oraz w takich wynalazkach jak Lua czy MicroPython. Znacznie mocniejsze od AVR.
Jeśli chodzi o Raspberry to tutaj kłania się jeszcze znajomość Linux'a, Basha, i C.
Bardzo dobra strona do Embedded to: Link
Generalnie ja pisze w VS Code i kompiluje oraz wgrywam na sprzęt przez terminal. Gdybyś pisał na AVR to masz Eclipsa z dodatkami pod AVR. Tak jak wspomniałem. Napisz konkretniej co Ciebie interesuje bo musiałbym kilka stron napisać aby dokładnie opisać co i jak z każdym systemem.
Pozdrawiam
Grzegotrz