먼저 라즈베리 같은 제품을 활용해 무언갈 만들고 싶었다. only 소프트웨어가 아닌 하드웨어도 같이
그러기엔 프로그래밍 기술밖에 가진게 없었고, 이것도 딱히 내세울정돈 아니라 생각했다.
그래서 무작정 스택오버플로에 검색해봤다.
Embedded Developer, what skills are important
I want to make a list of things that need to learn that is valuable for my career. What skills do you think are vital for an embedded developer, now and the distant future? I have become quite
stackoverflow.com
아래는 요약정보이며 내 생각이므로 아닐 확률이 높다.
필수
- C : C는 저급언어로 하드웨어에 맞춰져 있기 때문에 임베디드에 적합한 언어라 할 수 있다. 그리고 리눅스도 C컴파일이 기본이기 때문에 C는 필수이지 않을까.
- OOP/C++ : C에서 업그레이드 된 것이 객체지향 특성을 가진 C++, 객체지향에 중요한 클래스, 캡슐화, 다형성, 오버로딩, 오버라이드, 템플릿 등은 기본적으로 가져야 할 수양이다.
- 알고리즘 : 검색, 정렬, b-트리. 솔직히 나는 검증된게 널리고 널렸기에 이론만 알아도 되지 않을까 ...
- 디자인 패턴 : 팩토리, 옵저버, 싱글톤 등 배웠지만 ... 안쓴지 너무 오래되서 기억도 잘 안난다 ..
- OS(세마포어, 뮤텍스, 스케줄링, 커널 등) : 여기서부터 머리가 아파온다.
- 리눅스 : 데비안 계열 라즈비안밖에 써보지 않았다... 비슷하겠지만 중점이 다르니 ...
이 밑으로는 처음 들어보거나 정말 얕게 알거나 들어만 봤거나 보기만했던거 ...
마이크로프로세서 기초 : 인터럽트처리, 레지스터, 어셈블리코드
마이크로컨트롤러 기초 : ADC, DAC, 타이버, PWM, DMA, 워치독
메모리 : NOR, NAND, SRAM, DRAM, 웨어 레벨링
기본 프로토콜 : I2C, SPI UART, LIN
고급 프로토콜 : SATA, PCIE, USB, CAN, MOST
병렬 프로그래밍 : SMP
기본 전자 자식 : 회로도 읽기, 오실로스코프(시간대별 전압 변화를 보는 장치) 사용, 멀티미터 테스터기( AC전압, DC전압, 저항 등을 측정), 납땜
임베디드용 특수 기술 : 스위치 디바운싱, 레더저항, 로터리 엔코더
소프트웨어 엔지니어링 : 애자일 등
빌드환경 : makefile, cmake
기본 FPGA/ASIC 설계, 기본 DSP 등
일하면서는 시간이 부족하지만 그래도 천천히 해보겠다.
'기타' 카테고리의 다른 글
Oracle VirtualBox 64bit OS 설치 (0) | 2022.02.24 |
---|---|
부팅시 인터넷 자동실행 (0) | 2022.01.19 |
[node-red] find python 에러 (0) | 2021.05.10 |
Oracle VM(Virtual Box) 파일복사 (0) | 2021.05.07 |
구글 크롬 PDF 번역하기 (0) | 2021.03.31 |
댓글