我正在尝试改进ARM架构上的嵌入式C / C ++开发。我最近从68K开发转向ARM,并希望利用我的业余时间深入挖掘平台并学习最佳实践,特别是在开发移动平台时。
最好32位架构有助于支持开发工具。学习过程中的一些乐趣可能会增强我对平台的理解
答案 0 :(得分:5)
似乎用Arduino平台完成了很多有趣的事情。
基本的答案实际上是“你能买得起的任何东西都可以让你建立有趣的东西”,Arduino似乎符合这个要求。
答案 1 :(得分:4)
ST Micro为基于ARM Cortex-M3的STM32系列提供了价格极具吸引力(并且也已打包)的套件。 STM32-PRIMER的MSRP约为35美元,其中包括128x128彩色LCD,MEMS加速度计,按钮,LED,USB和一些备用GPIO,所有这些都包含电池和USB到JTAG调试连接。 GCC工具链和商业调试器也应该随附。我订购了一个,并会尝试记住编辑这个答案,以便在下周某个时间到达之后进行快速审核。
他们有一个基于STM32的新型号,芯片上有更多的FLASH和RAM,还有一个micro-SD卡连接器,还有一个更大的LCD,包括一个电阻式触摸屏,只要你有现货就可以买到100美元以上
Luminary Micro还有许多便宜的演示/评估板套件。 eLua project(一个在SoC和MCU规模设备中运行的完整Lua编程环境)背后的人似乎喜欢Luminary Micro产品系列,但我没有他们的个人经验。
答案 2 :(得分:3)
由于您希望为移动平台开发,Beagle Board可能适合您。
STM32 / Cortex M3提到的另一张海报更深入嵌入,更适合中等复杂的控制应用。
Arduino使用AVR控制器,而不是ARM,并且更接近低端(低端是PIC)。
答案 3 :(得分:1)
我认为在开始嵌入式工作之前,您需要有一个特定的目的。我的意思是嵌入式工作往往有专门的硬件,试图实现通用计算机目前无法填充的利基(或使用起来太昂贵)。
如果您要购买一些嵌入式硬件,您最终会在某种控制台环境(telnet或某种UART或通过JTAG或USB)中运行“hello world”应用程序,但那又如何呢?为什么要杀死自己以启动/驱动程序等运行“hello world”?
我正在研究的一个特定目的是软件定义无线电。你可能想在嵌入式设备上尝试在代码中实现一个简单的FM或AM收音机,因为这会给你一个特定的目标,让它工作真的很有趣(并且有理由为了让嵌入式系统保持活力而自杀!)
没有什么能像以前死的空白硬件一样活着,看到它从你的main()函数一直打开到有用的东西(比如FM或AM收音机)。
请注意,软件定义的无线电硬件将比预期花费更多......
答案 4 :(得分:1)
Gumstix platform给我留下了深刻的印象。它是运行Linux的“强大”平台,但它们有各种各样的包starting at $150,但也有大量已发布的how-tos / user projects。我使用的是uCLinux的风格,因此它对于新用户来说是一个温和容易的过渡路径。
答案 5 :(得分:1)
假设您对嵌入式开发感兴趣:
我喜欢通过sparkfun.com销售的olimex板和非olimex板。 sam7,lpc等。
stellaris板也非常好。
只需获得一个老游戏进程和超级卡sd,或者使用带有r4ds或cyclods的nds,你就可以获得很多满足感和乐趣。对于初学者来说,nds更加痛苦,入门成本比gba高三到四倍。 gba mini或sp有一个背光,您几乎可以立即欣赏到未点亮的原始gba。使用gba(或nds),您可以使用像vba这样的模拟器来弄湿脚,而不必购买任何东西。
发光微电脑是一个很好的开始,有一个漂亮的显示屏和一些其他车载小工具。小心使用811主板,因为它非常容易打砖,因为端口上有一个带有引脚的jtag引脚,您将要用作通用I / O.另一方面,他们对机载外设的驱动程序变得吝啬,试图销售经验而非嵌入式体验的操作系统。
如果您只想在操作系统上编写应用程序: beagleboard或embeddedarm或qemu-arm,它与为任何其他基于Linux的机器编写应用程序没有什么不同,所以arm因素真的不存在。
答案 6 :(得分:0)
www.embeddedarm.com - TS-7800
这是一个提供pc / 104堆栈的好平台。大约200美元,你可以做很多事情,并学习很多关于他们的硬件(UART,ADC等),你可以通过104堆栈增加你的学习经验。