我目前正在与一个业余摇滚乐队合作(好吧,"业余",我们所有人都已经完成,已经注册或申请了相关的大学学位课程),以便将卫星发送到轨道.到目前为止主要完成了高级编程(VB.NET,Python,PHP),在FIG-FORTH中有点涉猎,我想知道要学习和使用什么语言来编程态度控制/航空电子系统载体航天器.
当然,由于速度和存储方面的效率在这里都是一个大问题,所以我想到的一件事是大会.我的问题:这样做是否可行,即在大会中编程自动姿态控制系统?
在这种极低级别的编程语言中,这似乎非常复杂,所以我想知道在这个领域有更多经验的人是否可以权衡Assembly是否是一个不错的选择,或者是否还有一些低级别的东西但是比FORTH,FORTRAN或C稍微容易处理会比节目大小和速度方面的惩罚相比节省大量时间.
作为过去做过很多嵌入式系统编程的人,我强烈建议你用C编写原型.这样你就可以专注于你的算法,控制流程和错误处理,而不会陷入索引模式的细节之中.和个别指令优化.最重要的是你的控制系统确实有效.
C中原型设计的另一个好处是,您可以在具有现代开发工具的Windows或Linux系统上进行大部分原型设计:编辑器,开发环境,调试器等.这对周转时间产生巨大影响.
在您证明您的算法是合理的之后,您可以对系统进行分析以确定它占用多少内存以及它是否足够快.嵌入式系统有很多优秀的C编译器,如果你使用高效的算法,很可能系统效率很高,而不必深入研究手工编写的汇编语言.请记住,良好的算法选择可以为您提供数量级的速度提升.在大多数情况下,手动编码汇编语言只能(最多)提供小倍数的性能增益.通常,改善的比例很小(低于10%).
让它起作用.然后让它小而快.
至于学习汇编语言,我认为每个程序员都应该.哪个处理器并不重要.我不同意有关学习x86作为第一种汇编语言的评论.关键课程与特定指令集或注册组织几乎没有关系.最重要的是学会在较低层次思考:按指令而不是按语句.我个人认识几十个程序员,他们的第一个汇编语言是x86,而且我没有发现它们比任何学习其他汇编语言的人更好或更差.学习x86的好处很多:有很多人可以学习,有很多很好的教程信息,有几个好的免费汇编程序,甚至是模拟器和开发环境,所有免费和良好的支持.出于这些原因,我很难为首次汇编语言推荐其他任何东西.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |