此代码是LPC上IAP的一部分:
#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)发布于 2013-12-21 17:12:54
typedef void (*IAP)(unsigned int [],unsigned int[]);( function(unsigned int[],unsigned int[]__)返回void的类型指针
iap_entry = (IAP) IAP_LOCATION;地址IAP_LOCATION上有一些代码。把它当作一个C函数。
iap_entry(command, result);调用函数
通常,当一段硬件包含带有预编译代码的ROM时,就会发生这种情况。您必须告诉C编译器这段代码在内存中的位置,以及它所期望的参数类型。
https://stackoverflow.com/questions/20721465
复制相似问题