dou*_*leE -2 c embedded
我已经阅读了几个嵌入式项目,并且在所有这些项目中,引导加载程序是用汇编而不是C编写的.这有什么理由吗?
R..*_*R.. 6
通常至少入口点存根以及可能转换到真实内核需要在汇编中编写,因为它们涉及在C中无法表示的控制传递/调用约定约束.例如,如果引导加载程序需要初始化在堆栈可用之前指向ram的堆栈指针,如果没有笨拙的编译器扩展,这不能用C表示.但是,通常可以将写入的数量保持为非常小并且与这些类型的边界隔离.如果引导加载程序的其余部分也是用asm编写的,那通常表明作者很难评估成本(维护,错误等)与收益(可能更小的尺寸).
归档时间:
9 年,10 月 前
查看次数:
277 次
最近记录: