Embedded System + IoT

공부하자·2022년 9월 13일
1

임베디드 시스템

임베디드 시스템이란

임베디드 시스템

  • 하드웨어와 소프트웨어로 구성되어 특정한 기능을 수행하는 컴퓨팅 시스템
  • 근래 IoT, AI 및 각종 스마트 디바이스에 적용되어 다양한 기능을 수행

응용 분야

  • 가정에서 사용하고 있는 디지털TV, 냉장고, 세탁기, 오디오, 셋탑박스, 게임기, 심지어 리모콘까지 임베디드 시스템에 해당
  • 사무용 전자기기, 교환기, 라우터, 공유기 등의 통신기기, 비행기, 우주선, 로켓 등의 항공, 군용 전자 기기, 공장자동화, 가정자동화, 로봇 등의 제어분야, 자동차의 각종 전자 시스템, 의료용 기기 등 다양한 분야에서 사용

특징

  • 저전력, 안정성
  • 적은 메모리 사용
  • 특정한 목적의 응용 프로그램 탑재
  • 실시간성(Real-Time)

저전력, 안정성 / 적은 메모리 / 특정한 목적의 응용 프로그램 / 실시간성 (Real-Time)

임베디드 시스템의 구조

  • 임베디드 시스템의 구성 : 하드웨어 + 소프트웨어

하드웨어 구성

  • 프로세서 : 프로그램을 읽어서 해석하며 각종 연산 및 제어를 수행
  • 메모리 장치 : 명령이나 데이터를 저장
  • 입출력 장치 : 입출력 동작을 담당

프로세서 : 연산 및 제어
메모리 장치 : 명령, 데이터 저장
입출력 장치 : 입출력 동작

소프트웨어 구성

  • 운영체제(OS)
  • 시스템 소프트웨어 : 디바이스 제어 프로그램을 포함하는 통신 프로토콜 등 구현
  • 응용 프로그램 : 사용자 애플리케이션 구동

운영체제
시스템 소프트웨어 : 디바이스 제어 프로그램을 포함하는 통신 프로토콜 등 구현
응용 프로그램

Real-Time 기능이 있는 OS: FreeAltos (빠름, 소형) / Real-Time 기능이 없는 OS: Linux, Windows..

임베디드 시스템 하드웨어 구조

프로세서

  • PC의 CPU와 같은 하드웨어의 핵심 부분을 말하며, 제어장치, 연산장치, 레지스터와 데이터 버스로 구성된 디지털 시스템의 핵심 부분

  • 프로그램을 기억 장치로부터 읽어 연산처리, 비교처리, 데이터 전송, 편집, 변환, 테스트와 분기 등의 데이터를 처리하고, 각종 장치를 구동하는 역할을 담당


(추가 조사)

CPU 구조 : Register, ALU(연산처리), Bus로 연결 / 구현된 값은 address를 셀 때도 사용한다. Program Counter.
ALU : Add, SUB 등 명령
MUL : 곱셈
제어로직에서는 명령어를 읽어서 decoding을 해서 데이터를 처리할 수 있도록
Load Store는 메모리를 저장

메모리 장치

  • 명령이나 데이터를 저장하고 프로그램을 수행하는데 필요한 정보를 저장
  • 휘발성(Volatile) 메모리와 비휘발성(Non-volatile) 메모리
    • 휘발성 메모리 : 전원이 꺼지면 데이터가 지워지는 메모리 장치 (SRAM, DRAM 등)
    • 비휘발성 메모리 : 전원이 꺼져도 저장된 내용이 그대로 남아 있는 기억 장치 (Flash 등)

실행하기 전에 메모리로 로딩해야 한다.
DRAM에 모든 데이터를 저장할 수는 없다.
프로그램을 실행시키면 최초에는 HDD에 실행파일과 파일들이 저장되어 있다. 임베디드 시스템에서는 HDD보다는 Flash라는 장치를 많이 쓴다.
내장 메모리를 EMMC를 자주 쓴다.
예전에는 NOR Flash, NAND Flash를 썼으나 최근에는 EMMC를 쓴다. (내장 메모리)
외장 메모리로는 MSD, MMC 등을 많이 쓴다.

HDD에 Storage 장치를 쓰고 DDR을 주메모리로 사용한다. HDD를 실행할 때 코드나 데이터는 DDR을 사용해야 한다.
HDD는 저렴하고 대용량으로 만들 수 있다. 비휘발성이다.
하지만 DRAM은 고가에 용량이 작다. 휘발성이다.
이후에는 paging 등의 기법을 이용해서 원하는 정보만 DRAM에 가져다 두게 된다.

CPU
|버스
cache 메모리
| |
DDR (DRAM) SATA
HDD

입출력 장치

  • 스마트폰의 터치나 키 패드와 같은 입력장치, LCD와 같은 출력장치를 말함
  • 외부 IO 디바이스와 프로세서 사이의 정보를 교환하는 장치
  • 대부분 입출력 장치는 외부와는 디지털 신호와 아날로그 신호를 가지고 연결 가능하지만, 프로세서와는 항상 디지털 신호로 연결된다.

프로세서: 핵심, 제어장치+연산장치+레지스터+데이터 버스 / 장치 구동
메모리 장치: 정보 저장 / 휘발성: SRAM,DRAM, 비휘발성: Flash
입출력 장치: 외부 IO 디바이스와 프로세서 사이 정보 교환 / 프로세서와는 항상 디지털 신호로 연결


연결하는 것이 BUS. 시스템 내부에서 동작하는 것이 시스템 bus
ARM. 시스템 내에서는 시스템 BUS 사용.
IO에서는 여러 BUS를 사용한다.

CPU - 무선랜 카드
USB BUS, SDIO BUS ... 디지털이다.
보통 RF를 이용해서 무선 통신을 한다. 실질적으로 나가는 것은 아날로그성의 데이터.

임베디드 시스템 소프트웨어

프로세서(CPU) 동작과 기계어

  • 프로세서(CPU)는 0과 1의 조합으로 움직이는 기계
  • 입출력 장치와 메모리장치를 구동하고 원하는 데이터의 처리를 위해서는 0과 1의 조합으로 이 기계에 명령을 줘야 함.
  • 기계어(Machine Language) : 기계에 명령을 하기 위해서는 의사소통 수단
  • 명령어(Instruction Set) : 기계에 명령을 하기 위해 사용하는 단어

프로그램

  • 명령어를 나열하여 원하는 동작을 할 수 있도록 문장을 나열한 것
  • 기계어, 어셈블리어 및 C나 C++과 같은 프로그램 언어를 사용하여 작성

소프트웨어

  • 사용자의 요청에 따라 하드웨어를 동작 시키고 사용자 요구를 처리하는 일련의 프로그램
  • OS(Operating System)와 OS의 필요성
    • 시스템이 복잡해 짐에 따라 제한된 하드웨어를 이용하여 다양한 기능 구현 및 하드웨어를 효과적으로 운용하고 관리하기 위한 복합적인 기술 필요
    • OS는 하나의 기계에서 자원(CPU, 메모리, IO)을 분할하여 여러 일을 효과적으로 처리 할 수 있도록 함
  • 커널, 디바이스 드라이버와 응용 프로그램
    • 커널 : OS의 핵심 부분, 하드웨어와 운영체제의 다른 부분 사이의 중재자 역할을 담당
    • 디바이스 드라이버 : 입출력 장치를 관리하고 실제 입출력 동작을 처리하는 소프트웨어
    • 응용프로그램 : 사용자의 요구를 받아들여 처리하는 소프트웨어

프로세서(CPU) 동작과 기계여: 기계에 0과 1의 조합으로 명령을 주어야 한다. (기계어/명령어)
프로그램: 명령어를 나열
소프트웨어: 일련의 프로그램.

  • OS: 하드웨어 효과적인 운용,관리. 하나의 기계에서 자원을 분리하여 여러 일을 효과적으로 처리
  • 커널: OS의 핵심 부분. 하드웨어와 운영체제의 다른 부분 사이 중재자
  • 디바이스 드라이버: 입출력 장치 관리, 동작 처리
  • 응용 프로그램: 사용자 요구 처리 소프트웨어

IoT

IOT

  • Internet of Things, 사물인터넷
  • 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물간의 정보를 상호 소통하는 지능형 기술 및 서비스
  • 기능화 + 상호연결 + 지능화 = IoT

Internet-of-Things 요소 기술

  • IoT 요소 기술: Sensor, Device, Network Security, Standards, Service

Example of IoT Network

  • Example: Smart Things

임베디드 시스템 설계

임베디드 시스템 설계 절차

  • 임베디드 시스템은 정해진 특정 목적으로 설계 되어야 하기 때문에 하드웨어 및 소프트웨어를 제품에 맞게 설계
  • 임베디드 시스템 설계 시 가장 중요한 항목은 요구하는 제품 사양에 맞는 하드웨어와 소프트웨어 사양 결정 과정임.
    • 너무 과하지도 부족하지도 않은 사양 설정
  • 임베디드 시스템 하드웨어 설계 절차
  1. 하드웨어 사양 결정
  2. 프로세서, 메모리 및 주변장치 선정
  3. 회로도 설계
  4. PCB 설계 (물리적 설계)
  5. 하드웨어 조립
  6. 하드웨어 동작 시험
  7. 시스템 통합 시험

하드웨어와 소프트웨어 사양 결정 과정이 가장 중요

프로세서 선정(SoC/AP 선정)

프로세서 선정

  • 프로세서를 선정할 때에는 개발 하려는 제품의 특성에 맞고, 개발의 용이성, 가격, 안정성과, 제조회사의 지원 능력을 고려하여 선정
    • 프로세서는 CPU Core를 의미함.
    • 하지만 임베디드 시스템 제품에 사용하는 CPU는 대부분 SoC 형태로 개발 되어 판매 됨

SoC(System on Chip)와 AP(Application Processor)

  • SoC : 하나의 칩에 시스템의 대부분 기능을 Integration 한 칩셋
  • AP : SoC 중에서 리눅스나 안드로이드 등의 고성능 OS 사용 가능한 칩셋

SoC: 하나의 칩에 시스템의 대부분 기능을 통합한 칩셋
AP: SoC 중에서 고성능 OS 사용 가능한 칩셋

CPU Core for Embedded system

  • ARM
    • 최근 임베디드 시스템에서 대표적으로 사용하는 CPU Core로 대부분 영역에 사용 됨. 다양한 CPU Core를 지원하여 소형/저전력 제품부터 고성능 제품까지 사용.
  • MIPS
    • 고속의 처리 능력, 고속 네트워크 장비 등에 많이 사용
  • AVR
    • Atmel에서 개발된 8-bit CPU Core.
    • 소형 임베디드 시스템에 많이 사용, 실습 및 교육용으로 Aruino 보드 많이 사용 됨.
  • Xtensa
    • Xtensa는 Tensilica에서 개발한 CPU Core IP로 ESP32에 적용.
    • Tensilica는 ARM과 같은 반도체 IP 회사로 현재는 최대 반도체 IP회사인 Cadence 소속

메모리 선정

메모리 용도 및 종류

  • ROM : 코드 및 데이터를 저장하기 위한 메모리
  • RAM : 프로그램의 구동 중에 사용되는 메모리

ROM : 코드 및 데이터 저장
RAM : 프로그램 구동 중에 사용

메모리 선정

  • 저장할 코드 및 데이터의 크기, 속도 등에 따라 선정
  • ROM : EEPROM, NOR Flash, NAND Flash 등
  • RAM : SRAM, SDRAM, DDR, LPDDR

(참고)
메모리를 만드는데 싸고 용량 크게 하는 건 NAND.
NAND는 트랜지스터 하나, NOR는 트랜지스터 여러 개
반도체 입장에서는 NAND 제어가 어려웠다. 요즘에는 기술이 좋아해서 NAND Flash를 많이 쓰고 있다.
SSD도 NAND Flash를 쓰고 있다.

참고 :

  • 임베디드 시스템에서 사용하는 SoC의 경우 ROM과 RAM이 칩내에 built-in된 경우가 많음.
  • 일부 개발자는 SoC를 CPU 또는 프로세서라고 부르는 경우도 있음

SoC 경우 ROM, RAM 내장
SoC를 CPU 또는 프로세서라고 부르기도 한다.

주변 장치 선정

  • 개발하려는 시스템의 용도 및 특성에 맞는 주변 장치 선정
    • 휴대용 단말기의 경우 LCD와 터치 지원
    • 네트워크 및 IoT 디바이스의 경우 유무선 네트워크, 센서 등 선정
  • 용도에 맞는 SoC(System on a chip) 선정
    • 최근 SoC의 경우 개발하려는 제품을 구성하는데 필요한 대부분의 주변 장치를 포함하는 다양한 SoC 제품이 시장에서 판매 됨.
    • 예를 들어 저전력 IoT용 ESP32의 경우 WLAN, Bluetooth 무선 네트워크와 센서입력 및 디바이스 제어에 필요한 IO 인터페이스 제공

주변 장치 선정
SoC(System on a chip) 선정 : 주변 장치 포함

회로도 설계

  • 선정된 프로세서, 메모리 장치 및 주변장치를 이용하여 회로도 설계
  • 회로도는 여러 하드웨어를 논리적으로 서로 연결한 도면임.
    • 회로도를 잘못 설계하면 시스템이 구동되지 않는 등 치명적인 오류를 발생
    • 회로도를 설계할 때 프로세서, 메모리 및 주변장치를 비롯한 일반 적인 회로 뿐만 아니라 전원 공급 장치, 시스템 리셋 등 다양한 부분에 대하여 충분히 동작을 이해하여 오류가 발생하지 않도록 설계 해야 함.
  • 회로도 설계 툴
    • OrCAD, PowerLogic, Mentor, PCAD, Embedded 16 System & IoT, CADSTAR 등 다양

선정된 프로세서, 메모리 장치 및 주변장치를 이용하여 회로도 설계

PCB 설계

  • PCB 설계란?
    • 설계한 회로도를 바탕으로 실제 부품을 배치하고 각 신호를 물리적으로 연결하는 작업
  • PCB 설계의 중요성
    • 실제 부품을 바탕으로 물리적으로 각 신호를 연결하는 것인 만큼 회로도 설계보다 훨씬 복잡
    • PCB설계는 실제 기구물에 장착 되기 때문에 기구에 맞게 설계 되어야 하고, 실제 부품과 동일하게 설계 되어야 하며, 물리적인 연결이 정확히 되어야 하는 것은 물론 제품의 안정성에 큰 영향을 미치는 전기적인 특성을 고려하여 설계 해야 함.
  • PCB 설계 툴
    • Cadence Alegro, Mentor 등 다양

PCB 설계 : 설계한 회로도를 바탕으로 실제 부품을 배치하고 각 신호를 물리적으로 연결
중요성:

  • 회로도 설계보다 훨씬 복잡 (각 신호 연결)
  • 기구에 맞게 설계, 실제 부품과 동일하게 설계, 물리적인 연결, 전기적인 특성 고려

하드웨어 조립 및 시험

  • PCB 설계가 완료되면 부품을 실장하고 테스트 프로그램을 이용하여 하드웨어가 정상 동작하는 지를 검사

  • 제품 인증 : KC, RF 인증을 득하여 제품화 완료

정상 동작 검사, 제품 인증

Open Hardware Platform

  • 다양한 센서와 처리장치로 구성되어 있으며 사물인터넷 플랫폼 및 서비스를 연결하기 위한 핵심장치
  • 오픈 소스 하드웨어를 기반으로 다양한 개발용 디바이스가 출시
  • 저렴한 하드웨어 비용과 빠른 개발속도로 제품을 만들고 사물인터넷 응용 서비스의 활용이 이루어지기 위해서 다양한 환경이 필요
  • Ex: Arduino Hardware, Intel IoT, Rasberry Pi, Samsung Artik, STMicroelectronics, Texas Instruments, Particle, BeagleBone

Open Hardware Platform

Customized Hardware Platform

  • 제품의 요구사항에 맞게 특별하게 설계된 하드웨어 설계하여 사용
  • 사양은 요구사항에 따라 매우 다양함.

제품의 요구사항에 맞게 특별하게 설계

임베디드 스프트웨어 개발

임베디드 소프트웨어 개발

  • 개발 하고자 하는 시스템의 사양 및 성능에 적합한 소프트웨어를 선정하여 개발
    • OS의 필요성 및 리얼타임(Real-time) 기능, 시
      스템 메모리의 크기 등에 따라 OS의 선정
  • 임베디드 소프트웨어는 하드웨어를 제어하고 사용하기 때문에 하드웨어에 대한 기본 지식을 가지고 있어야 함.

소프트웨어 선정하여 개발, OS 선정
하드웨어를 제어하고 사용해야 해서 하드웨어 기본 지식 있어야 함

OS 사용 여부 및 OS 선정

  • 단순하고 순차적인 작업을 처리하는 임베디드 시스템은 OS 없이 순차적인 프로그램으로 작성하여 사용 가능
  • 운영체제의 필요성
    • 시스템이 복잡해지고 다양한 사용자 인터페이스, 네트워크 기능 등을 제공하면서 규모가 커지고 지능성이 높아짐
    • 따라서 하나의 시스템에서 복잡한 여러 일을 동시에 처리하기 위한 멀티태스킹(Multi-tasking) 기능이 요구 됨
    • 임베디드 시스템에서 많이 사용되는 운영체제에는 RTOS, 임베디드 리눅스, Android 등이 있음.
  • RTOS(Real Time Operating System)
    • 실시간 시스템 : 주어진 입력 조건을 이용하여 주어진 한계 시간 내에 처리하여 결과를 내야만 하는 시스템으로 로봇 제어, 의료기기, 자동 항법장치 등이 있음(Hard Real Time System)
    • RTOS는 실시간 시스템을 구현하기 위하여 사용되는 실시간 운영체제
    • FreeRTOS, uC/OS, VxWorks 등
  • Non-RTOS
    • 비교적 실시간성이 중요하지 않은 시스템에 사용(Soft Real Time System)
    • Linux, Android 등이 해당

OS 없이도 가능
필요성: 규모가 커짐 -> 멀티태스킹 요구
RTOS: 실시간 시스템 구현. FreeRTOS, uC/OS, VxWorks 등
Non-RTOS: 실시간성 중요 x. Linux, Android

임베디드 소프트웨어 개발 환경

  • 교차 개발 환경 (Cross Development Platform)
    • 소프트웨어를 개발하는 시스템(컴퓨터)과 실제 실행하는 시스템이 서로 다른 개발 환경
    • 예를 들어 Pentium PC 에서 소프트웨어를 개발하고 빌드하지만 실제 구동은 ARM 프로세서 기반의 임베디드 시스템에 탑재되어 구동
  • 호스트(Host) 시스템과 타깃(Target) 시스템
    • 호스트 시스템 : 개발환경을 가지고 소프트웨어를 개발하고 빌드하는 컴퓨터
    • 타깃 시스템 : 개발하고자 하는 임베디드 시스템
  • 교차 개발 환경 구성 요소
    • 크로스 컴파일러/툴체인
    • 디버거, 에디터 등
    • 통합개발환경(IDE)

교차 개발 환경: 소프트웨어를 개발하는 컴퓨터와 실제 실행 시스템이 서로 다름
호스트 시스템과 타깃 시스템
교차 개발 환경 구성 요소 : 크로스 컴파일러,툴체인 / 디버거,에디터 / 통합개발환경(IDE)

OS Kernel & D/D 포팅

커널 Porting

  • 커널이 타깃 시스템에서 동작할 수 있도록 OS의 프로세서(CPU) 관련 처리, 메모리 관리, 트랩(Trap 또는 Exception) 및 인터럽트 처리, 그리고 타이머 등을 구현하여 운영체제의 스케쥴러(scheduler)가 정상적으로 동작할 수 있도록 하는 과정

커널 Porting : 커널이 타깃 시스템에서 동작할 수 있도록 (CPU 처리, 메모리 관리, 트랩 및 인터럽터 처리, 타이머 등 구현하여) 운영체제의 스케쥴러(scheduler)가 정상적으로 동작할 수 있게 하는 과정

디바이스 드라이버(Device Driver, D/D) Porting

  • 디바이스와 디바이스 드라이버
    • 디바이스(Device) : LCD, 네트워크, Audio, 키보드 등 입출력 장치를 말함.
    • 디바이스 드라이버 : 디바이스를 구동하는데 필요한 프로그램
  • 디바이스 드라이버 구조
    • 디바이스를 제어하는 프로그램과 커널 및 사용자의 어플리케이션과 정형화된 인터페이스를 통해 디바이스를 접근할 수 있는 인터페이스를 제공해 주는 기능 제공
    • 디바이스 드라이버는 애플리케이션에서 디바이스를 제어하고 관리하는 정형화된 인터페이스 구현에 요구되는 함수와 자료구조의 집합체를 의미
    • 디바이스를 제어하는 단순한 프로그램만을 의미하는 것은 아님.
  • 디바이스 드라이버의 포팅
    • 정형화된 인터페이스 자료 구조와 디바이스를 제어하는 프로그램을 구현하여 커널 내 또는 응용 프로그램에서 하드웨어를 제어할 수 있는 인터페이스를 제공하는 것을 말함.

디바이스: 장치, 디바이스 드라이버: 디바이스 구동 프로그램
디바이스 드라이버 구조: 제어 프로그램 + 접근 인터페이스 / 인터페이스 구현에 요구되는 함수와 자료구조의 집합체 / 단순한 프로그램만을 의미하는 것은 아님
디바이스 드라이버 포팅: 프로그램 구현. 커널 내 또는 응용프로그램에서 하드웨어 제어할 수 있는 인터페이스 제공

애플리케이션 개발

  • 임베디드 시스템에서 애플리케이션 이란?
    • 임베디드 애플리케이션(응용 프로그램)은 시스템(하드웨어와 OS)을 이용해서 정해진 작업을 수행 하는 것을 말함.
    • 일반적인 컴퓨팅 시스템에서는 문서작업, 인터넷, 게임과 같이 다양한 어플리케이션을 처리
  • 임베디드 애플리케이션 예
    • IP 공유기는 IP 공유 기능은 제공하지만 문서 작업 불가
    • IoT 센서 : 센서로 부터 데이터를 수집하여 게이트웨이 및 서버로 전송
  • 임베디드 소프트웨어의 변화
    • 근래에는 임베디드 시스템은 스마트 디바이스를 바탕으로 여러 기능이 통합되는 컨버전스(Convergence) 제품으로 변모
    • 대표적으로 스마트 폰의 경우 범용 PC의 대부분 기능 수행

애플리케이션: 시스템을 이용하여 정해진 작업 처리
예시: IP 공유기, IoT 센서
변화: 통합되는 컨버전스 제품. 스마트폰.

OS, D/D & 애플리케이션

외우기

VFS
파일을 읽고 쓸때마다 Buffer Cache
외부 장치와 통신.

시스템 콜(System Call) 인터페이스 : OS가 사용하는 영역 prevelged 영역. User 영역에서는 OS 영역을 마음대로 x. 커널 모드로 변경하려면 supervise 모드로 변경. 이때 System Interface를 사용한다.

오픈 HW 플랫폼 및 센서

Internet-of-Things 요소 기술

오픈 HW 플랫폼

  • Arduino
  • STMicroelectronics
    • Evaluation (평가용)
  • Micro:bit
  • Raspberry Pi
    • 싱글 보드 컴퓨터
  • Samsung Artik
  • Hardkernel/Odroid
  • Texas Instruments
  • NXP/Freescale
    • 산업용 최강자)
  • NVidia
  • Intel IoT

Sensor

  • 원격감지, 위치 및 모션 추적 등을 통해 사물과 주위 환경으로부터 정보를 획득
  • 디지털 IT기기의 스마트화가 가속되면서, IT기기들이 인간의 행동을 정확히 인지하고 모방하거나 해석하고 대응하는 수준까지 발전하고 있기 때문에, 정보의 처리 기능까지 포함된 스마트 센서 기술의 발전이 반드시 필요

Smart Sensor

  • 스마트 센서는 기존의 센서가 발전하여 지능화된 센서(intelligent sensor)로 측정 대상물의 물리·화학적 정보를 감지하는 일반 센서기술에 나노기술 또는 MEMS기술을 접목하여 데이터 처리, 자동보정, 자가진단, 의사결정, 통신 등의 신호처리 기능을 내장

Vision Sensor

  • 공장 자동화에서 센서는 작업 셀에서 검사에 필요한 데이터를 수집하거나 다른 장치를 트리거하는데 사용. 센서는 여러 범주에 속할 수 있으며, 가장 흔한 범주는 광전자, 광섬유, 근접, 초음파, 비전 등이 해당

  • 폭넓은 가변성을 수용할 수 있도록 설계. 작업자가 고가의 비용이 들고 시간 소모적인 다수의 변경 없이 사전 구성된 셀에서 센서를 이용

  • 단일 이미지 내에서 여러 가지의 검사 유형을 수행

  • 품질 및 공정 개선을 위해 추가로 풍부한 데이터를 생성

  • 잘못된 정렬을 처리

활용

profile
아주대학교 수업 기록

1개의 댓글

comment-user-thumbnail
2024년 5월 5일

와 진짜 정리 잘하셨네요 존경합니다 감사합니다

답글 달기