由于arm没有浮点协处理器,所以需要一个模拟浮点机制,在配置内核时一定要选择一个浮点模拟器NWFPE,NWFPE模拟浮点是利用了undefined instrction handler,这么做带来的后果是带来极频繁的exception,大大增加中断延迟换句话说,降低系统实时性 怎么办?——使用软浮点!
软浮点支持是由交叉工具链提供的功能,与Linux内核无关。当使用软浮点工具链编译浮点操作时,编译器会用内联的浮点库替换掉浮点操作,使得生成的机器码完全不含浮点指令,但是又能够完成正确的浮点操作
在网上有一个帖子对这个问题描述的比较清楚,原帖在http://forum.linuxbj.com/modules/newbb/viewtopic.php?topic_id=10&forum=4,提供的ZIX开发环境包含了软浮点的范例。
|