微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 跳转到绝对地址执行

跳转到绝对地址执行

时间:11-23 来源:互联网 点击:
IAPbootloader中经常使用到地址跳转,指定程序跳转到某一地址运行,例如强制跳转到0x2c去执行,则可使用(*((void (*)(void))0x2c)))();

实际上这是运用的函数指针,可以这样分解:

1,函数指针的定义为 void (* fd) (void); 省略参数的函数原型为

void (*)(void).

2, 0x2c, 这里的0x2c为地址,可以认为是变量(个人理解),可以理解为将变量0x2c进行强制类型转换,转换成函数指针类型,即(void(*)(void))0x2c.

3,调用函数。 (* (func) ) (); func 为函数指针(void(*)(void) )0x2c, 合起来就是 (* ( (void(*)(void) )0x2c) )();

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top