[应用相关] 如何跳转到指定位置去执行代码

[复制链接]
1143|11
 楼主| mutable 发表于 2022-1-24 17:37 | 显示全部楼层 |阅读模式
目的是分两处代码

就是比如默认从0X80000开始执行,我想在这个位置写一小段代码,划分一定的空间,

执行完之后,跳转到0x80200开始执行我真正的代码。

这个怎么跳转呢?
yljon 发表于 2022-1-25 07:48 | 显示全部楼层
楼主这里讲的应该是Bootload跳转吧
 楼主| mutable 发表于 2022-1-25 10:55 | 显示全部楼层
yljon 发表于 2022-1-25 07:48
楼主这里讲的应该是Bootload跳转吧

是不知道怎么跳转
kingkits 发表于 2022-1-25 13:15 | 显示全部楼层
1 有一种语言叫汇编
2
void test(void)
{
    void (* my_function)(void);
    my_function = (void (*)()) (0x8000);
    my_function();
}
Gavin3389 发表于 2022-1-25 17:49 | 显示全部楼层
kingkits 发表于 2022-1-25 13:15
1 有一种语言叫汇编
2
void test(void)

汇编可能大部分人不是很熟悉

回头试试C,感谢分享
drer 发表于 2022-2-7 13:27 | 显示全部楼层
这个需要指定地址哈
coshi 发表于 2022-2-7 14:17 | 显示全部楼层
使用汇编语言进行跳转
kxsi 发表于 2022-2-7 15:04 | 显示全部楼层
为什么要把它分开呢
wiba 发表于 2022-2-7 15:39 | 显示全部楼层
是不是只能通过汇编语言来实现呢
qcliu 发表于 2022-2-7 16:22 | 显示全部楼层
使用指针也可以实现的
skyred 发表于 2022-2-9 11:22 | 显示全部楼层
看看iap升级的例子
wooda 发表于 2022-2-9 12:36 | 显示全部楼层
如果能操作堆栈可以直接修改返回地址然后函数退出就行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

598

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部