프로젝트 대표이미지
STM32MP1을 활용한 대기환경 모니터링 시스템
자작공작소 생성일2022. 10. 5 조회2075 좋아요0 스크랩0 댓글0
 
첨부 파일 비공개 기술 미판매 유사 개발 의뢰 미수락

퀘스트 4/7 - A7/M4 예제 응용 데모 시현 & Epilogue

2020. 5. 16 (토) 00:04 김정* 조회 292 좋아요 0 스크랩 0 댓글 0

1.STM32CubeMX와 STM32CubeIDE를 사용하여 작성하고 빌드된 M4 프로젝트의 디렉토리 구조를 출력하여 제출.


2.STM32CubeIDE상에서 USER1 버튼을 누를 때 Interrupt handler 또는 HAL callback에서 브레이크 포인트를 설정하여 캐치된 상태의 화면을 캡쳐하여 제출 (code symbol 창과 stack 창은 필수로 포함되어야 함)


3.M4 펌웨어를 linux 부팅시에 로딩되도록 포함한 뒤에 부팅 로그를 캡쳐하여 제출.


4.DK2 target 보드를 부팅(리셋)하여 바로 USER1 버튼을 누를 때마다 LD6가 토글되는 것(M4 펌웨어가 동작하는 것)을 영상으로 캡쳐하여 제출.

 

Epilogue

1. STM32CubeIDE 설치 후 STM32CubeMX 설치 (Eclipse base)

 - STM32CubeIDEA New Integrated Development Platformfor STM32 Embedded Solutions

 - STM32CubeMX for STM32 configuration and initialization C code generation


2. STM32 Project 생성
3. Device Configuration Tool에서 PA13, PA14 Pin설정
 - Cortex-M4용으로 설정하고 GPIO, NVIC(Nested Vectored Interrupt Controller)에서 EXTI(External Interrupt)를 설정
4. Save를 하거나 [Project > Generate]하면 위 환경을 반영한 기본 코드가 생성됨
5. 위에서 생성된 EXTI용 Callback함수를 main.c로 복사 후 과제 내용처럼 수정
6. Build 실행 후 에러 유무 확인

7. 통신 환경 확인

7. Debug환경 설정
8. Debug 실행하면 Build 후 생성된 ELF(Executable and Linkable Format)파일이 타켓보드로 복사되고 코드가 실행됨
9. EXTI용 Callback함수에 Breakpoint를 걸고 USER1키를 누른다.

10. 타겟보드에서 부팅 후 복사된 ELF 파일이 실행 되도록 쉘 스크립트인 /etc/profile.d/weston_profile.sh에 실행코드 추가

 - Linux remoteproc framework overview

 - 4.1.1 Remote processor boot through sysfs