有经验的程序员的嵌入式系统项目

时间:2009-08-14 15:15:23

标签: projects embedded

我作为嵌入式系统软件工程师已经工作了5年(更多的是CAN和核心级编程,I2C,SPI),我参加了一个研究生课程。目前我是一名应用软件程序员,也很有趣。但是,我对嵌入式系统项目的乐趣和满足感都缺失了。我想开始我可以在家做的项目,以保持我的兴趣。如果您有任何人可以与16位或32位微型开发套件共享有关外围设备的信息,我将不胜感激。或者建议重新开始的好地方。

11 个答案:

答案 0 :(得分:8)

Luminary微板很好。 Olimex板很好,http://www.sparkfun.com是olimex和其他人的好地方。我不喜欢avr指令集,但它们非常受欢迎,arduino pro,你可以在sparkfun或lilypad取决于他们当时的库存。 armmite看起来不错,昨天刚订购了一个。与ARM一样,msp430具有非常好的指令集。 stellaris主板可能是最好的选择与片上外设,以学习如何交谈。他们越来越多地试图隐藏在api中的魔法,这违背了目的。最后买了一个stm32引物1和引物2最近,非常失望,如果你必须使用primer1,但如果你觉得需要stm32去olimex板。如果olimex有一个stellaris标题(由sparkfun出售),我会全力以赴。

答案 1 :(得分:4)

我会查看您当地的电子产品经销商有哪些(您没有说明您的位置)。

在美国,您可以查看Sparkfun

最容易设置的是8位Atmel AVR控制器,7805和面包板上的一些电容器,以及程序员。 AVR的GNU工具(gcc等)非常好。

ARM Cortex M3是一个小型的32位架构,非常新颖,因此可能会让您领先于曲线。 Luminary和ST(STM32F)控制器存在一段时间,恩智浦(前飞利浦)LPC17xx控制器即将发布。

对于完全不同的东西,FPGA也很酷。有相对便宜的电路板(~150欧元),上面有许多硬件,针对学生。

答案 2 :(得分:2)

这可能是一个非传统的建议,但我和一群朋友今年去了Defcon,得到了badges。上面出现的微型电脑非常棒。我们虽然没有had much experience on the hardware side,但是他们拥有丰富的软件技能并且还有很多技能。

freescale DSP微程序以及codewarrior证明是一种令人愉快的体验。除了必须在我的windows xp vm中做所有事情。

在任何情况下,它听起来都在你的胡同.. UART可编程,i2c接口,大量可编程引脚,内部时钟..希望这有帮助

答案 3 :(得分:2)

在玩了一些这些东西后,我建议使用Luminary Micro的Stellaris开发板作为开始使用的好地方。他们所基于的ARM Cortex-M3是一个32位架构,从桌面世界来看很方便,看起来像是微型8位微控制器和Beagleboard中ARM Cortex A8等功能更强大的中端产品。运行Linux。电路板本身有一套漂亮的“有趣”外围设备 - 通常是小型LED屏幕,一些按钮,micro-SD卡插槽和以太网端口。更重要的是,他们有了板载调试硬件,可以将程序加载到电路板上,等等;而不需要为此购买和连接外部调试设备,只需插入USB线即可。

(免责声明:我的公司为这些公司销售开发软件,所以我不完全不偏不倚。另外,我应该注意,我是在为自己和我个人的意见而不是为我的公司发言。)

答案 4 :(得分:1)

AVR uControllers非常受欢迎,当然8051永远不会消失。我有两个项目让我感兴趣(但嵌入式不是我的一杯茶)。它们是宽带O2控制器(是的,我知道已有设备用于此,它看起来是一项具有挑战性的努力)和非常小规模的电子燃油喷射。 (是的,我知道也有中等规模的项目)。

只是一个想法。

答案 5 :(得分:1)

考虑为Linux开源设备驱动程序做出贡献。这应该满足你的低级要求,并在此过程中帮助他人。我意识到这并不是严格意义上的嵌入式开发,但它可能会给你一些相同的冲动。

答案 6 :(得分:0)

您是否尝试过Amazon.com? Something like this maybe?您在寻找什么级别的复杂性?

答案 7 :(得分:0)

Subha - 如果您是以Linux为中心的开发人员,或者您对学习嵌入式Linux感兴趣,TinCanTool's Hammer Board是一个非常有趣的选择。它使用Samsung micro,开发硬件有一些慷慨的外设,包括UART,SPI,I2C和USB接口。

我拥有其中一块板,不仅对结构和功能感到满意,而且支持非常好。你可以得到一套完整的套装,包括大约240美元的程序员。

答案 8 :(得分:0)

原始PC架构感觉有点像嵌入式系统 - 现代PC几乎完全向后兼容。

我为PC编写了一个简单的实模式先发制人多任务系统,后来也创建了一个保护模式系统 - 所有这些都是汇编语言。没有多少人会认为这是一堆乐趣,但我确实如此。

首先是VGA - 我认为它的设计非常适合它的时间(不是原始PC的真正部分,但无论如何都得到了广泛的支持)。文档可能有点神秘,但VGA设法将向后兼容性,易用性(无论对于经验丰富的嵌入式程序员)和一些不错的速度提升功能结合在一起。

然后是并行端口 - 连接一些LED - 或更复杂的东西!您也可以编写一个由端口触发的中断处理程序。我通过并行端口使用脉冲宽度调制驱动扬声器。

你可以使用定时器芯片(其中一个定时器可以产生“时钟滴答”中断,另一个可以用来通过内部扬声器播放方波)。

您可以在DOS中启动,并替换部分内容 - 或者您可以直接从磁盘启动并限制为调用BIOS功能。如果你想进入保护模式你也会失去它,并且基本上必须编写你自己的设备驱动程序 - 例如向磁盘发出请求,通过DMA发送扇区......

我个人喜欢x86程序集 - 用于汇编编程。如果你打算使用编译器来生成它,这是一个愚蠢的指令集,但是对于汇编编程它是相当不错的。

这类东西可以教你很多关于操作系统和语言实现的知识。它可能会让你进入虚拟化和分布式编程等领域......

答案 9 :(得分:0)

对于32位嵌入式系统,我一直很喜欢LinuxStamp(theLinuxStamp.com)。然而,为了更便宜,你可以在亚马逊或eBay上获得Linksys NSLU2。然后查找unlung和/或slug OS以便在开发中启动。它将为您提供一个完整的Linux系统,您可以开始编程。

答案 10 :(得分:0)

你应该从leaflabs http://leaflabs.com/查看新项目枫树,它基本上是一个STM32 Cortex M3 32位micro,有一个arduino界面,它看起来像一个伟大而有趣的尝试,50美元你不会是能够找到这个价格的许多开发套件。