[Q&A]关于入口函数的一个疑问
注:这里以一般ARM体系结构和裸机程序为例,来探讨问题。
ARM芯片一上电,就处在Reset状态,Reset也是异常的一种,其异常向量是0x00。
单纯的从ARM体系结构来讲,ARM一上电,就处在Reset异常,那么ARM就会去执行异常向量表0x00处的代码,然后整个程序就从这里爆发。
从上面的阐述来看,我们并不需要规定程序的入口函数,因为ARM复位后总是从0x00处开始执行,当然我们这里讨论的仅仅是裸机程序。
我的猜想:
“入口函数”只是针对有OS的系统来说的。当我们规定了程序的入口数,那么在程序运行的时候,OS会负责找到程序的“入口”,然后让PC指到这个“入口”,然后程序就从这个“入口”爆发。
以上是我的一点愚见,同时它也是我的困扰。希望有相关经验的同学,能够指点一二。