개발 블로그
[임베디드설계및실험]릴레이 모듈 이용한 STM32 동작_4주차 본문
실험 목적
1. 스캐터 파일의 이해 및 플래시 프로그래밍
2. 릴레이 모듈의 이해 및 임베디드 펌웨어를 통한 동작
3. 폴링 방식의 이해
실험 과정
1. 사전 지식
- scatter loading (분산 적재) 이란?
꺼내기의 한 형식으로 판독 모듈의 제어 섹션을 주기억 장치 가운데 각각의 장소에 적재(load)하는 것
-> 원하는 위치에서 읽기 위해 file을 분리하여 필요한 여러 곳에 적재(load)하는 것.
- scatter file 이란?
실행시킬 바이너리 이미지가 메모리에 로드될 때, 바이너리 이미지의 어떤 영역이 어느 주소에 어느 크기만큼 배치되야 할 지 작성한 파일
-> 필요한 이유는?
1) 바이너리의 여러 부븐을 각각 별개의 메모리 영역에 로드해야 될 때
2) 자주 사용되거나 빠른 실행을 요구하는 코드영역을 접근 시간이 빠른 메모리에 우선 배치할 수 있음.
- relay module (릴레이 모듈) 이란?
릴레이를 제어하는 모듈로, 스위치 역할.
전자석 원리로 전류가 흐르면(신호) 자기장을 형성해 자기력으로 자석을 끌어 당겼다가 전류가 흐르지 않으면 자석을 놓는 원리.
NC(Nomally Close): 평상시 close, 전류 흐르면(high) open (전원이 on일때 off)
NO(Nomally Open): 평상시 open, 전류 흐르면 close
COM(Common): 제어신호에 따라 NO 또는 NC에 접촉
2. 프로젝트 생성 및 스캐터 파일 생성
먼저 프로젝트 생성 후,
myicf.icf 스캐터 파일에 원하는 만큼의 메모리 영역을 할당한다.
[그림 2]에서 RAM(SRAM)과 ROM(Flash)의 시작 주소를 확인할 수 있다.
나는 RAM에 0x80000, ROM에 0x8000 만큼의 메모리를 할당하기 위해
RAM 시작주소 0x2000 0000에 크기 0x0008 0000을 더하고
ROM 시작주소 0x0800 0000에 크기 0x0000 8000을 더한다.
그리고 해당 파일을 업로드 한다.
3. 릴레이 모듈 이용한 회로 구성
나는 릴레이 모듈 사용을 위한 GPIO를 PC9로 설정했다.
[그림 6]을 참고해 릴레이 모듈 제어 신호(IN)와 보드의 PC9(릴레이 모듈 GPIO)를 연결하고
릴레이 모듈의 GND와 VCC를 각각 보드의 GND와 VCC와 연결한다. 그리고 COM과 전지를 모터에 연결하고, 전지를 릴레이 모듈의 NO와 연결한다.
'전공 공부 > 임베디드시스템설계및실험' 카테고리의 다른 글
[임베디드설계및실험]GPIO 사용해 LED 제어_3주차 (0) | 2022.09.18 |
---|