정말 어처구니 없는 버그? 현상

chocokeki의 이미지

아무리 머리를 굴려봐도 이유를 모르겠습니다.
struct의 4B align 문제는 아닙니다.
stack이 꽉찼나...?

혹시 아래를 보시고 뭔가 생각 나시는게 있으면 암꺼나 말해주십시오

환경
Cortex M7 계열 MCU

컴파일러 : arm-none-eabi-gcc 6.2.1(gcc version 6.2.1 20161205 (release) [ARM/embedded-6-branch revision 243739] (Atmel build: 496))

현상
변수에 값이 안 들어감

코드

typedef struct {
	uint8_t id;
	uint8_t value;
}help_t;
 
int example(void)
{
	help_t 	help = {
		.id = 0xab,
		.value = 0x00
	};		//값이 들어가지 않음
 
	기타 함수 호출 등등
 
	help_function(help);
 
	return 0;
}
 
int example(void)
{
	변수 선언
	기타 함수호출 등등
	help_t 	help;
 
	//값이 들어가지 않음
	help.id = 0xab;		
	help.value = 0x00;	
 
	기타 함수 호출 등등
	help_function(help);
 
	return 0;
}
 
int example(void)
{
	변수 선언
	help_t 	help;
 
	함수 호출 등등
	help.id = 0xab;
	help.value = 0x00;
	// 값이 들어감(유일한 정상)
 
	help_function(help);
 
	return 0;
}

chocokeki의 이미지

자문자답 : 스택을 넘어간 것 같습니다