Compiler & Linker + WiFi & Bluetooth 통신

공부하자·2022년 11월 22일
0

Compiler & Linker

교차 개발 툴

  • 크로스 컴파일러(Cross Compiler)
    • x86 계열 호스트에서 소스 프로그램을 컴파일하여 빌드 호스트와 다른 프로세서용
      기계어를 생성하는 프로그램
      • ARM Cross Compiler : ARM Processor 용 binary 생성 툴
      • Xtensia Cross Compiler : Xtensia Processor 용 binary 생성 툴
  • 교차 개발 환경 구성 요소
    • 크로스 컴파일러/툴체인
    • 디버거, 에디터 등
    • 통합개발환경(IDE)

GNU ARM 교차 툴

교차 개발 툴의 활용

오브젝트 파일의 자료 구조

  • 오브젝트 파일
    • 컴파일러, 어셈블러 및 링커에 의해 생성
    • 명령어와 다양한 데이터로 구성
  • 오브젝트 파일의 종류
    • 재배치 가능한 오브젝트 파일(relocatible file)
    • 실행 가능한 오브젝트 파일(executible file)
    • 공유 오브젝트 파일(shared object file)
  • 오브젝트 파일의 형식
    • COFF(Common Object File Format)
    • ELF(Executable Linkable Format)

오브젝트 파일 생성

실행 가능한 오브젝트 파일의 구조

  • 헤더 : 섹션을 설명
    • 프로그램 헤더 테이블
    • 섹션 헤더 테이블
  • 섹션
    • 텍스트 섹션 : 모든 코드
    • 데이터 섹션 : 초기화된 전역 변수 및 초기값
    • BSS 섹션 : 초기화되지 않은 전역 변수
    • BSS : Block Started By Symbol)
  • 심볼 테이블
    • 함수와 변수의 위치 정보를 가지는 테이블
  • 스트링 테이블
    • 심볼 테이블의 이름을 문자로 가지고 있는 테이블
  • 섹션 이름 테이블
    • 섹션 이름을 문자로 가지고 있는 테이블
  • 디버그 테이블
    • 디버깅 정보를 가지는 테이블

함수의 레지스터와 메모리 사용 (ARM의 경우)

ELF 파일과 바이너리 파일

  • ELF(Executable ELF) 파일
    • 링크를 완료한 후에 생성된 실행 가능한 파일
    • 헤더, 섹션 및 테이블을 포함한다.
    • 리눅스 애플리케이션을 ELF 파일을 사용하여 실행
    • 펌웨어, 부트로더 및 OS 커널을 개발하는 경우
      • 디버거를 사용하는 경우 ELF 파일을 사용
      • ROM 또는 플래시 메모리에 탑재하는 경우 바이너리 파일 사용
  • 바이너리(Binary, Plane Binary) 파일
    • ELF 파일에서 헤더 정보 및 테이블 정보를 제거한 후 텍스트 섹션과 데이터 섹션만을 포함
    • 펌웨어, 부트로더 및 OS 커널을 메모리에 탑재하여 실행
    • 파일 형식 변환
      • objcopy : GNU 형식 변환 툴

링커와 로케이터

  • 링커
    • 불완전한 오브젝트 파일들을 합쳐 새로운 독립형 오브젝트 파일을 생성해내는 도구
  • 로케이터(Locator)
    • 메모리에서 실행이 가능하도록 코드와 데이터를 배치
    • 대부분은 링커에 포함

메모리 배치 정보

  • 메모리 배치 정보 지정
    • 간단한 메모리 배치의 경우 링커의 명령 옵션으로 지정하여 사용
    • 복잡한 메모리 배치의 경우 별도의 배치 정보를 지정하는 파일을 사용
      • Linker Script(링커 스크립트) 파일 : GNU 툴
  • GNU 링커 스크립트 구현 예

IoT와 통신 기술


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

Internet-of-Things 요소 기술

Network in IoT

  • 경우에 따라 Gbps이상의 전송 지원
    • 초고화질 영상 전송
  • 저전력 기반의 근거리통신 기술
    • 특정 장소에서의 안내서비스, 정교한 위치정보, 메시지 및 쿠폰전송, 모바일 결제 등
  • Wi-Fi, Bluetooth, Zigbee, RFID/NFC, Z-WAVE, LTE-MTC, LPWAN

Wi-Fi 통신

Wi-Fi 개요

  • 근거리 무선통신 기술로 초기에는 인터넷의 활성화로 노트북과 일부 산업용 장비들에서 지원하였으나 최근 스마트기기를 중심으로 개인용 휴대장치까지 사용이 확대
    • IEEE 802.11기반의 무선랜 연결과 장치 간 연결(와이파이 P2P), PAN/LAN/WAN 구성 등을 지원
    • 와이파이를 지원하는 장치들은 와이파이 AP(Access Point)혹은 와이파이 핫스팟(Hot Spot)을 통해서 인터넷에 접속
    • 최근에 개발되고 있는 와이파이 표준 중에서는 3.6GHz나 60GHz대역을 사용하는 표준도 있으나 일반적으로 우리가 사용하는 와이파이는 IEEE 02.11b/g/n표준으로 2.4GHz대역 혹은 5GHz 비면허 대역을 이용

Wi-Fi 표준 대역폭

Wi-Fi 대역 및 표준 확장

  • 2009년 IEEE 802.11n을 이은 IEEE 802.11ac는 5GHz비면허 대역에서 약 1Gbps이상 (최대 전송속도 6.9Gbps)의 데이터 전송 속도를 지원
  • 최근 TV화이트스페이스 대역과 900MHz대역을 새로이 무선랜에 도입함으로써 전송거리를 1km내외까지 확장시키는 IEEE 802.11af, IEEE 802.11ah기술이 활발히 진행

Wi-Fi 채널

  • 와이파이 기술이 주로 이용하는 2.4GHz ISM대역(IEEE 802.11b/g/n해당)은 2,400~2,483GHz
  • 83MHz의 대역에 한 개의 채널폭이 20혹은 22MHz인 채널들을 5MHz간격으로 배치를 하게 되면 13개의 채널을 이용

Wi-Fi 보안

  • 다양한 공격 유형
    • 전파수집, 불법접속, 중간자공격 등을 통한 사용자 주요 정보 유출과 전파교란
    • 다량의 패킷전송을 이용한 서비스 거부 공격
    • WEP등 취약한 보안설정을 해킹해 불법 접속 및 내부 망으로 침투
  • Wi-Fi 보안 문제 발생 원인
    • 무선 네트워크 접속 시 인증 과정에서의 문제점과 무선 전송데이터의 암호화 취약점으로 구분
  • Wi-Fi 보안 강화
    • 기업환경 등 중요정보를 취급하는 장소에서 무선랜 이용은 WIPS등 전문 무선 보안시스템 도입이 필요

802.11ad

  • IEEE 802.11ad 규격
    • 와이기그(WiGig)라는 이름으로도 불리며 60GHz 대역의 고주파를 사용 (기존의 802.11 표준들이 2.4GHz나 5GHz 대역 사용)
    • 현재 많이 사용하는 무선랜 보다 10배 빠른 초당 7기가비트(Gbps)의 속도
    • TV와 스마트폰 등 각종 기기를 연결할 차세대 무선통신 표준

Network supports in ESP32

  • ESPRESSIF사의 ESP32-WROOM
    • Wi-Fi와 Bluetooth가 통합된 ESP32 SoC 적용
    • Wi-Fi(2.4GHz, 802.11 b/g/n) 지원
    • Bluetooth v4.2 BR/EDR & BLE 지원

Wi-Fi Features in ESP32

  • 802.11 b/g/n
  • 802.11 n (2.4 GHz), up to 150 Mbps
  • WMM (WiFi Multimedia)
  • TX/RX A-MPDU, RX A-MSDU
    • A-MSDU : Aggregate MAC Service Data Unit
  • Immediate Block ACK
  • Defragmentation
  • Automatic Beacon monitoring (hardware TSF)
  • 4 × virtual Wi-Fi interfaces
  • Antenna diversit

Bluetooth 통신

Bluetooth

  • 저전력 소모로 근거리 송수신기를 모바일 디바이스(Mobile device)에 직접 또는 PC 카드와 같은 어댑터를 통해 탑재되어 무선 환경을 제공해 주는 통신 규격
    • 전역 주파수 대역 2.45GHz band 이용, 721kbps 데이터 전송 속도와 3개의 음성 채널 지원
    • 어드버타이징 채널 3개, 데이터 채널 37개(BLE), Classic(79채널)
    • 전력 소모량이 30micro amps인 ‘대기모드’에서부터 3~30milli amps 범위의 전송량이 많은 장
      치에 이르기까지 다양한 제품을 대상
    • 멀티페어링(다중 페어링), 멀티포인트(다중 연결) 기술 제공

Bluetooth 구성

  • Bluetooth 구성 요소
    • 하드웨어 : 블루투스 라디오(Radio Frequency) 단위, 블루투스 기저대역단위
    • 소프트웨어 : 블루투스 프로파일
  • Bluetooth 구성 단위
    • 1) 라디오 단위
      • 송신기(transmitter)와 수신기(receiver)로 구성
      • 송신기는 RF 신호를 보내는 역할을 하고, 수신기는 RF신호를 받는 역할
      • 최대 주파수 호핑률은 1,600hops/s이며 보통의 링크 범위는 10cm에서 10m까지지만, 전송 전력을 올리면 100m까지 확장
    • 2) 기저대역단위
      • 플래시메모리와 CPU를 포함하는 하드웨어, 라디오 단위와 호스트 기기 I/F
      • 저대역 프로토콜은 FHSS(주파수 도약 확산 대역)기술을 이용해 회선교환(circuit-switched) 방식과 패킷교환(packet switched)방식 두 가지를 모두 지원
    • 3) 프로파일
      • 기기 상호간의 호환성을 위해 마련된 것으로 블루투스 장치가 어떤 종류의 데이터를 보내는지 명확하게 정의하고 블루투스의 기본 표준 위에 더해진 프로토콜
      • 호환성을 갖기 위해서는 두 장치간의 두 프로파일을 모두 지원

Bluetooth profiles

  • Serial Port Profile (SPP)
    • Serial communication interface( RS-232 or a UART)를 무선으로 대체
    • 두 장치는 RX, TX 라인이 마치 유선으로 연결된 것처럼 데이터를 주고 받을 수 있다.
  • Human Interface Device (HID)
    • Bluetooth를 이용한 사용자 입력장치에 사용
    • 키보드, 마우스, 조이스틱, 비디오 게임 컨트롤러 등에 주로 사용
  • Hands-Free Profile (HFP) and Headset Profile (HSP)
    • Bluetooth 이어폰 등에 사용되는 프로파일
    • HFP 의 경우는 차량의 hands-free 오디오 시스템에 사용
    • HFP는 일반적인 폰 Interaction (전화 수신/거절, 종료 등) 지원하기 위한 내용들이 포함
  • Advanced Audio Distribution Profile (A2DP)
    • Bluetooth 장치간 오디오를 전송하기 위한 프로파일.
    • HFP, HSP 는 오디오를 양방향으로 전송하지만 A2DP 는 단 방향으로만 전송
    • 대신 오디오의 음질이 좋다.
  • A/V Remote Control Profile (AVRCP)
    • Bluetooth 장치를 무선으로 제어하기 위한 프로파일.
    • 오디오 플레이어를 무선으로 제어가 가능하도록 하기 위해 A2DP 프로파일과 함께 지원

Bluetooth versions

  • Beacon
    • 블루투스 4.0을 기반으로 사물인터넷에 적합한 블루투스의 새로운 근거리 무선통신 장치
    • 최대 70m이내의 장치들과 교신 가능하고, 5~10cm단위의 구별이 가능할 정도의 높은 정확성
    • 사용 예
      • 비콘 단말이 발신하는 특정 ID값을 통해 스마트폰 위치를 확인하고 확인된 위치에서의 설정된 서비스(메시지, 쿠폰 등)를 스마트폰으로 전송해 주는 방식


  • Bluetooth 5.0
    • '근거리' 무선 기술 표준에서 '중거리' 무선 기술 표준으로 변화
    • Bluetooth 4.2보다 데이터 전송범위가 4배(최대 350m, 유효범위 80미터 이내)
    • 최대 50Mbps(초당 6.2MB), 기존대비 2배(BLE 1Mbps)

Bluetooth 기술 개요

  • Bluetooth 주소
    • 고유한 48-bit(6bytes) 주소를 가지며 항상 12자리로 표시
    • 상위 코드는 제작사를 의미하며 하위코드는 장치의 고유값을 의미
  • Master-Slave 형태로 동작
  • 하나의 Master 장치가 다수의(7개까지) Slave 장치와 연결
    • 다른 프로파일의 경우만 지원

Bluetooth Features in ESP32

• Bluetooth v4.2, BLE
• Class-1, Class-2, Class-3
• +12 dBm transmitting power
• NZIF receiver with –97 dBm BLE sensitivity
• Adaptive Frequency Hopping (AFH)
• Standard HCI based on SDIO/SPI/UART
• High-speed UART HCI, up to 4 Mbps
• Bluetooth 4.2 BR/EDR BLE dual mode controller
• Synchronous Connection-Oriented/Extended (SCO/eSCO)
• CVSD and SBC for audio codec
• Bluetooth Piconet and Scatternet
• Multi-connections in Classic BT and BLE
• Simultaneous advertising and scanning

기타 IoT 통신 기술

Zigbee

  • 저전력, 저가격 및 하드웨어 구성이 간단한 무선통신 시스템 규격
  • IEEE 802.15.3 기반으로 저전력과 저가격을 목표로 저속 근거리 개인 무선통신의 국제 표준 스펙
  • 전력소모가 적고 칩가격이 저렴하며 통신의 안정성이 높아 최근 IoT에서도 다양하게 활용
  • IEEE 802.15.4 표준의 물리 PHY 와 매체접근제어 MAC 계층 위에 그 상위계층으로 네트워크 (NWK)계층, 응용지원(APS)계층과 보안(Security) 및 응용(APL)을 규격

Z-Wave

  • Z-Wave는 Zensys와 Z-Wave 얼라이언스에서 개발한 무선 통신 프로토콜
  • 무선 통신 프로토콜로 가정 자동화와 센서 네트워크와 같은 저전력과 저대역폭을 요구하는 장치를 위해 설계

  1. 대역폭 : 9600 bit/s or 40 kbit/s 에서 상호 정보 교환 가능
  2. 조절 : GFSK (Gaussian Frequency-Shift Keying)
  3. 범위 : 방해없는 환경에서 약 22.5m, 최적의 환경에서 9m
  4. 주파수 대역 : 900 MHz ISM 대역 사용
    919.7 Mhz, 921.7 Mhz, 923.1 Mhz (Kor)
  5. 전력 제한 : 1mW

LPWAN

  • LPWAN(Low Power Wide Area Network)는 이동통신 네트워크를 활용하여 사물인터넷 서비스를 제공
  • 저전력 소모 설계, 저가 장비 공급, 낮은 구축비용, 안정적 커버리지 제공, 대규모의 단말기 접속
    구현 등이 핵심설계 요구 사항으로 고려

  • LTE-MTC(LTE Machine-Type Communication)
    • 이동통신 네트워크를 활용하여 사물인터넷 서비스를 제공
  • NB-IoT
    • LTE인프라를 활용해 더 낮은 소비전력으로 우수한 커버리지를 확보하는 기술


  • Lora
    • LTE-M보다 속도는 느리지만 전력소모가 적어 10년 이상의 배터리 수명 가능
    • 900Mhz대 주파수를 사용
      • 굴절 및 회절도가 높아 수신 감도가 뛰어나며 통신 범위는 도심지역 기준 반경 2~15km, 교외 최대 30km, 지하 및 실내에서는 1~3km 수준으로 LTE-M의 최대 5~11km보다 넓다.
    • 전송속도는 250bps에서 최대 50Kbps으로 원격검침 및 모니터링 등에 충분한 성능

  • LTE-M
    • 장점
      • 기존 LTE망을 활용한 전국망 구축 가능
      • 면허 대역 주파수로 서비스 품질 확보
      • 표 준기술 기반의 서비스 영속성 확보
      • LTE 수준의 보안성 제공
    • 단점
      • 비싸고 복잡한 칩 및 모듈
      • 전력소모가 상대적으로 높음
      • USIM 기반으로 개통 절차
  • LoRa
    • 장점
      • 저렴하고 단순한 칩 및 모듈
      • 저전력으로 배터리 수명 최대 10년 가능
      • ID 기반 인증으로 개통 절차 단순
      • 기존 통신사 기지국에 간단히 설치 가능
    • 단점
      • 신규망 구축 필요
      • 비면허대역 주파수로 간섭 우려
      • 비표준 기술로 서비스 시장 우려 제기

profile
아주대학교 수업 기록

0개의 댓글