본문 바로가기

분류 전체보기74

S32K144EVB를 이용한 ADC 실습(2) 이전 포스팅에서 S32 Design Studio for S32 Platform에서 FreeMaster사용을 위한 Setting을 완료하였습니다. 이제 FreeMaster를 실행하여 실습을 위한 Setting을 진행하도록 하겠습니다. FreeMASTER 프로젝트 생성 및 모니터링 파라미터 추가하기 1. FreeMASTER 3.2 실행 2. 장치 관리자에서 S32K144EVB가 USB 어떤 포터에 연결되었는지 확인 3. Target 보드와 UART 연결하기 default 값으로 진행하다가 Baud -rates to probe를 9600으로 설정해줍니다. 4-1. *.elf 파일 연계하여 변수 연결하기 4-2. *.elf 파일 연계하여 변수 연결하기 : 변수 확인 5. Variable Watch에 모니터링 변.. 2024. 1. 24.
S32K144EVB를 이용한 ADC 실습(1) S32K144EVB를 이용하여 ADC 테스트를 하는 실습을 진행해보도록 하겠습니다. 추가로 실습환경 구축단계에서 설치했던 FreeMASTER 를 이용해 모니터링까지 진행하겠습니다. ADC 실습 포텐션 미터로 들어온 0 ~ 5V 전압을 ADC0로 측정한 결과값을 모니터링 포텐션 미터 정보 : ADC0_SE12 1. GPIO 추가 LED OUT : Full-up - PTD0 : Blue LED - PTD15 : Red LED - PTD16 : Green LED 2. ADC 포터 추가하기 Potentiometer : ADC0 - PTC14(SE12) 3-1. ADC Peripheral 설정 3-2. ADC Peripheral 설정 : Default – 12bit ADC, SW trigger 3-3-1. ADC.. 2024. 1. 24.
S32K144EVB를 이용한 LED 실습 이전 포스팅에서 S32 Design Studio for S32 Platform과 S32K144EVB를 사용하기 위한 실습환경 구축을 완료했습니다. 해당 실습환경을 바탕으로 LED ON-OFF실습을 진행해보도록 하겠습니다. LED ON-OFF실습 1. S32DS 실행 : 신규 프로젝트 생성 2. 프로젝트 이름, MCU 선정, Toolchain 선택 3. SDK 선택 4. 생성된 프로젝트 및 Main.c 코드 5. LED Port 설정 LED RED : PTD15 LED GREEN : PTD16 LED BLUE : PTD0 6. Peripherals 설정 : 설정 완료 후 Update Code 클릭 7. Build 8. #define 추가 : LED #define EVB #ifdef EVB #define P.. 2024. 1. 24.
S32K144EVB 실습 환경 구축 이번 포스팅 부터는 NXP사의 S32K144EVB 보드를 이용해 프로그래밍을 진행하려합니다. 해당 보드에 대해 먼저 설명드리고 실습환경에 대한 설명과 실습환경 구축을 진행하겠습니다. S32K144EVB S32K144EVB는 NXP Semiconductors에서 제공하는 S32K 시리즈의 마이크로컨트롤러 개발 보드입니다. 이 보드는 자동차 및 자동화된 응용 분야에 사용되는 안전하고 신뢰성 있는 제어 시스템을 개발하기 위한 목적으로 디자인되었습니다. S32K144EVB에 대한 주요 특징과 성능 마이크로컨트롤러 - S32K144EVB는 ARM Cortex-M4 코어를 기반으로 한 S32K144 마이크로컨트롤러를 사용합니다. - 고성능 및 저전력 요구 사항을 충족하기 위한 32비트 아키텍처를 제공합니다. 메모리.. 2024. 1. 24.
Mutex Mutex OSEK RTOS에서 “Mutex(뮤텍스)“는 공유 자원에 대한 접근을 동기화하기 위한 동기화 메커니즘 중 하나입니다. 뮤텍스는 Mutual Exclusion(상호 배제)의 약자로, 한 번에 하나의 태스크만이 특정 공유 자원에 접근할 수 있도록 보장합니다. 이를 통해 경쟁 조건(Race Condition)을 방지하고 데이터의 일관성을 유지할 수 있습니다. 뮤텍스를 사용하는 OSEK API 함수는 주로 다음과 같습니다: • GetResource(mutexName): 뮤텍스를 획득(락)합니다. 이미 다른 태스크에 의해 획득된 뮤텍스에 대해선 해당 태스크는 대기 상태로 전이됩니다. • ReleaseResource(mutexName): 획득한 뮤텍스를 반납(언락)합니다. 실습을 진행하며 mutex에 .. 2024. 1. 21.
Race condition & Resource Race condition Race Condition은 멀티스레드 또는 멀티태스킹 환경에서 여러 스레드 또는 태스크가 공유된 자원에 동시에 접근하려고 할 때 발생하는 문제를 나타냅니다. OSEK RTOS 환경에서도 race condition이 발생할 수 있습니다. Race Condition이 발생하는 상황은 주로 다음과 같습니다: 공유 자원에 동시 접근: 여러 태스크가 동시에 공유 변수, 자료구조, 메모리 영역 등에 접근할 때 발생합니다. 스케줄링의 불확실성: 다양한 태스크들이 스케줄링에 의해 실행되는 순서가 예측하기 어려울 때 발생합니다. 비원자적 연산 수행: 여러 단계로 이뤄진 연산 중 일부 단계만 수행되고 다른 태스크가 끼어들어 해당 연산을 완전히 수행하기 전에 결과를 읽는 경우 등이 해당됩니다. .. 2024. 1. 21.