일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Kernel
- yocto
- arm
- 코멘토
- BSP
- 인프런
- ARM 아키텍쳐: 메모리 모델과 배리어
- Arm 아키텍처: 캐시
- 시스템 소프트웨어 개발을 위한 ARM 아키텍처의 구조와 원리
- 코멘토실무PT
- ARM 아키텍처: 메모리모델과 배리어
- Arm 아키텍처: 메모리 모델과 배리어
- 빌드 시스템
- udemy
- 실무PT후기
- Today
- Total
목록교육/코멘토 직무PT (6)
반도체 소프트웨어

요번 주는 마지막 수업이며 I2C에 대한 내용을 진행했다. I2C는 SPI, GPIO와 함께 임베디드 프로토콜에서 많이 사용되는 대표적인 통신 방법이다. SPI와 I2C의 차이점을 집중적으로 배울 수 있었다. 슬레이브 주소, 레지스터 주소, 데이터 등 I2C를 사용하기 위한 구체적인 프로토콜을 공부해서 좋았고 RTC, 밝기 측정, 무게 센서, 광센서, 가속도, 자이로 등 센서에 대해서 종합적으로 이해할 수 있어서 좋았다. 6주 동안 어디에서도 들을 수 없는 시스템 반도체 sw 강의를 들어서 정말 많은 도움이 되었고, 운좋게 좋은 기업에 취업하게 되어서 기쁘다. 더 고급 내용으로 구성된 강의가 개설되기를 희망한다. [2024/02/14(수) 20:00] 작주 복습 spi는 속도가 상대적으로 10Mbps로 ..

5주 차는 SPI 개념 및 디바이스 드라이버 코드를 분석했다. 어렴풋이 알고 있던 SPI 프로토콜을 구체적으로 배울 수 있었고, 해당 개념을 QEMU 에뮬레이터와 디바이스 드라이버를 사용해 주어진 시나리오를 구현해보며 실무적인 레벨에서 학습해볼 수 있었다. 1주 차부터 꾸준히 만들어온 새로운 반도체 SoC가 꽤 많이 완성되어서 하나의 chip으로 보이며, 이렇게 전체 흐름을 경험해볼 수 있어서 정말 좋았다. 추가적으로, 요번에 제시된 과제 내용이 정말 현업적이어서 흥미로웠다. [2024/02/07(수) 20:00] 작주 복습 libgpiod를 사용하는 것이 정석적 때로는 sysfs도 사용하기도 함 인덕터: 적분 성질, 더하는 성질(전류 저장) 캐패시터: 전압 저장 트랜지스터 중 효율이 좋은 소자가 FET..

4주 차는 GPIO를 배웠다. 기존에 라즈베리파이를 사용하여 LED 등 센서와 엑츄에이터를 제어하는 기본적인 실습을 해본 경험이 있어 GPIO 수업은 쉬울 것이라 간과했다. 그러나 하드웨어 관점에서의 GPIO 내부 구조, 가상 에뮬레이터(QEMU) 에서 GPIO 기능 구현에 관한 내용들이 쉽지 않았다. 요번 수업을 통해 GPIO가 소프트웨어적으로 1과 0을 써서 제어하는 범용 핀 이라는 단순한 이해를 넘어서 실제로 어떻게 구현되어있고 제어는 어떻게 하며 MMIO와 DMA와 연계되면 어떤 결과가 나올 수 있는지를 배울 수 있어서 좋았다. 다음 수업이 기대된다. [2024/01/31(수) 20:00] 작주 복습 DMA memcpy 같은 라이브러리 내부 코드 분석하는 것도 도움이 될듯 PIO: 프로그래밍 I/..

3주 차는 DMA에 대해 공부했다. DMA는 말 그대로 CPU를 거치지않고 디바이스가 메모리에 직접 접근하는 방식이라는 개념적인 정의 이상으로 아는 것이 아무 것도 없었다. QEMU로 DMA 기법을 사용하는 하드웨어를 작성하고, DMA를 지원하는 디바이스 드라이버를 개발하는 과정이 정말 인상깊었다. 특히 UART에 DMA가 적용한 소스 코드를 분석하면서 DMA에 대해 정말 깊고 넓게 이해할 수 있었다. DMA가 머릿속에서 추상적인 개념이 아닌 효율적으로 메모리를 접근하는 디바이스를 개발하는 기법 중 하나라는 것을 소스코드와 실무적인 레벨에서 이해할 수 있었다. 현업에서 DMA를 사용하게 된다면 요번 주차에서 공부한 경험이 정말 큰 도움이 될 것이다. [2024/01/24(수) 20:00] 작주 복습 버스..

mmio라는 것을 단순히 사용만 해봤었지 실제로 하드웨어 레벨에서 구현해보고 소스코드를 고민해본 적은 없었다. 그래서인지 요번 수업을 들으면서 기존에 지녔던 하드웨어, 디바이스 드라이버, 응용 프로그램에 대한 개념이 흔들리면서 강의 내용을 이해하기가 어려웠었다. 그러나 꾸준히 복습하고, 과제를 진행하고, 리드멘토님께 많은 질문을 하여 더 깊은 이해를 얻을 수 있었다. 실무적인 내용을 배울 수 있는 실무PT에 정말 많은 도움을 받고 있다. [2024/01/17(수) 20:00] 작주 복습 MM은 메모리 맵을 의미하고 MMIO는 MM기반 페리페럴을 의미 RISC-V 오픈소스로 IP제공 디바이스트리를 통해서 리눅스 커널 빌드와 독립적으로 하드웨어, 페리페럴들을 다룰수있게 편리하게 다룰수있게되었음 SMP: CP..

강의와 관련된 내용을 다른 책에서 일부 공부해본 경험이 있어 본 실무PT를 편안하게 수강할 수 있을 거라고 생각했었지만, 깊은 기술적 이론도 다뤄서 첫 주차만에 많은 것을 깨닫게 되었다. 또한, 혼자서 과제를 진행할 때 많은 오류가 발생해서 이를 해결하는데 시간을 많이 들었다. 가벼운 인강 정도 수준일 것이라 생각했던 오만함에 반성하게 되었고 앞으로 겸손한 자세로 예습 및 복습을 해야겠다. 결론적으로는 깊고 실무적인 내용을 학습할 수 있어서 대만족이다. [2024/01/10(수) 20:00] SoC 개발이 왜 필요한가: 팹리스 위에서 동작하는 리눅스 실무 ip: 지식재산, 모듈 어차피 h/w와 s/w가 동시에 개발되기에 에뮬레이터를 사용하여 지속적으로 sw를 개발해야함 새로운 장치를 만들면 그에 맞는 디..