I'm looking to learn about embedded programming (in C mainly, but I hope to brush up on my ASM as well) and I was wondering what the best platform would be. I have some experience in using Atmel AVR's and programming them with the stk500 and found that to be relatively easy. I especially like AVR Studio and the debugger that lets you view that state of registers.
我正在寻找有关嵌入式编程的知识(主要是在C语言中,但我希望能够更好地了解我的ASM)并且我想知道最好的平台是什么。我有一些使用Atmel AVR和使用stk500编程的经验,发现它相对容易。我特别喜欢AVR Studio和调试器,它可以让你查看寄存器的状态。
However, If I was to take the time to learn, I would rather learn about something that is prevalent in industry. I am thinking ARM, that is unless someone has a better suggestion.
但是,如果我要花时间学习,我宁愿学习一些在工业中普遍存在的东西。我在想ARM,除非有人有更好的建议。
I would also be looking for some reference material, I have found the books section on the ARM website and if one is a technically better book than another I would appreciate a heads up.
我也在寻找一些参考资料,我在ARM网站上找到了书籍部分,如果一本书技术上比另一本书更好,我会很感激。
The last thing I would be looking for is a prototyping/programming board like the STK500 that has some buttons and so forth.
我要寻找的最后一件事是原型/编程板,如STK500,它有一些按钮等等。
Thanks =]
21 个解决方案
#1
23
"embedded programming" is a very broad term. AVR is pretty well in that category, but it's a step below ARM, in that it's both simpler to use, as well as less powerful.
“嵌入式编程”是一个非常广泛的术语。 AVR在这一类别中表现相当不错,但它比ARM低一步,因为它既简单易用,又功能强大。
If you just want to play around with ARM, buy a Nintendo DS or a Gameboy Advance. These are very cheap compared to the hardware inside (wonders of mass production), and they both have free development toolchains based off of gcc which can compile to them.
如果您只是想玩ARM,可以购买Nintendo DS或Gameboy Advance。与内部硬件(大规模生产的奇迹)相比,它们非常便宜,而且它们都有基于gcc的免费开发工具链,可以编译给它们。
If you want to play around with embedded linux, BeagleBoard is looking to be a good option, only $150 and it has a ton of features.
如果你想玩嵌入式Linux,BeagleBoard正在寻找一个不错的选择,只需150美元,它有很多功能。
Personally I think AVR is best for the smaller-sized 8-bit platforms, and ARM is best for the larger, more powerful 32-bit based platforms. Like many AVR fans, I don't like PIC. It just seems worse in pretty much every way. Also avoid anything that requires you to write any type of BASIC.
我个人认为AVR最适合小型8位平台,而ARM最适合更大,更强大的32位平台。像许多AVR粉丝一样,我不喜欢PIC。它几乎在各方面都显得更糟。还要避免任何需要您编写任何类型BASIC的内容。
#2
10
If you just want to play around with it, I'd suggest the Arduino platform (http://www.arduino.cc). It's based on the ATmega168 or ATmega8, depending on the version. It uses a C-like language and has its own IDE.
如果你只是想玩它,我建议使用Arduino平台(http://www.arduino.cc)。它基于ATmega168或ATmega8,具体取决于版本。它使用类似C语言并拥有自己的IDE。
#3
8
Myself I've worked in embedded programming for 9 years now and have experience on TI MSP430, Atmel AVR (a couple of flavours) and will be using an ARM soon.
我自己已经在嵌入式编程工作了9年,并且拥有TI MSP430,Atmel AVR(几种口味)的经验,很快就会使用ARM。
My suggestion is to pickup something that has some extra features in the processor like ethernet controller and CAN controller, even get two or three if you can. Embedded devices are nice to work with, but once they can talk to other similar devices via CAN or get onto a network, they can become much more fun to play with.
我的建议是在处理器中拾取具有一些额外功能的东西,如以太网控制器和CAN控制器,如果可以的话,甚至可以获得两个或三个。嵌入式设备很适合使用,但一旦他们可以通过CAN与其他类似设备通信或进入网络,他们就可以变得更有趣。
#4
6
ARM has the nicest instruction set of the widely used embedded platforms, leaving you free to pick up the general principles of writing software for embedded platforms without getting bogged down in weird details like non-orthogonal registers or branch delay slots. There are plenty of emulators - ARM's own, while not free, is cycle-accurate; and a huge variety of programmable ARM-based hardware is cheap and easy to come by as well.
ARM拥有广泛使用的嵌入式平台中最好的指令集,让您可以*地选择为嵌入式平台编写软件的一般原则,而不会陷入奇怪的细节,如非正交寄存器或分支延迟槽。有很多仿真器 - ARM自己的,但不是免费的,是周期精确的;各种基于ARM的可编程硬件价格便宜且易于获取。
#5
6
ADI's Blackfin is another option since it's quite a straight forward architecture to program, yet can also do some fairly hefty DSP stuff should you choose to go down that route. It helps that the assembly language is quite sane too.
ADI公司的Blackfin是另一种选择,因为它是一个非常简单的编程架构,但如果您选择沿着这条路线走,也可以做一些相当沉重的DSP。汇编语言也非常合理。
The Blackfin STAMP boards are an inexpensive (~$100 last I checked) way in, and they support the free GCC tools and uClinux.
Blackfin STAMP板价格便宜(最后我检查过100美元),它们支持免费的GCC工具和uClinux。
Whatever architecture you choose I'd definitely recommend first downloading the toolchain\SDK and looking through the sample projects and tutorials - generally having a bit of a play about. You can often get quite acquainted with the architecture through simulation without even touching any hardware.
无论你选择什么样的架构,我都绝对建议先下载工具链\ SDK,然后查看示例项目和教程 - 通常会有一些玩法。您通常可以通过模拟非常熟悉该架构,甚至无需接触任何硬件。
#6
6
The TI MSP430 is a great platform for learning how to program microcontrollers. TI has a variety of FREE Tools and some cheap evaluation boards (starting at $20). Plus, it's a low-power, modern microcontroller.
TI MSP430是学习如何编程微控制器的绝佳平台。 TI拥有各种免费工具和一些便宜的评估板(起价20美元)。此外,它还是一款低功耗,现代化的微控制器。
#7
2
A nice choice would be PIC18 by Microchip
Microchip推出的PIC18是一个不错的选择
-
It has quite alot of material, documentation, tutorials and projects on the internet
它在互联网上有很多材料,文档,教程和项目
-
Free IDE and compiler.
免费的IDE和编译器。
-
you can pull your own flash writer in a few minutes. (Although for a debugger to work you'll need to work harder)
您可以在几分钟内完成自己的Flash编写器。 (虽然要使调试器工作,你需要更加努力)
-
If you're a student (or has a student email address) Microchip will send you free sample chips. So basically you can have a full development environment for close to nothing.
如果您是学生(或拥有学生电子邮件地址),Microchip将向您发送免费样品芯片。所以基本上你可以拥有一个完全开发的环境,几乎一无所有。
-
PICs are quite prevalent in the industry. Specifically as controllers for robots for some reason although they can do so much more.
PIC在该行业中非常普遍。特别是作为机器人的控制器由于某种原因,虽然他们可以做更多。
#8
2
Arduino seems to be the platform of choice these days for beginners although there are lots of others. I like the Olimex boards personally but they are not really for beginners.
Arduino现在似乎是初学者的首选平台,尽管还有很多其他人。我个人喜欢Olimex板,但它们并不适合初学者。
Microchip's PIC range of CPUs are also excellent for beginners, especially if you want to program in assembler.
Microchip的PIC系列CPU也非常适合初学者,特别是如果您想使用汇编程序进行编程。
BTW, Assembler is not used as much as it used to. The general rule with embedded is if you've got 4k of memory or more, use C. You get portability and you can develop code faster.
顺便说一句,汇编程序没有像以前那样使用。嵌入式的一般规则是,如果你有4k或更多的内存,使用C.你可以获得可移植性,你可以更快地开发代码。
I suppose it depends on your skill level and what you want to do with the chip. I usually choose which embedded chip to use by the available peripherals. If you want a USB port, find one with USB built in, if you want analogue-to-digital, find one with an ADC etc. If you've got a simple application, use an 8-bit but if you need serious number crunching, go 32 bits.
我想这取决于你的技术水平以及你想用芯片做什么。我通常选择可用外设使用哪种嵌入式芯片。如果你想要一个USB端口,找一个内置USB的,如果你想要模拟到数字,找一个带ADC等。如果你有一个简单的应用程序,使用8位,但如果你需要严重的数字嘎吱嘎吱地走了32位。
#9
2
I'd like to suggest the beagleboard from TI. It has a Omap3 on it. That's a Cortex-A8 ARM11 CPU, a C64x+ DSP and a video accelerator as well.
我想建议TI的beagleboard。它上面有一个Omap3。这是一个Cortex-A8 ARM11 CPU,一个C64x + DSP和一个视频加速器。
The board does not need an expensive jtag device. A serial cable an an SD-Card is all you need to get started. Board costs only $150 and there is a very active community.
该板不需要昂贵的jtag设备。您只需使用串行电缆和SD卡即可开始使用。董事会成本仅为150美元,并且有一个非常活跃的社区。
www.beagleboard.org
#10
1
Your question sort of has been answered in this question.
你的问题在这个问题上得到了解答。
To add to that, the embedded processor industry is very segmented, it doesn't have a major player like Intel/x86 is for the "desktop" processor industry. The ARM processor does have a large share, so does MIPS I believe, and there are many smaller more specific microcontroller like chips available (like the MSP430 etc from TI).
除此之外,嵌入式处理器行业非常细分,它没有像Intel / x86这样的主要播放器用于“桌面”处理器行业。 ARM处理器确实拥有很大的份额,我相信MIPS也是如此,并且有许多更小的更具体的微控制器,如可用的芯片(如TI的MSP430等)。
As for documentation, I do embedded development for a day job, and the documentation we have access to (as software developers) is rather sparse. Your best bet is to use the documentation available on the processor manufacturers site.
至于文档,我为一天的工作进行嵌入式开发,我们可以访问的文档(作为软件开发人员)相当稀少。您最好的选择是使用处理器制造商网站上提供的文档。
#11
1
Take a look at Processing and the associated Arduino and Wiring boards.
看看Processing和相关的Arduino和Wiring板。
#12
1
If you just want to have fun, then try the Parallax Propeller chip. The HYDRA game platform looks like a blast. There's a $100 C compiler for it now.
如果您只想玩得开心,那就试试Parallax Propeller芯片。 HYDRA游戏平台看起来像一个爆炸。现在有一个100美元的C编译器。
I started on BASIC stamps, moved up through SX chips and PICs into 8051s, then 68332s, various DSPs, FPGA soft processors, etc.
我开始使用BASIC标记,通过SX芯片和PIC进入8051,然后是68332,各种DSP,FPGA软处理器等。
8051s are more useful in the real world... the things won't go away. There's TONS of derivatives and crazy stuff for them. (Just stay away from the DS80C400) The energy industry is absolutely full of them.
8051在现实世界中更有用......事情不会消失。他们有很多衍生品和疯狂的东西。 (只要远离DS80C400)能源行业绝对充满了它们。
Start with something tiny. If you have external RAM and plenty of registers... what's the difference between that and a SBC?
从微小的东西开始。如果您有外部RAM和大量寄存器......那么它和SBC有什么区别?
#13
1
Many moons ago I've worked with 8-bitters like 68HC05 and Z80, later AVR and MSP430 (16-bit). However most recent projects were on ARM7. Several manufacturers offer ARM controllers, in all colors and sizes (well, not really color).
很多时候我曾经使用过8位,如68HC05和Z80,后来的AVR和MSP430(16位)。但最近的项目是在ARM7上。一些制造商提供各种颜色和尺寸的ARM控制器(好吧,不是真正的颜色)。
ARM(7) is replacing 8-bit architecture: it's more performant (32-bit RISC at faster instruction cycles than most 8-bitters), has more memory and is available with several IO-configurations. I worked with NXP LPC2000 controllers, which are also inexpensive (< 1 USD for a 32-bitter!).
ARM(7)正在取代8位架构:它的性能更高(32位RISC,指令周期比大多数8位更快),内存更多,可用于多种IO配置。我使用的是NXP LPC2000控制器,这些控制器价格也很便宜(32位的价格低于1美元!)。
If you're in Europe http://www.olimex.com/dev/index.html has some nice low-cost development boards. Works in the rest of the world too :-)
如果您在欧洲http://www.olimex.com/dev/index.html有一些不错的低成本开发板。也适用于世界其他地方:-)
#14
0
For a fun project to test, have a look at xgamestation
有关测试的有趣项目,请查看xgamestation
But for a more industrial used one chip solution programming, look at PIC
但是对于更加工业化的单芯片解决方案编程,请看PIC
#15
0
For my Computer Architecture course I had to work with both a PIC and an AVR; in my opinion the PIC was easier to work with, but that's maybe because that's what we worked with the most and we had the most time to get used to. We used the AVR maybe only a couple of times so I couldn't get the hang of it perfectly but it also was nothing overly complicated, or at least not more frustrating than the other.
对于我的计算机体系结构课程,我必须同时使用PIC和AVR;在我看来PIC更容易使用,但这可能是因为这是我们最常用的工作,我们有最多的时间习惯。我们使用AVR可能只有几次,所以我无法完美地掌握它,但它也没有过于复杂,或者至少没有比另一个更令人沮丧。
I think you can also order microprocessor samples from Microchip's website so you could also get started with that?
我想您也可以从Microchip的网站订购微处理器样品,这样您也可以开始使用它?
#17
0
For learning, you can't go past the AVR. The chips are cheap and they'll run with zero external components - they also supply enough current to drive an LED straight from the port.
对于学习,你不能通过AVR。这些芯片价格便宜,它们可以在没有外部元件的情况下运行 - 它们还提供足够的电流来直接从端口驱动LED。
You can start with a cheap programmer such as lady-ada's USBTinyISP (USD$22 for a kit) which can power your board with 5V from the USB port. Get the free tools WinAVR (GCC based) and AVRStudio and get a small project working in no time.
你可以从一个廉价的程序员开始,比如lady-ada的USBTinyISP(套装22美元),它可以通过USB端口为你的电路板供电。获得免费工具WinAVR(基于GCC)和AVRStudio,并立即获得一个小项目。
Yes the AVRs have limitations - but developing software for microcontrollers is largely about managing resources and coping with those problems. It's unlikely that you'll experience problems such as running out of stack space, RAM or ROM when you're making hobbist projects for powerful ARM platforms.
是的,AVR有局限性 - 但为微控制器开发软件主要是管理资源和应对这些问题。当您为强大的ARM平台制作hobbist项目时,您不太可能遇到诸如堆栈空间,RAM或ROM耗尽等问题。
That said, ARM is also a great platform which is widely used in the industry, however, for learning I highly recommend AVRs.
也就是说,ARM也是一个在业界广泛使用的优秀平台,但是,对于学习我强烈推荐AVR。
#18
0
I would suggest Microchip's PIC18F series. I just started developing for them with the RealICE in-circuit emulator, but the pickit2 is a decent debugger for the price. You could say this for the AVR's also, but there is a large following for the device all over the web. I was able to have a - buggy, yet functional - embedded USB device running within days due to all the PIC related chatter.
我建议使用Microchip的PIC18F系列。我刚开始使用RealICE在线仿真器开发它们,但是pickit2是一个不错的调试器。您也可以为AVR说明这一点,但整个网络上的设备都有大量关注。由于所有与PIC相关的喋喋不休,我能够在几天内运行一个多功能的,功能性的嵌入式USB设备。
The only thing I don't like about the PICs is that a lot of the sample code is VERY entwined into the demo boards. That can make it hard to tear out sections that you need and still have an application that will build and run for your application.
关于PIC,我唯一不喜欢的是很多示例代码都非常与代码板纠缠在一起。这可能会很难撕掉您需要的部分,并且仍然有一个将为您的应用程序构建和运行的应用程序。
#19
0
Texas Instruments has released a very interesting development kit at a very low price: The eZ430-Chronos Development Tool contains an MSP430 with display and various sensors in a sports watch, including a usb debug programmer and a usb radio access point for 50$
德州仪器以极低的价格发布了一款非常有趣的开发套件:eZ430-Chronos开发工具包含一个MSP430,带有显示器和运动手表中的各种传感器,包括一个USB调试编程器和一个50美元的USB无线接入点
There is also a wiki containing lots and lots of information.
还有一个包含大量信息的wiki。
I have already created a stackexchange proposal for the eZ430-Chronos Kit.
我已经为eZ430-Chronos Kit创建了一个stackexchange提案。
#20
0
You should try and learn from developpers kits provided by Embedded Artists. After you get the kit, check their instructional videos and videos provided by NXP, which are not as detailed as they could be, but they cover a lot of things. Problems with learning ARM as your first architecture and try to do something practicall are:
您应该尝试学习Embedded Artists提供的开发人员工具包。获得该套件后,请查看恩智浦提供的教学视频和视频,这些视频和视频并非尽可能详细,但它们涵盖了很多内容。学习ARM作为您的第一个架构并尝试做一些实用的问题是:
- You need to buy dev. kit.
- You need a good book to learn ARM assembly, because sooner or later you will come across ARM startup code, which is quite a deal for a beginner. The book i mentioned allso covers some C programming.
- Combine book mentioned above with a user guide for your speciffic processor like this one. Make sure you get this as studying this in combination with above book is the only way to learn your ARM proc. in detail.
- If you want to make a transfer from ARM assembly to C programming you will need to read this book, which covers a different ARM processor but is easier for C beginner. The down side is that it doesn't explain any ARM assembly, but this is why you need the first book.
你需要购买开发。套件。
你需要一本好书才能学习ARM程序集,因为迟早你会遇到ARM启动代码,这对初学者来说是一笔不小的交易。我提到的这本书也涵盖了一些C编程。
将上面提到的书与您的特定处理器的用户指南相结合。确保你得到这个,因为结合上述书学习这是学习你的ARM程序的唯一方法。详细地。
如果您想从ARM程序集转移到C编程,您需要阅读本书,其中涵盖了不同的ARM处理器,但对于C初学者来说更容易。缺点是它没有解释任何ARM组件,但这就是你需要第一本书的原因。
There is no easy way.
没有简单的方法。
#21
#1
23
"embedded programming" is a very broad term. AVR is pretty well in that category, but it's a step below ARM, in that it's both simpler to use, as well as less powerful.
“嵌入式编程”是一个非常广泛的术语。 AVR在这一类别中表现相当不错,但它比ARM低一步,因为它既简单易用,又功能强大。
If you just want to play around with ARM, buy a Nintendo DS or a Gameboy Advance. These are very cheap compared to the hardware inside (wonders of mass production), and they both have free development toolchains based off of gcc which can compile to them.
如果您只是想玩ARM,可以购买Nintendo DS或Gameboy Advance。与内部硬件(大规模生产的奇迹)相比,它们非常便宜,而且它们都有基于gcc的免费开发工具链,可以编译给它们。
If you want to play around with embedded linux, BeagleBoard is looking to be a good option, only $150 and it has a ton of features.
如果你想玩嵌入式Linux,BeagleBoard正在寻找一个不错的选择,只需150美元,它有很多功能。
Personally I think AVR is best for the smaller-sized 8-bit platforms, and ARM is best for the larger, more powerful 32-bit based platforms. Like many AVR fans, I don't like PIC. It just seems worse in pretty much every way. Also avoid anything that requires you to write any type of BASIC.
我个人认为AVR最适合小型8位平台,而ARM最适合更大,更强大的32位平台。像许多AVR粉丝一样,我不喜欢PIC。它几乎在各方面都显得更糟。还要避免任何需要您编写任何类型BASIC的内容。
#2
10
If you just want to play around with it, I'd suggest the Arduino platform (http://www.arduino.cc). It's based on the ATmega168 or ATmega8, depending on the version. It uses a C-like language and has its own IDE.
如果你只是想玩它,我建议使用Arduino平台(http://www.arduino.cc)。它基于ATmega168或ATmega8,具体取决于版本。它使用类似C语言并拥有自己的IDE。
#3
8
Myself I've worked in embedded programming for 9 years now and have experience on TI MSP430, Atmel AVR (a couple of flavours) and will be using an ARM soon.
我自己已经在嵌入式编程工作了9年,并且拥有TI MSP430,Atmel AVR(几种口味)的经验,很快就会使用ARM。
My suggestion is to pickup something that has some extra features in the processor like ethernet controller and CAN controller, even get two or three if you can. Embedded devices are nice to work with, but once they can talk to other similar devices via CAN or get onto a network, they can become much more fun to play with.
我的建议是在处理器中拾取具有一些额外功能的东西,如以太网控制器和CAN控制器,如果可以的话,甚至可以获得两个或三个。嵌入式设备很适合使用,但一旦他们可以通过CAN与其他类似设备通信或进入网络,他们就可以变得更有趣。
#4
6
ARM has the nicest instruction set of the widely used embedded platforms, leaving you free to pick up the general principles of writing software for embedded platforms without getting bogged down in weird details like non-orthogonal registers or branch delay slots. There are plenty of emulators - ARM's own, while not free, is cycle-accurate; and a huge variety of programmable ARM-based hardware is cheap and easy to come by as well.
ARM拥有广泛使用的嵌入式平台中最好的指令集,让您可以*地选择为嵌入式平台编写软件的一般原则,而不会陷入奇怪的细节,如非正交寄存器或分支延迟槽。有很多仿真器 - ARM自己的,但不是免费的,是周期精确的;各种基于ARM的可编程硬件价格便宜且易于获取。
#5
6
ADI's Blackfin is another option since it's quite a straight forward architecture to program, yet can also do some fairly hefty DSP stuff should you choose to go down that route. It helps that the assembly language is quite sane too.
ADI公司的Blackfin是另一种选择,因为它是一个非常简单的编程架构,但如果您选择沿着这条路线走,也可以做一些相当沉重的DSP。汇编语言也非常合理。
The Blackfin STAMP boards are an inexpensive (~$100 last I checked) way in, and they support the free GCC tools and uClinux.
Blackfin STAMP板价格便宜(最后我检查过100美元),它们支持免费的GCC工具和uClinux。
Whatever architecture you choose I'd definitely recommend first downloading the toolchain\SDK and looking through the sample projects and tutorials - generally having a bit of a play about. You can often get quite acquainted with the architecture through simulation without even touching any hardware.
无论你选择什么样的架构,我都绝对建议先下载工具链\ SDK,然后查看示例项目和教程 - 通常会有一些玩法。您通常可以通过模拟非常熟悉该架构,甚至无需接触任何硬件。
#6
6
The TI MSP430 is a great platform for learning how to program microcontrollers. TI has a variety of FREE Tools and some cheap evaluation boards (starting at $20). Plus, it's a low-power, modern microcontroller.
TI MSP430是学习如何编程微控制器的绝佳平台。 TI拥有各种免费工具和一些便宜的评估板(起价20美元)。此外,它还是一款低功耗,现代化的微控制器。
#7
2
A nice choice would be PIC18 by Microchip
Microchip推出的PIC18是一个不错的选择
-
It has quite alot of material, documentation, tutorials and projects on the internet
它在互联网上有很多材料,文档,教程和项目
-
Free IDE and compiler.
免费的IDE和编译器。
-
you can pull your own flash writer in a few minutes. (Although for a debugger to work you'll need to work harder)
您可以在几分钟内完成自己的Flash编写器。 (虽然要使调试器工作,你需要更加努力)
-
If you're a student (or has a student email address) Microchip will send you free sample chips. So basically you can have a full development environment for close to nothing.
如果您是学生(或拥有学生电子邮件地址),Microchip将向您发送免费样品芯片。所以基本上你可以拥有一个完全开发的环境,几乎一无所有。
-
PICs are quite prevalent in the industry. Specifically as controllers for robots for some reason although they can do so much more.
PIC在该行业中非常普遍。特别是作为机器人的控制器由于某种原因,虽然他们可以做更多。
#8
2
Arduino seems to be the platform of choice these days for beginners although there are lots of others. I like the Olimex boards personally but they are not really for beginners.
Arduino现在似乎是初学者的首选平台,尽管还有很多其他人。我个人喜欢Olimex板,但它们并不适合初学者。
Microchip's PIC range of CPUs are also excellent for beginners, especially if you want to program in assembler.
Microchip的PIC系列CPU也非常适合初学者,特别是如果您想使用汇编程序进行编程。
BTW, Assembler is not used as much as it used to. The general rule with embedded is if you've got 4k of memory or more, use C. You get portability and you can develop code faster.
顺便说一句,汇编程序没有像以前那样使用。嵌入式的一般规则是,如果你有4k或更多的内存,使用C.你可以获得可移植性,你可以更快地开发代码。
I suppose it depends on your skill level and what you want to do with the chip. I usually choose which embedded chip to use by the available peripherals. If you want a USB port, find one with USB built in, if you want analogue-to-digital, find one with an ADC etc. If you've got a simple application, use an 8-bit but if you need serious number crunching, go 32 bits.
我想这取决于你的技术水平以及你想用芯片做什么。我通常选择可用外设使用哪种嵌入式芯片。如果你想要一个USB端口,找一个内置USB的,如果你想要模拟到数字,找一个带ADC等。如果你有一个简单的应用程序,使用8位,但如果你需要严重的数字嘎吱嘎吱地走了32位。
#9
2
I'd like to suggest the beagleboard from TI. It has a Omap3 on it. That's a Cortex-A8 ARM11 CPU, a C64x+ DSP and a video accelerator as well.
我想建议TI的beagleboard。它上面有一个Omap3。这是一个Cortex-A8 ARM11 CPU,一个C64x + DSP和一个视频加速器。
The board does not need an expensive jtag device. A serial cable an an SD-Card is all you need to get started. Board costs only $150 and there is a very active community.
该板不需要昂贵的jtag设备。您只需使用串行电缆和SD卡即可开始使用。董事会成本仅为150美元,并且有一个非常活跃的社区。
www.beagleboard.org
#10
1
Your question sort of has been answered in this question.
你的问题在这个问题上得到了解答。
To add to that, the embedded processor industry is very segmented, it doesn't have a major player like Intel/x86 is for the "desktop" processor industry. The ARM processor does have a large share, so does MIPS I believe, and there are many smaller more specific microcontroller like chips available (like the MSP430 etc from TI).
除此之外,嵌入式处理器行业非常细分,它没有像Intel / x86这样的主要播放器用于“桌面”处理器行业。 ARM处理器确实拥有很大的份额,我相信MIPS也是如此,并且有许多更小的更具体的微控制器,如可用的芯片(如TI的MSP430等)。
As for documentation, I do embedded development for a day job, and the documentation we have access to (as software developers) is rather sparse. Your best bet is to use the documentation available on the processor manufacturers site.
至于文档,我为一天的工作进行嵌入式开发,我们可以访问的文档(作为软件开发人员)相当稀少。您最好的选择是使用处理器制造商网站上提供的文档。
#11
1
Take a look at Processing and the associated Arduino and Wiring boards.
看看Processing和相关的Arduino和Wiring板。
#12
1
If you just want to have fun, then try the Parallax Propeller chip. The HYDRA game platform looks like a blast. There's a $100 C compiler for it now.
如果您只想玩得开心,那就试试Parallax Propeller芯片。 HYDRA游戏平台看起来像一个爆炸。现在有一个100美元的C编译器。
I started on BASIC stamps, moved up through SX chips and PICs into 8051s, then 68332s, various DSPs, FPGA soft processors, etc.
我开始使用BASIC标记,通过SX芯片和PIC进入8051,然后是68332,各种DSP,FPGA软处理器等。
8051s are more useful in the real world... the things won't go away. There's TONS of derivatives and crazy stuff for them. (Just stay away from the DS80C400) The energy industry is absolutely full of them.
8051在现实世界中更有用......事情不会消失。他们有很多衍生品和疯狂的东西。 (只要远离DS80C400)能源行业绝对充满了它们。
Start with something tiny. If you have external RAM and plenty of registers... what's the difference between that and a SBC?
从微小的东西开始。如果您有外部RAM和大量寄存器......那么它和SBC有什么区别?
#13
1
Many moons ago I've worked with 8-bitters like 68HC05 and Z80, later AVR and MSP430 (16-bit). However most recent projects were on ARM7. Several manufacturers offer ARM controllers, in all colors and sizes (well, not really color).
很多时候我曾经使用过8位,如68HC05和Z80,后来的AVR和MSP430(16位)。但最近的项目是在ARM7上。一些制造商提供各种颜色和尺寸的ARM控制器(好吧,不是真正的颜色)。
ARM(7) is replacing 8-bit architecture: it's more performant (32-bit RISC at faster instruction cycles than most 8-bitters), has more memory and is available with several IO-configurations. I worked with NXP LPC2000 controllers, which are also inexpensive (< 1 USD for a 32-bitter!).
ARM(7)正在取代8位架构:它的性能更高(32位RISC,指令周期比大多数8位更快),内存更多,可用于多种IO配置。我使用的是NXP LPC2000控制器,这些控制器价格也很便宜(32位的价格低于1美元!)。
If you're in Europe http://www.olimex.com/dev/index.html has some nice low-cost development boards. Works in the rest of the world too :-)
如果您在欧洲http://www.olimex.com/dev/index.html有一些不错的低成本开发板。也适用于世界其他地方:-)
#14
0
For a fun project to test, have a look at xgamestation
有关测试的有趣项目,请查看xgamestation
But for a more industrial used one chip solution programming, look at PIC
但是对于更加工业化的单芯片解决方案编程,请看PIC
#15
0
For my Computer Architecture course I had to work with both a PIC and an AVR; in my opinion the PIC was easier to work with, but that's maybe because that's what we worked with the most and we had the most time to get used to. We used the AVR maybe only a couple of times so I couldn't get the hang of it perfectly but it also was nothing overly complicated, or at least not more frustrating than the other.
对于我的计算机体系结构课程,我必须同时使用PIC和AVR;在我看来PIC更容易使用,但这可能是因为这是我们最常用的工作,我们有最多的时间习惯。我们使用AVR可能只有几次,所以我无法完美地掌握它,但它也没有过于复杂,或者至少没有比另一个更令人沮丧。
I think you can also order microprocessor samples from Microchip's website so you could also get started with that?
我想您也可以从Microchip的网站订购微处理器样品,这样您也可以开始使用它?
#16
#17
0
For learning, you can't go past the AVR. The chips are cheap and they'll run with zero external components - they also supply enough current to drive an LED straight from the port.
对于学习,你不能通过AVR。这些芯片价格便宜,它们可以在没有外部元件的情况下运行 - 它们还提供足够的电流来直接从端口驱动LED。
You can start with a cheap programmer such as lady-ada's USBTinyISP (USD$22 for a kit) which can power your board with 5V from the USB port. Get the free tools WinAVR (GCC based) and AVRStudio and get a small project working in no time.
你可以从一个廉价的程序员开始,比如lady-ada的USBTinyISP(套装22美元),它可以通过USB端口为你的电路板供电。获得免费工具WinAVR(基于GCC)和AVRStudio,并立即获得一个小项目。
Yes the AVRs have limitations - but developing software for microcontrollers is largely about managing resources and coping with those problems. It's unlikely that you'll experience problems such as running out of stack space, RAM or ROM when you're making hobbist projects for powerful ARM platforms.
是的,AVR有局限性 - 但为微控制器开发软件主要是管理资源和应对这些问题。当您为强大的ARM平台制作hobbist项目时,您不太可能遇到诸如堆栈空间,RAM或ROM耗尽等问题。
That said, ARM is also a great platform which is widely used in the industry, however, for learning I highly recommend AVRs.
也就是说,ARM也是一个在业界广泛使用的优秀平台,但是,对于学习我强烈推荐AVR。
#18
0
I would suggest Microchip's PIC18F series. I just started developing for them with the RealICE in-circuit emulator, but the pickit2 is a decent debugger for the price. You could say this for the AVR's also, but there is a large following for the device all over the web. I was able to have a - buggy, yet functional - embedded USB device running within days due to all the PIC related chatter.
我建议使用Microchip的PIC18F系列。我刚开始使用RealICE在线仿真器开发它们,但是pickit2是一个不错的调试器。您也可以为AVR说明这一点,但整个网络上的设备都有大量关注。由于所有与PIC相关的喋喋不休,我能够在几天内运行一个多功能的,功能性的嵌入式USB设备。
The only thing I don't like about the PICs is that a lot of the sample code is VERY entwined into the demo boards. That can make it hard to tear out sections that you need and still have an application that will build and run for your application.
关于PIC,我唯一不喜欢的是很多示例代码都非常与代码板纠缠在一起。这可能会很难撕掉您需要的部分,并且仍然有一个将为您的应用程序构建和运行的应用程序。
#19
0
Texas Instruments has released a very interesting development kit at a very low price: The eZ430-Chronos Development Tool contains an MSP430 with display and various sensors in a sports watch, including a usb debug programmer and a usb radio access point for 50$
德州仪器以极低的价格发布了一款非常有趣的开发套件:eZ430-Chronos开发工具包含一个MSP430,带有显示器和运动手表中的各种传感器,包括一个USB调试编程器和一个50美元的USB无线接入点
There is also a wiki containing lots and lots of information.
还有一个包含大量信息的wiki。
I have already created a stackexchange proposal for the eZ430-Chronos Kit.
我已经为eZ430-Chronos Kit创建了一个stackexchange提案。
#20
0
You should try and learn from developpers kits provided by Embedded Artists. After you get the kit, check their instructional videos and videos provided by NXP, which are not as detailed as they could be, but they cover a lot of things. Problems with learning ARM as your first architecture and try to do something practicall are:
您应该尝试学习Embedded Artists提供的开发人员工具包。获得该套件后,请查看恩智浦提供的教学视频和视频,这些视频和视频并非尽可能详细,但它们涵盖了很多内容。学习ARM作为您的第一个架构并尝试做一些实用的问题是:
- You need to buy dev. kit.
- You need a good book to learn ARM assembly, because sooner or later you will come across ARM startup code, which is quite a deal for a beginner. The book i mentioned allso covers some C programming.
- Combine book mentioned above with a user guide for your speciffic processor like this one. Make sure you get this as studying this in combination with above book is the only way to learn your ARM proc. in detail.
- If you want to make a transfer from ARM assembly to C programming you will need to read this book, which covers a different ARM processor but is easier for C beginner. The down side is that it doesn't explain any ARM assembly, but this is why you need the first book.
你需要购买开发。套件。
你需要一本好书才能学习ARM程序集,因为迟早你会遇到ARM启动代码,这对初学者来说是一笔不小的交易。我提到的这本书也涵盖了一些C编程。
将上面提到的书与您的特定处理器的用户指南相结合。确保你得到这个,因为结合上述书学习这是学习你的ARM程序的唯一方法。详细地。
如果您想从ARM程序集转移到C编程,您需要阅读本书,其中涵盖了不同的ARM处理器,但对于C初学者来说更容易。缺点是它没有解释任何ARM组件,但这就是你需要第一本书的原因。
There is no easy way.
没有简单的方法。