定义函数void (* my_function)(void);
在程序中赋值:
my_function = 0x00;
然后调用函数:
my_function();
程序就会跳转到0x00地址开始执行,常用于BootLoader程序中.
类似的还有直接向某个地址写入数据:
int *my_address = 0x05555555;
*my_address = 0x22222222;
直接向0x05555555地址写入数据0x22222222.
本文介绍如何使用函数指针直接调用特定内存地址的代码,并演示了如何直接向指定内存地址写入数据。这两种技术在BootLoader等底层程序开发中较为常见。
定义函数void (* my_function)(void);
在程序中赋值:
my_function = 0x00;
然后调用函数:
my_function();
程序就会跳转到0x00地址开始执行,常用于BootLoader程序中.
类似的还有直接向某个地址写入数据:
int *my_address = 0x05555555;
*my_address = 0x22222222;
直接向0x05555555地址写入数据0x22222222.
您可能感兴趣的与本文相关的镜像
EmotiVoice
EmotiVoice是由网易有道AI算法团队开源的一块国产TTS语音合成引擎,支持中英文双语,包含2000多种不同的音色,以及特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。
613
7128
556
1万+

被折叠的 条评论
为什么被折叠?