我作为嵌入式系统的初学者正在工作,并且遇到了在main()函数开始之前运行的start.s
或cstart
文件之类的文件。这些或类似文件的目的是什么?我们要告诉系统什么信息?
最佳答案
至少接近最低限度,在main()设置“C环境”之前的启动代码:它初始化堆栈指针,将已初始化的变量值(.data)从非 Volatile 存储器复制到RAM,并将所有未初始化的变量(.bss)设置为零。
根据体系结构,您可能需要做更多的事情。在进入main()继续系统引导之前,您可能需要初始化时钟和/或其他关键外围设备,中断 vector ,可能设置处理器上下文等。
关于c - 系统开始运行main()之前会发生什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39600968/