[ARM] Project : Pedestrian Safety Integrated Control System
ARM/Project2024. 5. 8. 22:55[ARM] Project : Pedestrian Safety Integrated Control System

Project : Pedestrian Safety Integrated Control System ⦁  개요 : STM32 ARM Cortex M4를 이용한 보행자 안전 통합 관제 시스템 개발 ⦁  기능     1. 횡단보도 차량 속도 경고 알림           1) 일정 속도를 초과하면 LED 점등     2. 에스컬레이터 일반인, 노약자 모드(자동 동작, 자동 멈춤, 에너지 절약)          1) 일반인 모드                a) 에스컬레이터 속도 : 빠름                b) 동작 : 보행자가 에스컬레이터 시작 위치를 지나가면 동작을 시작, 끝 위치에 도달하면 동작 종료                c) 일반인은 에스컬레이터를 걸어갈 수도, 가만히 서서갈 수도 있기 때문에 ..

[ARM] STM32_FreeRTOS, Shared Memory
ARM/2_Study2024. 4. 30. 00:23[ARM] STM32_FreeRTOS, Shared Memory

1.  OSProcess = 프로그램Thread = Process 내부에서 동작하는 프로그램Process → Process Direct Access 불가능 ⇒ IPC(Inter Process Communication) 사용 Windows, Linux : 범용 OS ← 8GB 이상임베디드용 OS : 제한된 기능(스케줄링, 메모리 제어) ← 10kB 이하종류 : RTOS, Micrium OS, …  OS 필수 기능⇒ 스케줄링프로세스가 실행되는 순서를 결정 FCFS(선착순)        : 프로세스는 준비 대기열에 도착한 순서대로 실행. 비선점형 스케줄링 알고리즘우선순위 스케줄링        : 각 프로세스에 우선순위 할당Round Robin(RR) ← 대부분의 OS에서 사용        : 각 프로세스에 실..

[ARM] STM32_Driver(CLCD I2C, Ultrasonic)
ARM/2_Study2024. 4. 26. 09:03[ARM] STM32_Driver(CLCD I2C, Ultrasonic)

1.  CLCD I2C   1-1.  CLCD 메모리 CGROM(Character Generator ROM)8비트 문자 패턴을 저장하고 있는 메모리208개의 5x8 도트와 32개의 5x10 도트의 문자 패턴 저장(9920bit)Character Code 0b0010 0000(공백) ~ 0b0111 1111(←)까지는 ASCII (아스키 코드) 와 일치          → c언어에서 문자로 표현된 데이터를 변환하지 않고 그대로 LCD에 출력 가능→ 위 표와 같이 문자가 CGROM에 저장되어 있고 저장된 문자를 DDRAM을 통해 화면에 출력→ 표 좌측 CGRAM(1) ~ CGRAM(8)은 사용자가 문자를 만들어 CGRAM에 저장하여 사용 가능 CGRAM(Character Generator RAM)사용자 정의..

[ARM] STM32_메모리 저장&실행 과정, Driver(Button, LED)
ARM/2_Study2024. 4. 26. 00:03[ARM] STM32_메모리 저장&실행 과정, Driver(Button, LED)

1.  메모리 저장 & 실행 과정 `main.c` 소스 파일 Compile → `main.o` 오브젝트 바이너리 코드 파일 변환 → Linker가 `main.elf` 실행 코드로 변환Flash Memory : 실행 코드 저장RAM : 데이터 저장  .elf 실행 코드가 flash Memory에 저장되는데 어떻게 저장? → 메모리는 각 section으로 나뉘어져 있음 .map 파일`.map` 파일에서 각 section을 어디에 저장시킬지 저장되어 있음. (네비게이션 역할)(.text : 사용자 정의 함수 등) LinkerScript 파일더보기/*********************************************************************************** @file ..

[ARM] STM32_Low level Programming
ARM/2_Study2024. 4. 24. 10:01[ARM] STM32_Low level Programming

1.  STM32F411RET6(ARM Cortex-M4) STM32f411RET6 특성Flash Memory : 512 kBytesRAM : 128 kBytesSpeed : 100 MHz   2.  STM32 구조 D-BUS : RAM BUSI-BUS : Flash Memory BUSS-BUS : 주변장치 BUS APB1, APB2 : Bus 이름→ ARM Architecture에서는 모든 peripheral, clock을 사용자가 설정해줘야함⇒ 복잡할 수 있지만 전력 소모에서 이득  3.  ioc를 이용한 설정 3-1.  Clock 설정  PLL회로 : 클럭 증폭→ NUCLEO 보드에는 8MHz 외부 크리스탈 오실레이터가 장착되어 있음..

[ARM] STM32_FND,DHT11
ARM/1_Study2024. 4. 8. 22:20[ARM] STM32_FND,DHT11

1. FND Common Cathode type D1 ~ D4 : Common pin → 0이면 ON, 1이면 OFF A ~ G : Segment pin → 1이면 해당 핀 ON DP : Decimal pin → 1이면 소수점 ON (1), (2) : Prescaler : 16-1 (3) : PB0 ~ PB7 : GPIO Output(A ~ DP), PC0 ~ PC3 : GPIO Output(D1 ~ D4) `SysTick_Handler()` : 1ms마다 실행 → `SystickCallBack()` 함수 1ms마다 실행 1-1. 2, 4번째 FND만 ON 더보기 void SystickCallBack()// Run every 1ms { // 2, 4번째 FND만 켜짐 static int pos = 0; ..

image