VEDA(한화비전 아카데미) 1기, 14주차 학습기록_Embedded Linux

파랑새·2024년 10월 20일
post-thumbnail

날씨도 쌀쌀해 지며 교육의 막바지로 접어든다. 마지막 프로젝트를 앞둔 시점에서 빠르게 취업을 해 교육을 나간 인원도 있고, 면접을 보는 사람도 종종 생긴다. 짧은 기간이지만 하루종일 같이 있고 성향도 잘 맞아 동기애도 느끼고 서로서로 응원해 주는 분위기가 참 좋다. 결과는 좋을수도 있고 안좋을수도 있지만 VEDA를 다들 좋은 기억으로 남기를 바란다.

14주차 회고

실질적인 마지막 수업으로 Linux Kernel build 과정을 배웠다. Edge device 과정인 만큼 리눅스 커널을 빌드하고 HW에 올리는 과정은 다른 교육에서는 배우지 못했던 만큼 어렵고도 흥미로운 내용이다. 임베디드 시스템의 기본인 툴체인,부트로더, 커널, 루트파일 시스템등 기초적인 이론을 배우고 Vritual machine으로 만들고 리눅스를 빌드해본다. 전장의 BSP(Board Support Package) 팀으로 가지 않으면 잘 쓰지 않는다는 강사님의 조언에, 겪어보기 힘든 경험인듯 생각되어 더 열심히 하게된다.

새로 배운 내용

  • 알고리즘: LCS(Longest Common Substring)알고리즘을 배웠다. 최장공통 부분서열 문제를 LIS문제로 착각해 잘못 접근했다가 DP응용으로 구현하는 LCS알고리즘을 알았다. jungol에서 꾸준히 알고리즘을 풀다보니 골드2단계까지 왔다. 어렵지만 가끔씩 문제를 완벽히 풀때면 너무 뿌듯해 재미를 느낀다.
    리눅스의 3요소
  • 임베디드 리눅스 4요소: 툴체인, 커널, 부트로더, 루트파일시스템 은 임베디드에서 빼놓을 수 없는 요소이다. 4가지의 개념을 확실하게 잡고가자.
  • V4L (Video4Linux): 시스템에서 실시간 video 캡처를 지원하기 위한 드라이버 모음이다. YUV422(YUYV) 등의 포맷을 지원한다. H.264 코덱은 YUYV422 포멧을 지원하지 않고 YUV420을 지원하기 때문에 영상포맷을 변환을 고려해야 한다.
  • Linux utility:
    ctags : vim에서 프로그램 소스코드 태그(전역변수, 함수, 매크로 등등)의 Database를 생성해 함수 및 변수를 옮겨다닐 수 있게 도와주는 유틸리티
    valgrind : 메모리릭을 잡을 수 있는 동적 분석 디버깅 도구
    cppcheck : 메모리 오버가 있는지 체크하는 정적 분석 디버깅 도구

앞으로 해야할 내용

  • 최종 프로젝트 준비: 차주부터 최종 프로젝트 팀빌딩에 들어간다. 팀원을 배정받고 진행방향 및 프로젝트의 개요를 생각해 보자. VEDA의 최종 프로젝트인 만큼, 나는 어떤걸 하고싶은지 원하는 방향성은 어떤건지 준비하자.
  • 면접 준비: 한화비전의 면접날짜가 정해졌다. 자기소개서를 확인하고 CS도 한번 훑어보며 면접을 준비하자.
profile
게으름뱅이

0개의 댓글