我对硬件板和硬件编码很着迷。我要开始?

时间:2011-08-05 17:00:08

标签: embedded

我已经是一名软件开发人员,但日常业务工作既不挑战也不提高我的技能。

我不知道这些嵌入式内容是如何工作的,即使运行hello world程序也需要做些什么设置。

所以我正在寻找非常基础的开发板,它支持C语言。 不是很复杂或者是高处理。因为这对刚开始的人来说就是过度杀戮。 如果我能够理解如何处理小型设备。我会学习其他上层板。因为它是自我节奏和自我教学。我不想跳过一个复杂的董事会,因为那曾经发生在我身上。我有LPC 21xx板,设备齐全。有很好的空间来创建程序并运行它们。 但我在零回合被淘汰了。无法想出更多,然后插入计算机并打开它。 所以建议我简单的板,如果它支持usb会很好,因为我的笔记本电脑没有串口。如果没有任何问题,我希望有一些usb串行。 :) 请帮忙。我真的想学习它。

3 个答案:

答案 0 :(得分:3)

arduino非常友好,但部分原因是因为他们隐藏了你想要学习的东西。你仍然可以在arduino上使用金属

winarm家伙有很多示例程序可以帮助你入门。

Sparkfun是大多数电路板在美国的地方。现在sam7-h64正在发售,atmel有一个用于覆盖电路板问题加载的工具。你可以在那里买一个mbed,现在枫树在那里,coridium armmite pro和arduino变种的plethera。和msp430的启动板。无论我推荐什么样的msp430启动板,只需4.30美元,非常漂亮的架构,usb线(附带它?)就是你所需要的。

另一款TI产品是基于cortex-m3的芯片/评估板的stellaris系列。 811很容易砖,我会避免它,随附你需要的一切。电路板上滴着好吃的东西,oled显示屏,按钮等。

在某些时候,你需要用openocd弄湿你的脚。 Amontek制作了jtag-tiny,这是一个非常漂亮的手臂jtag wiggler。许多评估板都有ftdi芯片,它们处理usb到串口和usb到jtag,googling将显示有关如何使用openocd连接和加载的大量信息。

另一条路是qemu。支持stellaris板/芯片或少数和其他芯片系列,因此您可以学习编译/构建程序以及编程一些外设,而无需弄清楚加载部分。

atmel avr蝴蝶仍然可以20美元购买。三根电线插入串口连接器,你可以编程。董事会有东西可以学习编程等。

我建议不要将自己限制在一个处理器系列(avr,arm,msp430等)或一个芯片供应商(lpc,atmel,ti等)。许多这些主板的价格低于50美元,有些低于25美元(以10美元的价格查看ez430附加主板3,发射台可能可以对其进行编程,否则ez430为20美元)。 (大多数arduino系列需要额外的USB串口加功率,这几乎是成本的两倍,也要小心注意5V和3.3V板,所以你不要融化任何东西,真的好主意得到一些不同的ftdi无论如何,从sparkfun到串口分线板。)

答案 1 :(得分:2)

我不知道你是否听说过Arduino ...它是一个很好的开始硬件平台,用C ++编程的USB编程。板子只有30美元所以它也很便宜。

答案 2 :(得分:0)

stm32l-discovery 14 $ for stm32(16kb ram + 128kb flash + 4kb eeprom)+ stlink2 on board,你只需要一根usb-cable。一定要得到l版本,而不是vl,l-有较慢的cpu但是一个lcd和一些触摸敏感按钮。我之前是一名普通的c开发人员,但在嵌入式市场找到了一份工作,我们使用相同的处理器。在一个月内,我从未使用过任何汇编程序,除了你无法有效地使用动态分配外,其经验与为pc编程没有太大的不同。但这并不重要,因为你可以控制所有内存和时序以及所有硬件。 iar kickstart工具也很棒,特别是调试器 - 它很快,你甚至可以连接到正在运行的进程。 IAR IDE中的编辑很糟糕。它仍然不支持2011年的unicode和eclipse中的“outline”之类的东西。 IDE仍然很好地与硬件集成。你也得到了stdperiph。来自stm的图书馆。它有点在英国媒体报道软件方面,但您可以混合和匹配您喜欢的模块,或者如果它使代码更易读或更小,则选择使用原始寄存器。无论如何,如果你对我的经历感兴趣,请不要问。我也会建议反对avr,因为它们的成本/性能比他们比stm差很多。我在上个月移植了很多avr代码(avr有一些供应问题),即使avr有16 Mhz而stm32只有32,它更快,更可配置,并且有更多的periferials也更容易PROGRAMM。 Cortex-M3控制器离PC很近,你不需要优化很多,32位宽的字用于计算可以免除你的痛苦。 M3使用位带和可配置的中断优先级等编程更加舒适。