2013-12-21 1 views
0

이 코드는 LPC에 IAP의 일부는 다음과 같습니다IAP LPC 마이크로 컨트롤러에

#define IAP_LOCATION 0x7ffffff1 
... 
unsigned long command[5]; 
unsigned long result[3]; 
... 
typedef void (*IAP)(unsigned int [],unsigned int[]); 
IAP iap_entry; 

iap_entry = (IAP) IAP_LOCATION; 

iap_entry(command, result); 

사람은 특히, 어떻게 작동하는지 설명 할 수 :

iap_entry = (IAP) IAP_LOCATION; 
iap_entry(command, result) 

답변

2
typedef void (*IAP)(unsigned int [],unsigned int[]); 

IAP입니다 유형 포인터 (unsigned int[],) 주소 IAP_LOCATION에서 몇 가지 코드가있다 void

iap_entry = (IAP) IAP_LOCATION; 

반환). 그것을 C 함수로 취급하십시오. 하드웨어의 조각이 미리 컴파일 된 코드를 사용하여 ROM이 포함 된 경우

iap_entry(command, result); 

전화 기능


는 일반적으로이 문제가 발생합니다. C 컴파일러에게이 코드가 어디에 있는지, 그리고 예상되는 인수 타입을 알려줘야한다.

+0

+1 예 - IAP 엔트리 포인트입니다 (응용 프로그램 프로그래밍 - 플래시). 그 정렬되지 않은 주소와 함께 할 수있는 마법이 있습니다. 무엇을 잊어 버리세요. –

+1

엄지 손가락 비트는 Cortex M에 대해 설정되어야합니다. –

관련 문제