嵌入式系统的设计/实现模式

时间:2010-11-24 06:56:32

标签: design-patterns tdd embedded

嵌入式系统的设计和/或实施模式是否有任何良好的来源?图书或良好的网络资源。

主题可能是:

  • 关于将寄存器地址与驱动程序实现分开的典型方法的思考。
  • 或者使用/构建硬件抽象层的做法,以及如何从中获得最大收益。
  • 为多个硬件修订/平台构建相同的代码库。
  • 优先考虑ISR并将它们分成时间关键部分,并在时间允许的情况下执行。
  • 嵌入式系统的单元测试甚至测试驱动开发?

我想我要求的是GoF的内容,但专注于嵌入式软件开发。

由于

3 个答案:

答案 0 :(得分:2)

我还没读过,但布鲁斯鲍威尔道格拉斯有一本名为“Design Patterns for Embedded Systems in C”的新书。

该书的描述指出:

  

作者仔细考虑   考虑到特殊问题   设计和开发嵌入式   应用程序特别并发,   沟通,速度和记忆   的使用。

主题看起来还包括硬件访问,状态机,去抖动和资源管理。

答案 1 :(得分:0)

我只读了Design Patterns for Embedded System in C,仅第三章的前两半

我不会对这本书做出结论,相反,我正在向您提供消息,表明本书示例代码的一部分不可运行。

这是本书的摘录代码。

typedef struct MotorProxy MotorProxy;
struct MotorProxy
{
    unsigned int* motorAddr;
    unsigned int rotaryArmLength;
};

void MotorProxy_disable(MotorProxy* const me)
{
    if(!me->motorData)    //wrong! should be me->motorAddr
    {
        return;
    }
    me->motorAddr &= 0xFFFE;
}

在某些情况下,例如缺少冒号,错字等。

答案 2 :(得分:0)

我认为嵌入式世界缺少好的书籍和资源。 这是我的建议。希望您会发现有趣的信息。

test-driven development for embedded C是一本精美的书,可以为您在测试驱动设计的重要领域中提供一个良好的开端。 目前,这是我到目前为止发现的最好的嵌入式TDD知识库。

the art of designing embedded system是一本综合性的书,其中包含许多不同的建议。 大多数设备都很棒,这本书是十年前写的,所以很多想法和框架都被认为是陈旧的,但是观点却是挑衅和令人兴奋的。 我学到了许多小技巧,这些技巧改变了我看嵌入式世界的方式。作者热衷于最佳做法和权衡取舍, 我从那本书中学到的是使用纯函数的重要性,它可以帮助我避免愚蠢的无法检测到的错误。

以下建议并非特别来自嵌入式,但它对我有很多更好的代码,clean codeclean architecture书有很大帮助。它们是为更高层的语言编写的,但原理是相同的,好的代码是好的代码,那些书给了我不同的观点,认为什么是好的以及什么是代码技巧,我等着程序员来编写这样的书。关于嵌入式系统世界的书。

最后的建议是浏览barrgroup网站,该网站具有出色的网络研讨会和出色的代码标准。 他们还为嵌入式课程提供了一个平台,我认为,它们强调了在TDD敏捷环境中开发的基本方面。

我希望这些参考资料可以为您提供帮助,同时也等待其他答案。