我正在寻找有关嵌入式编程的知识(主要是在C语言中,但我希望也能在我的ASM上学习)并且我想知道最好的平台是什么.我有一些使用Atmel AVR和使用stk500编程的经验,发现相对容易.我特别喜欢AVR Studio和调试器,它可以让你查看寄存器的状态.
但是,如果我要花时间学习,我宁愿学习一些在工业中普遍存在的东西.我在想ARM,除非有人有更好的建议.
我也会寻找一些参考资料,我在ARM网站上找到了书籍部分,如果一本书技术上比另一本书更好,我会很感激.
我要寻找的最后一件事是原型/编程板,如STK500,它有一些按钮等等.
谢谢=]
"嵌入式编程"是一个非常广泛的术语.AVR在这一类别中表现相当不错,但它比ARM低一步,因为它既简单易用,又功能强大.
如果您只想玩ARM,请购买Nintendo DS或Gameboy Advance.与内部硬件(大规模生产的奇迹)相比,它们非常便宜,而且它们都有基于gcc的免费开发工具链,可以编译给它们.
如果你想玩嵌入式Linux,BeagleBoard正在寻找一个不错的选择,只需150美元,它有很多功能.
我个人认为AVR最适合小型8位平台,而ARM最适合更大,更强大的32位平台.像许多AVR粉丝一样,我不喜欢PIC.它几乎在各方面都显得更糟.还要避免任何需要您编写任何类型BASIC的内容.
如果你只是想玩它,我建议使用Arduino平台(http://www.arduino.cc).它基于ATmega168或ATmega8,具体取决于版本.它使用类似C语言并拥有自己的IDE.
我自己已经在嵌入式编程工作了9年,并且拥有TI MSP430,Atmel AVR(几种口味)的经验,很快就会使用ARM.
我的建议是在处理器中拾取具有一些额外功能的东西,如以太网控制器和CAN控制器,如果可以,甚至可以获得两到三个.嵌入式设备很适合使用,但一旦他们可以通过CAN与其他类似设备通信或进入网络,他们就可以变得更有趣.
ARM拥有广泛使用的嵌入式平台中最好的指令集,让您可以自由地选择为嵌入式平台编写软件的一般原则,而不会陷入奇怪的细节,如非正交寄存器或分支延迟槽.有很多仿真器 - ARM自己的,但不是免费的,是周期精确的; 各种基于ARM的可编程硬件价格便宜且易于获取.
ADI公司的Blackfin是另一个选择,因为它是一个非常简单的编程架构,但是如果你选择沿着那条路走下去,它也可以做一些相当沉重的DSP.它有助于汇编语言也非常清晰.
Blackfin STAMP板价格便宜(我最后检查过100美元),它们支持免费的GCC工具和uClinux.
无论你选择什么样的架构,我都建议先下载工具链\ SDK,然后查看示例项目和教程 - 通常会有一些玩法.您通常可以通过模拟非常熟悉架构,甚至无需接触任何硬件.
该TI MSP430是学习如何编程微控制器一个很好的平台.TI拥有各种免费工具和一些便宜的评估板(起价20美元).此外,它还是一款低功耗,现代化的微控制器.