전혀 다르지 않습니다. 오히려 C 규격의 문법을 최대한 활용할 수 있는 것이 embedded c입니다.
사실 임베디드가 아닌 보통 어플리케이션에 사용하는 C는 C 언어의 일부분만을 사용하죠. 사실 (상용) 어플리케이션 용으로 C 언어가 요즘도 실제 가치가 있는지 모르겠네요. 공부용이 아니면 너무 생산성이 떨어지는지라...
embedded c 는 아마도 embedded (software developed by) C 가 맞겠네요.
리눅스 커널 디바이스 드라이버를 공부하시면 그게 embedded c를 공부하시는 겁니다. 그 뒤에는 필수적으로 (posix) thread/task/process 로 가게 되죠.
저도 러스트 언어를 공부하면서 임베디드에 꽤 잘 어울리는 언어라고 생각했습니다.
그러나 실무에서 쓰기에 무리가 있는게...
일단 현재는 의사결정하시는 분들이 러스트가 뭔지 모르는 사람들이 많습니다.
그리고 실무 엔지니어들도 러스트를 할 줄 모르는 사람들이 거의 대부분입니다.
그렇다고 높으신양반들 설득하고,
엔지니어들 가르쳐서 굳이 러스트를 써야 하나...
하는 생각이 들게 되지요.
그래도 나중에 제가 프로젝트 하나 리드할 수 있을 때가 되면,
러스트 써 볼까 합니다.
linux, wince 등의 기성 os를 커스텀 탑재한 임베디드 기기면 속도와 메모리사용량 신경쓰는거 말고는 해당 os의 프로그래밍 환경과 별 차이 없습니다. 이거 임베디드 프로그래밍인지 리눅스/윈도우 프로그래밍인지 구별이 안될 정도입니다.
기타 rtos 환경의 프로그래밍을 하신다면 언어, 라이브러리 등이 사용하는 rtos 공급사에서 지원 해줘야 하는 제약이 있습니다. 이쪽은 진입장벽이 좀 있지만 알면 난이도는 어렵지 않습니다.
가장 최악의 퍼포먼스를 가진 환경은 os조차도 없는 mcu들인데(아두이노에 달리는 atmega 등등, 메모리가 수~수십kb 정도) 얘네들은 성능이 모자라서 c로 짠다 해도 좀 커지면 온갖 문제들이 다 생겨서 c나 어셈블리 외의 언어는 사용 불가, os가 없어서 필요한 자료구조 등은 직접 짜든가 코드 구하던가 하는 식으로 해야 합니다.
전혀 다르지 않습니다. 오히려 C 규격의 문법을
전혀 다르지 않습니다. 오히려 C 규격의 문법을 최대한 활용할 수 있는 것이 embedded c입니다.
사실 임베디드가 아닌 보통 어플리케이션에 사용하는 C는 C 언어의 일부분만을 사용하죠. 사실 (상용) 어플리케이션 용으로 C 언어가 요즘도 실제 가치가 있는지 모르겠네요. 공부용이 아니면 너무 생산성이 떨어지는지라...
embedded c 는 아마도 embedded (software developed by) C 가 맞겠네요.
리눅스 커널 디바이스 드라이버를 공부하시면 그게 embedded c를 공부하시는 겁니다. 그 뒤에는 필수적으로 (posix) thread/task/process 로 가게 되죠.
임베디드 C라는 것은 따로 없습니다.
임베디드 C라는 것은 따로 없습니다.
C 언어를 임베디드 환경에 맞춰 사용하는 것이지요.
임베디드 소프트웨어를 공부하는데 아주 도움이 많이 x100000000 되는 책을 소개해 드리겠습니다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=3499067
"도전! 임베디드 OS 만들기"라는 책인데요.
아주 훌륭한 명저입니다. :)
----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라
요즘도 집필하고 계신지 갑자기 궁금합니다~
요즘도 집필하고 계신지 갑자기 궁금합니다~
10년 된 책인데 절판되지 않았네요. 오래된 책이지만
10년 된 책인데 절판되지 않았네요. 오래된 책이지만 지금 보아도 괜찮다는 뜻이겠죠.
세벌 https://sebuls.blogspot.kr/
한 7년 전 쯤에 책을 한권 더 출간했습니다
한 7년 전 쯤에 책을 한권 더 출간했습니다.
https://kldp.org/node/134732
내년 즈음에 아마 한 권 더 나오지 않을까 싶습니다.
----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라
https://rust-embedded.github
https://rust-embedded.github.io/book/
Rust로 시도해 좋습니다. 개인적으로 Rust가 임베디드에는 더 어울리지 않나 싶습니다.
_________________________
http://joone.net
https://kldp.org/blog/2725
http://opensoftware.tistory.com
http://joone4u.blogspot.com
https://gnome.or.kr
저도 러스트 언어를 공부하면서 임베디드에 꽤 잘
저도 러스트 언어를 공부하면서 임베디드에 꽤 잘 어울리는 언어라고 생각했습니다.
그러나 실무에서 쓰기에 무리가 있는게...
일단 현재는 의사결정하시는 분들이 러스트가 뭔지 모르는 사람들이 많습니다.
그리고 실무 엔지니어들도 러스트를 할 줄 모르는 사람들이 거의 대부분입니다.
그렇다고 높으신양반들 설득하고,
엔지니어들 가르쳐서 굳이 러스트를 써야 하나...
하는 생각이 들게 되지요.
그래도 나중에 제가 프로젝트 하나 리드할 수 있을 때가 되면,
러스트 써 볼까 합니다.
----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라
임베디드도 임베디드 나름이죠.
임베디드도 임베디드 나름이죠.
linux, wince 등의 기성 os를 커스텀 탑재한 임베디드 기기면 속도와 메모리사용량 신경쓰는거 말고는 해당 os의 프로그래밍 환경과 별 차이 없습니다. 이거 임베디드 프로그래밍인지 리눅스/윈도우 프로그래밍인지 구별이 안될 정도입니다.
기타 rtos 환경의 프로그래밍을 하신다면 언어, 라이브러리 등이 사용하는 rtos 공급사에서 지원 해줘야 하는 제약이 있습니다. 이쪽은 진입장벽이 좀 있지만 알면 난이도는 어렵지 않습니다.
가장 최악의 퍼포먼스를 가진 환경은 os조차도 없는 mcu들인데(아두이노에 달리는 atmega 등등, 메모리가 수~수십kb 정도) 얘네들은 성능이 모자라서 c로 짠다 해도 좀 커지면 온갖 문제들이 다 생겨서 c나 어셈블리 외의 언어는 사용 불가, os가 없어서 필요한 자료구조 등은 직접 짜든가 코드 구하던가 하는 식으로 해야 합니다.
Written By the Black Knight of Destruction