📄 利用重载技巧实现最小代码尺寸.txt
字号:
/*
* 源自: NiosII.cublog.cn
* 作者: 蔡伟纲
* 声明: 本源码版权归作者所有,任何单位或个人不得以任何方式公开传播或转载.
* 功能: 利用重载技巧实现最小代码尺寸;
* 原理: 通过重载alt_main()函数实现;
* 注意事项:
* 1.在main函数之前,Crt0.S已经完成了下面的初始化工作:
* (1) 指令和数据缓存初始化;
* (2) 系统栈指针(sp寄存器)初始化;
* (3) 系统全局变量指针(gp寄存器)初始化;
* (4) 系统未初始化数据段(bss)清零;
* 更详细介绍请参考HAL揭密篇;
* 2.由于重载了alt_main()函数,因此所有外设(包括标准输入/输出/错误设备)均未初
* 始化,所以printf()无法正常工作;
* 3.本程序可运行于ISS模式下,无须任何硬件开发板的支持;
* 相关说明:
* 为了更确切的了解本范例实际运行过程及最终可执行文件的代码大小及布局,
* 请读者结合调试技巧之断点设置以及观察objdump文件亲自运行本范例.
*/
#include <stdlib.h>
#include "sys/alt_irq.h"
#include "system.h"
int main()
{
//TO DO Something...
asm("nop");
}
void alt_main (void)
{
/* 初始化中断控制器,开总中断并禁止所有硬件中断响应. */
alt_irq_init(ALT_IRQ_BASE);
/* 调用main()函数. */
main();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -