본문 바로가기
반응형

분류 전체보기299

IEEE802.15.4z BPRF IEEE802.15.4z BPRF 모드 1. IEEE 802.15.4z는 초광대역(UWB, Ultra-Wideband) 통신을 위한 표준 중 하나이다.2. 특히 근거리 통신 및 위치 추적 애플리케이션에 적합한 기능을 제공한다.3. 이 표준은 기존의 IEEE 802.15.4a UWB 표준을 확장하고 개선한 버전이다.4. BPRF(Burst Pulse Repetition Frequency) 모드는 IEEE 802.15.4z 표준의 중요한 부분으로 특정 전송 모드를 나타낸다.BPRF 모드의 특징1. 높은 신뢰성BPRF 모드는 더 많은 펄스를 사용하여 데이터를 전송하므로 전송의 신뢰성을 높일 수 있다.이는 특히 무선 환경이 복잡한 상황에서 중요한 역할을 한다. 2. 낮은 전력 소비UWB 기술은 본래 낮은 전력 .. 2024. 9. 22.
MAC ID, PAN ID MAC ID와 PAN IDMAC ID와 PAN ID는 무선 통신 네트워크에서 중요한 식별자로, 각각 네트워크 장치와 네트워크를 식별하는 데 사용된다.이 두 가지는 주로 IEEE 802.15.4 표준을 따르는 저전력 무선 네트워크(예: Zigbee)에서 자주 사용된다.1. MAC ID (Media Access Control Identifier)정의1. MAC ID는 네트워크에서 장치를 고유하게 식별하는 하드웨어 주소이다.2. 이는 MAC 주소라고도 불리며, 각 네트워크 인터페이스 카드(NIC)에 고유하게 부여된다. 구조1. 일반적으로 48비트(6바이트) 길이로, 16진수로 표현된다.2. 예시: 00:1A:7D:DA:71:133. 앞의 24비트는 제조업체를 식별하는 OUI(Organizationally Un.. 2024. 9. 21.
[Git/Github] Blame, Ls-tree, Clean, Gc, Archive blame, ls-tree, clean, gc, archive 명령어 정리1. Blame파일의 각 줄이 누구에 의해 언제 수정되었는지 보여준다.코드 변경 내역을 추적하고 특정 줄의 변경 이력을 알아낼 때 사용한다. 사용 예git blame filename.txt # filename.txt 수정내역 확인2. Ls-tree특정 커밋이나 브랜치의 트리 구조를 보여준다.저장소의 구조나 특정 경로에 어떤 파일이 포함되어 있는지 확인할 때 사용한다. 사용 예git ls-tree HEAD 3. Clean추적되지 않은 파일들을 워킹 디렉토리에서 제거한다.작업 디렉토리를 정리하고 깨끗한 상태로 유지할 때 사용한다.사용 예git clean -f4. Gc저장소를 정리하고 최적화한다.저장소의 용량을 줄이고 성능을 향상시킬 때.. 2024. 9. 20.
[Git/Github] Stash, Tag, Revert, Reset, Rev-parse stash, tag, revert, reset, rev-parse 명령어 정리1. Stash (임시 저장)작업 중인 변경 사항을 임시로 저장하고 워킹 디렉토리를 깨끗하게 만든다. 사용 예git stash # 변경 사항을 임시로 저장git stash pop # 가장 최근에 저장한 스태시를 다시 적용2. Tag특정 커밋에 태그를 붙여 중요한 지점을 표시한다. 사용 예git tag v1.0 # 태그 생성git tag -a v1.0 -m "Release v1.0" # 주석이 있는 태그 생성git push origin v1.0 # 태그를 원격 저장소로 푸시 3. Revert (되돌리기)특정 커밋을 되돌리는 새로운 커밋을 만든다.사용 예git revert abc123 # abc123.. 2024. 9. 19.
[Git/Github] Log, Status, Show, Shortlog, Reflog log, status, show, shortlog, reflog 명령어 정리1. Log저장소의 커밋 이력을 조회한다.각 커밋의 해시, 작성자, 날짜, 커밋 메시지 등 변경 이력을 추적하는 데 사용된다.사용 예git log # 커밋 기록 보기git log --oneline # 한 줄로 요약된 커밋 기록2. Status현재 작업 디렉토리와 스테이징 영역의 상태를 보여준다.변경된 파일, 새로 생성된 파일, 스테이징된 파일, 커밋 준비가 된 변경 사항을 확인하는 데 사용된다.사용 예git statusgit status -s # -s 또는 --short: 변경 사항을 짧은 형식으로 출력git status -b # -b 또는 --branch: 현재 브랜치와 추적 중인 브랜치를 간단하게 출력3. .. 2024. 9. 18.
[Git/Github] Fetch, Diff, Cheery-pick, Merge, Rebase fetch, diff, cheery-pick, merge, rebase 명령어 정리1. Fetch (가져오기)원격 저장소의 변경 사항을 가져오지만, 워킹 디렉토리에는 반영되지 않는다.사용 예git fetch # 원격 저장소의 변경 사항 가져오기2. Diff (차이점 비교) 변경 사항을 비교한다. 사용 예git diff # 워킹 디렉토리와 마지막 커밋 비교git diff abc123..def456 # 두 커밋 간의 차이 비교 3. Cherry-pick (특정 커밋 적용)다른 브랜치의 특정 커밋을 현재 브랜치에 적용한다.사용 예git cherry-pick abc123 # 특정 커밋을 현재 브랜치에 적용 4. Merge (병합)다른 브랜치의 변경 사항을 현재 브랜치에 병합한다.사.. 2024. 9. 17.
[Git/Github] Submodule 정리 Git과 Github에서 사용하는 서브모듈이란?Github 저장소 안에 다른 Github 저장소를 디렉토리로 분리해 넣는 것으로 프로젝트에서 외부 라이브러리를 가져다쓰는 경우에 사용한다.   1. Submodule 생성 1. 아래 명령어를 통해 Submodule을 생성한다.git submodule add [서브모듈 repository 주소] 2. .gitmodules 파일이 아래와 같은 형식으로 생성된다.[submodule [서브모듈 이름]] path = [서브모듈 위치] url = [서브모듈 url] branch = [서브모듈 branch]2. Submodule 업데이트(최신화)0. Submodule 초기화git submodule init 1. 아래 명령어를 통해 remote 저장소로부터 코드를 loc.. 2024. 9. 16.
[FreeRTOS] 동기화 xSemaphoreTake(), xSemaphoreGive() (뮤텍스 또는 세마포어)특정 자원을 보호하기 위해 세마포어 또는 뮤텍스를 사용하여 태스크 간 동기화를 위한 수단이다.※ 동기화란?2024.05.21 - [소프트웨어 공학 용어 정리] - [SW 용어] 동기화(Synchronization), 임계 영역(Critical Section) [SW 용어] 동기화(Synchronization), 임계 영역(Critical Section)동기화(Synchronization)1. 동기화는 시스템을 동시에 작동시키기 위해 여러 사건들을 조화시키는 것을 의미한다.2. 병행성과 관련해서 공유되는 자원에 대한 이해와 공유자원 사용과 관련해서 생길kfdd6630.tistory.com 세마포어는 하나의 태스크만 자원에.. 2024. 9. 15.
[FreeRTOS] 이진 세마포어, 뮤텍스 사용법 및 비교 세마포어(Semaphore)와 뮤텍스(Mutex)1. FreeRTOS에서 여러 태스크 간의 동기화와 공유 자원 보호를 위한 주요 동기화 도구이다.2. 이 두 개념은 태스크들이 동시에 접근할 수 없는 공유 자원(예: 하드웨어, 변수)을 안전하게 사용할 수 있도록 제어한다.3. 세마포어는 태스크 간의 동기화를 제공하고, 다수의 태스크가 자원에 접근할 수 있는지를 관리한다.4. 뮤텍스는 상호 배제를 통해 한 번에 하나의 태스크만 특정 자원에 접근할 수 있도록 한다.1. 세마포어(Semaphore)1. 세마포어는 특정 자원을 여러 태스크가 동시에 사용하지 못하도록 제어하는 데 사용된다.2. FreeRTOS에서 세마포어는 주로 이진(Binary) 세마포어와 카운팅(Counting) 세마포어로 나뉜다. 1.1. 이.. 2024. 9. 14.
[FreeRTOS] ISR 내에서 임계구역 설정 portSET_INTERRUPT_MASK_FROM_ISR(), portCLEAR_INTERRUPT_MASK_FROM_ISR()인터럽트 서비스 루틴(ISR) 내에서 임계 구역을 설정한다.사용예제UBaseType_t uxSavedInterruptStatus;uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();// ISR 내에서 보호되어야 하는 코드부portCLEAR_INTERRUPT_MASK_FROM_ISR(uxSavedInterruptStatus); 특징1. ISR에서 사용하도록 설계되었다.2. 임계 구역을 설정하여 다른 인터럽트가 중첩되지 않도록 한다. 2024. 9. 13.
반응형