수행기록퀘스트4

퀘스트 4/7 - A7/ M4 예제 응용 데모 시현
2020. 5. 13 (수) 02:12 문범* 조회 249 좋아요 0 스크랩 0 댓글 0

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

 

2. STM32CubeIDE상에서 USER1 버튼을 누를 때 Interrupt handler 또는 HAL callback에서 브레이크 포인트를 설정하여 캐치된 상태의 화면

 

처음에는 소스를

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
	if(GPIO_Pin == GPIO_PIN_14) {
		HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_13);
	}
}

이렇게 작성했는데 동작을 안하더라고요

stm32f4xx_hal_gpio.h
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

stm32mp1xx_hal_gpio.h
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin);
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin);

아예 외부인터럽트 콜백함수가 달랐습니다.

그런데 컴파일은 에러가 없었습니다.

 

3. M4 펌웨어를 linux 부팅시에 로딩되도록 포함한 뒤에 부팅 로그

 

동작과 상관은 없지만 첫줄 메세지가 깨지시는 분들은 sleep 1 으로 해결하세요.

 

 

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

로그인 후
참가 상태를 확인할 수 있습니다.