首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌入式系统编程中常见的设计模式

嵌入式系统编程中常见的设计模式
EN

Software Engineering用户
提问于 2012-10-07 05:12:44
回答 1查看 9.1K关注 0票数 4

我没有任何关于编码的问题。我关心的是独立于任何特定编程语言的嵌入式系统编程。

由于我是嵌入式编程领域的新手,我非常感谢那些自认为经验丰富的嵌入式系统程序员的响应。

我基本上有两个问题。

  1. 在下面列出的设计模式中,有在嵌入式系统编程中经常看到的吗?
    • 抽象-发生模式
    • 一般层次模式
    • 角色模式
    • 单例模式
    • 观测器模式
    • 委托模式
    • 适配器模式
    • 立面图案
    • 不变模式
    • 只读接口模式
    • 代理模式

  2. 作为一名经验丰富的嵌入式开发人员,您作为个人,遇到了什么设计模式?没有必要描述细节。只有模式名称就足够了。请分享你自己的经历。

我相信以上问题的答案对于嵌入式世界中的任何新手程序员来说都是一个很好的起点。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 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

有一个重新开放或重新提议一个网站的程序。如果有人愿意,我们试试看。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/167843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档