我没有任何关于编码的问题。我关心的是独立于任何特定编程语言的嵌入式系统编程。
由于我是嵌入式编程领域的新手,我非常感谢那些自认为经验丰富的嵌入式系统程序员的响应。
我基本上有两个问题。
我相信以上问题的答案对于嵌入式世界中的任何新手程序员来说都是一个很好的起点。
发布于 2012-10-07 07:55:19
的宽模式
随着嵌入式系统开始有更多的内存和处理器可用,从裸金属转向实时内核,转向Linux和Windows的嵌入式版本,甚至是Android,我怀疑它们会采纳所有这些模式,甚至更多。
不确定如何制作表,但可以评估列表是否适合在裸金属、RTK或OS上实现。可能存在依赖于计算机语言的变体,汇编程序或嵌入式C++可能受到限制,C缺乏面向对象以方便某些模式,而C++ (或其特性)要么不可用,要么被米斯拉等编码标准所禁止。
的实时交互
一些嵌入式系统项目禁止使用动态内存。这给一些模式带来了真正的障碍。其他人可能会伤害或帮助所需的内存量。使用托管代码技术可以在垃圾收集期间引入不必要的延迟。
我相信以上问题的答案对于嵌入式世界中的任何新手程序员来说都是一个很好的起点。
我认为这句话有点过头了。模式是一种元概念,不能替代诸如内存映射、编程外围设备(如计时器、uarts、SPI、I2C、ATOD/DTOA、脉宽调制等)或创建中断服务例程等向下和肮脏的细节。如果您使用的是操作系统,您将需要某种板卡支持包。如果您使用的是COTS,您需要评估哪些产品。
如果您正在做自定义硬件,则需要与电气工程师进行交互,并进行一些培训,以处理阅读示意图、阅读(或可能编写)数据表和操作理论文件的问题。使用示波器、逻辑分析仪、JTAG或电路内仿真器以及基于IDE的Windows、Linux甚至Mac交叉开发工具等测试设备。
栈交换中的
在51区有一个用于Stack Exchange的嵌入式系统站点,处于承诺阶段。由于有两年的时间限制,它已关闭。有几个嵌入式相关的提议,包括Raspberry的测试版,一个有两个追随者的BeagleBoard,以及一个Arduino提案,也是关闭的。
http://area51.stackexchange.com/proposals/15961/embedded-system-design-and-development
有一个重新开放或重新提议一个网站的程序。如果有人愿意,我们试试看。
https://softwareengineering.stackexchange.com/questions/167843
复制相似问题