需要点火才能学习嵌入式系统 [英] Need some ignition for learning Embedded Systems

查看:145
本文介绍了需要点火才能学习嵌入式系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我非常想要为嵌入式设备构建应用程序。我在我的第三年电气工程,我热衷于编码,算法,Linux操作系统等。而且谷歌搜索我发现Linux操作系统是嵌入式设备的最佳操作系统之一(可能/可能不是)。我想为从事移动应用的公司工作。我是这个领域的新手/天真我的技能包括C / C ++& MySQL的。我需要帮助才能开始嵌入式系统的领域;喜欢如何/从哪里开始,硬件先决条件,必要的编程技巧,还有什么样的嵌入式应用程序等我听说过ARM,固件,PIC Micorcontrollers;但我不知道什么只需要正确的介绍他们。



PS:我正在阅读Bjarne Struotsup的讲座在德克萨斯A& M大学的C ++中,其中一章描述了关于嵌入式系统编程

解决方案

我将一起避免操作系统,嵌入式Linux是矛盾,你真正在学什么?你可以用家用电脑学习同样的东西。



是的,ARM是嵌入式的王者,可能会持续一段时间,最终你需要看一下。



Sparkfun.com是一个很棒的网站,他们提供了一些olimex板,还有别的像arduino衍生物。我喜欢msp430的avr,但avr更受欢迎。



外部sparkfun从TI(msp430)直接或从digikey或mouser看ez430。 Stellaris有一些漂亮的板子,811是容易的砖,我的第一个只持续了几个小时,哎呀,我应该看到17个警告标签卡在盒子里的一切,不要触摸那些jtag的启用或方向线。 stellaris在板子上堆满了大量东西,是学习嵌入式编程,阅读原理图,阅读数据表和程序员参考手册的非常好的平台,了解所有原理图和参考手册都有一点儿错误,你必须破解你的方法。如果你想要建立自己的项目,虽然你必须切掉(不是字面上)的东西,在板上,所以我会用一个olimex标题板添加自己的电子产品。



我通常建议在拇指之前学习手臂,但刚刚完成(是否完成任何事情?)拇指指令集模拟器thumbulator.blogspot.com,非常易于使用和修改以观察发生的情况或调试你的东西。



回到sparkfun。 olimex头板很好,低于50美元,各种武器供应商都有代表(ti / stellaris除外)。 Arduino pro迷你低于$ 20。 armmite pro是好的。避免使用mbed2和lpcxpresso,或许可以一起避免lpc(除了armmite pro之外)。



qemu也是一个很好的模拟器,不像手臂或我的拇指器那么容易挖掘,看看你的代码正在做什么。但是有很多rtoses和linux在它上面运行(arm和其他处理器被模拟),arm集成商eval板是一个受欢迎的目标,由qemu模拟。只是在手臂中有很多由qemu模仿的评估板。



beagleboard是受欢迎的,但我对我的beagleboard非常失望,总是创新上网本。它花费另外100美元 - 150美元,以使beagleboard有用。 Embest有一个更好的beagleboard克隆,这是开箱即用的。我喜欢hawkboard.org比beagleboard好多了一点,一半的价格,但更好的板。您可以使用Linux或真正的嵌入式(无操作系统)或任何您喜欢的工作。基于TI omap,还有一个芯片上的dsp,如果你有兴趣在那里。



我不是图片的粉丝,而且一直和将会燃烧为此,不打扰我。我建议为msp430,avr,arm,thumb(和pic)学习汇编程序,真正的嵌入式总是需要一点汇编程序来管理引导过程,中断处理等。 msp430和arm是适用于C编译器的指令集,pic是8051可怕的,这并不意味着没有C编译器,它只是可怕的低效率,并添加了一个高级语言,使结果更糟糕。图片资源有限。 pic32是一个mips衍生物,而不是我在说话/抱怨。这是一个完整的其他家庭和类别的设备。我将与msp430一起使用,因为选择了汇编程序和C,大小,功能,功能等。



Mips是probaby武器最大的竞争对手,可惜的是我没有机会学习的一个平台。



8051,6501,pdp11使用的lsi11是一个很好的降档历史。 lsi11是C语言的发明,您可以看到汇编器和C之间的并行。msp430指令集具有相同的感觉,msp430和lsi11都是开始汇编程序的优秀指令集。 8051可能是最古老的幸存的主力,它作为主要的嵌入式处理器,仍然可以在新的芯片产品中找到。像pic的指令集是一个河内难题的塔,进出的累加器,进出,进出几个指令,做任何有用的事情。 sdcc是一个免费的8051 C编译器,如果你想挖掘一个编译器的内容,并有机会了解它(而不必购买书籍或上课),那么它的尺寸就是正确的。



我是一个很大的玩家,玩家的进步和任天堂,gba更容易,模拟器都在这里,虽然是为了玩rom游戏,不一定完美的模拟,你可能会做自制软件开发。除了mini之外,gba的串行端口使得调试变得更加容易(迷你有一个但是越来越难)。从gba开始,如果可以,便宜得多,更容易一些,一旦你得到了ds的一堆gbas绑在一起,又有一些额外的并发症。



根据您的帖子,不知道成本是否太高,我猜测是hawkboard(hawkboard.org)是您列出的linux,嵌入式,算法和其他项目的不错选择。如果不附带电源和otg usb电缆,请继续。如果你像我是一个可能太丰富的EE学生,看看arduino pro或者实际上是lillypad,因为它已经有了引脚,没有焊接或额外的部分需要,是得到$ 14 usb连续的东西。对于lillypad和usb到串行/电源板的价格,你可以得到一个armmite pro,不需要除usb电缆以外的其他东西(我知道这是一个lpc,它的好)。我有网页如何从两个平台中删除类似固件的arduino,并获得处理器,而不是大脑手术,很容易,但是第一次定时器可能会犹豫。 ez430属于同样的价格类别,您不需要任何其他东西,但$ 20套件,另外三个板子为您设置$ 10。如果这太丰富了,或者即使不是这些模拟器是免费的,那么一些比在实际硬件上运行要容易得多,因为你有源代码,可以在print语句或者其他任何内容中进行编译。你可以让你的脚湿润,而不用任何东西,除了时间,看看这是否是你真正感兴趣的东西。



记住即使最好的模拟器也不像在真正的硬件(与在调试器下运行代码相同)。你可能必须在硬件上开始你的项目,但这是嵌入式的乐趣。董事会提起...


I'm very much interested in building applications for Embedded Devices. I'm in my 3rd year Electrical Engineering and I'm passionate about coding, algorithms, Linux OS, etc. And also by Googling I found out that Linux OS is one of the best OSes for Embedded devices(may be/may not be). I want to work for companies which work on mobile applications. I'm a newbie/naive to this domain & my skills include C/C++ & MySQL. I need help to get started in the domain of Embedded Systems; like how/where to start off, Hardware prerequisites, necessary programming skills, also what kind of Embedded Applications etc. I've heard of ARM, firmware, PIC Micorcontrollers; but I don't know anything & just need proper introduction about them.

P.S: I'm currently reading Bjarne Struotsup's lecture in C++ at Texas A&M University, and one chapter in it describes about Embedded Systems Programming.

解决方案

I would avoid operating systems all together, Embedded Linux is an oxymoron, what are you really learning? You could learn the same thing with your home computer.

Yes, ARM is the king of embedded and may remain so for a while, eventually you will need to take a look.

Sparkfun.com is a great site, they offer a number of the olimex boards plus others like arduino derivatives. I prefer the msp430 to the avr, but the avr is more popular.

Outside sparkfun look at the ez430 from TI (msp430) direct or from digikey or mouser. Stellaris has a number of nice boards, the 811 is easy to brick, my first one lasted only a few hours, oops, I should have read the 17 warning labels stuck to everything in the box, dont touch the enables or direction on those jtag lines. stellaris packed a ton of stuff on the boards, very good platform for learning embedded programming, reading schematics, reading data sheets and programmers reference manuals, learning that all schematics and reference manuals are a little buggy and you have to hack your way through. If you want something to build your own projects on though you have to cut away (not literally) goodies on the boards, so I would go with an olimex header board for adding your own electronics to.

I normally recommend learning arm before thumb but have just completed (well is anything every complete?) a thumb instruction set simulator thumbulator.blogspot.com, very easy to use and modify to watch what is going on or debug your stuff.

Back to sparkfun. The olimex header boards are good, sub $50, the various arm vendors are represented (except for ti/stellaris). Arduino pro mini for under $20. The armmite pro is good. Avoid the mbed2 and lpcxpresso, perhaps avoid lpc all together (other than the armmite pro).

qemu is also a good simulator, not as easy as the armulator or my thumbulator to dig into to see what your code is doing. But there are many rtoses and linuxes that run on it (arm and other processors are simulated), the arm integrator eval board is a popular target and is simulated by qemu. Just within arm there are many eval boards emulated by qemu.

The beagleboard is popular but I was quite disappointed with my beagleboard and always innovating netbook. It cost another $100 - $150 to make the beagleboard useful. Embest has a much better beagleboard clone, that is useful out of the box. I like the hawkboard.org much better than the beagleboard, slower by a bit, half the price, but a better board. You can work on linux or true embedded (no operating system) or whatever you like. Being TI omap based there is a dsp on chip as well in case you have some interests there.

I am not a fan of pic, and have been and will get flamed for it, doesnt bother me. I recommend learning assembler for the msp430, avr, arm, thumb (and pic), real embedded always involves a little assembler to manage the boot process, interrupt handling and the like at a minimum. The msp430 and arm are well suited instruction sets for C compilers, pic is horrible as is the 8051, that doesnt mean there arent C compilers, it is just horribly inefficient and adding a high level language makes the result that much worse. The pics are quite resource limited. The pic32 is a mips derivative and not what I am talking/complaining about. That is a whole other family and category of device. I would go with the msp430 over pic given the choice both for assembler and C, size, power, features, etc.

Mips is probaby arms biggest competitor, sadly it is the one platform I have not had the opportunity to learn.

8051, 6501, and the lsi11 used by the pdp11 are a nice trip down history lane. the lsi11 is what the C language was invented on and you can see parallels between the assembler and C. The msp430 instruction set has the same feel, both the msp430 and lsi11 are excellent instruction sets for beginning assembler. The 8051 is probably the oldest surviving workhorse, it had its day as the dominant embedded processor, and can still be found in new chip products. like the pic the instruction set is a tower of hanoi puzzle, in and out of the accumulator, in and out, in and out several instructions to do anything useful. sdcc is a free 8051 C compiler and just the right size if you want to dig into the guts of a compiler and have a chance at understanding it (without having to buy books or take classes).

I am a big fan of the gameboy advance and nintendo ds, the gba is easier, emulators are out there for both, although are geared toward playing rom games and not necessarily perfect at emulation you might do for homebrew development. the gba's other than the mini have serial ports making debug that much easier (mini has one but getting at it is harder). start with the gba if you can, much cheaper, much easier, once you get the hang of the the ds is a couple of gbas tied together with some extra complications.

Based on your post, not knowing if the cost is too much, my guess is the hawkboard (hawkboard.org) is a good choice for linux, embedded, algorithms and other items you listed. Go ahead and get the power supply and the otg usb cable if it doesnt come with it. If you are like I was as an EE student that may be too rich, look at the arduino pro or actually the lillypad because it comes with the pins already, no soldering or extra parts required, yes get the $14 usb to serial thing. For the price of the lillypad and usb to serial/power board you could get a armmite pro and not need anything else other than a usb cable (I know it is a lpc, its okay). I have web pages on how to remove the arduino like firmware from both platforms and get at the processor, not brain surgery, pretty easy, but first timers might hesitate. The ez430 falls into this same price category, you dont need anything else but the $20 kit, three more boards cost you $10 for the set. If that is too rich or even if not the emulators are free some are much easier to debug than running on real hardware as you have the source code and can compile in print statements or whatever. You can get your feet wet without expending anything but time, and see if this is something you are really interested in.

Remember even the best emulator is not like being on the real hardware (same as running your code under a debugger). You may have to start your project over on hardware, but that is the fun of embedded. board bring up...

这篇关于需要点火才能学习嵌入式系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆