먼저 라즈베리 같은 제품을 활용해 무언갈 만들고 싶었다. only 소프트웨어가 아닌 하드웨어도 같이
그러기엔 프로그래밍 기술밖에 가진게 없었고, 이것도 딱히 내세울정돈 아니라 생각했다.
그래서 무작정 스택오버플로에 검색해봤다.
아래는 요약정보이며 내 생각이므로 아닐 확률이 높다.
필수
- 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 |
댓글