어셈블리 명령어 소개 -어셈블리 명령어는 간단 명료하기 때문에, 하나하나보면 이해 어려움 -> 전체적인 흐름을 보자 -calling convention을 알아야함 -레지스터에 대한 기본적인 이해 -- 어셈블리 명령어 기본 포멧 -opcode -: 목적 레지스터(범용 레지스터) Rd -: 1st소스 레지스터(operand 1) Rn -: 2st소스 레지스터(operand 2) Rm if) ADD , , 는 이렇게 표기 = + 기능별 어셈블리 명령어 종류 -데이터 처리 : add, sub, orr, lsl, lsr -메모리 연산 : ldr, str, ldp, stp -조건 분기 : b.cond, cbnz, cbz, tbnz, tbz -분기 : b, bl, ret -익셉션 처리 : svc, hvc, smc, ..
시스템 소프트웨어 개발 -페키징 -브링업 -특성 평가 -BSP개발 -System integration -Stress Test 시스템 반도체 핵심은 Arm프로세서 Arm사는 라이센스 비지니스 -파운드리에서는 SoC와 같은 시스템 반도체가 양산 -주요 IP에 대한 라이센스 판매 IP? -지적 재산권의 약자로, 재사용 가능하도록 기능을 모듈화해 설계한 Core Design -Digital IP / Mixed IP --- Arm프로세서는 왜 배워야 하는가? 시스템 반도체(전기 자동차)의 핵심 부품 -대다수 시스템 반도체는 Arm프로세서를 탑재 -인포테인먼트(90%이상) 자율 주행(ADAS 50%이상) IoT 및 임베디드 장치에서 많이 쓰임 -휴대폰 및 디지탈 TV에서 95%이상 -VR/AR 디바이스에서 사용 A..
타겟 브링업 (보드 브링업, 페리퍼럴 브링업) --- 소스 브링업 1. git을 활용해 SoC벤더나 솔루션 업체로부터 소스 받아옴 -git정보 체크 -빌드 위한 커멘드 문서로 제공 2. 컴파일러 설치 -컴파일러를 직접 빌드 서버에 설치 -컴파일러 에러나 빌드 스크립트 수정(for 시스템 성능 극대화, 커스터마이즈) 3. 소스 빌드 -컴파일 에러 혹은 링크에서 수정, 빌드 스크립트 작성 4. 빌드 아키텍처 분석 5. 이미지 다운로드 툴 분석 -SoC 칩 벤더가 제공하는 다운로드 툴 분석 -Trace32 Uart다운로드 기능 --- 소스 브링업 업무방식 대부분 BSP, 시스템 솦트웨어 개발자가 함 --- 소스 브링업을 위한 스킬 욕토 빌드 시스템 -거의 빌드 프레임웤 표준 -SoC벤더도 욕토에 올려서 전달 ..
임베디드를 확장한 시스템 소프트웨어의 전망 시스템 소프트웨어 업체로 진출하기위해 필요한 임베디드 분야 스킬 - rtos, 브링업, 회로리뷰 - 디버깅, 어셈블리 명령어 시스템 소프트웨어 전망 - 시스템 반도체, 전기자동차, 의료기기, 항공기, IoT 등 전기자동차 -> 인포테인먼트, 자율 주행 : 핵심이 시스템 소프트웨어다 리눅스 시스템 소프트웨어 개발자의 종류 - 보드 브링업, 데이터 시트 리뷰 - 메모리 드라이버, 카메라, 이더넷 드라이버 - 전장 업체 중심으로 계속 증가 SoC 시스템 소프트웨어 개발자 빅테크 기업 -> 엔비디아, 퀄컵, 인텔 등 한국 펩리스 업체 CPU 아키텍쳐 개발자 컴파일러 커스터마이즈 및 신규 기능 구현 오픈소스기반 OS에 CPU아키텍처 코드 contribution 시스템 소..