我对构建嵌入式设备的应用程序非常感兴趣。我是电气工程专业的第三年,我对编码,算法,Linux操作系统等充满热情。通过谷歌搜索,我发现Linux操作系统是嵌入式设备最好的操作系统之一(可能是/可能不是)。我想为从事移动应用程序的公司工作。我是这个领域的新手/天真&我的技能包括C / C ++& MySQL的。我需要帮助才能开始进入嵌入式系统领域;喜欢如何/从哪里开始,硬件先决条件,必要的编程技巧,以及什么样的嵌入式应用程序等我听说过ARM,固件,PIC微控制器;但我什么都不知道只需要对它们进行适当的介绍。
P.S:我目前正在德克萨斯A& M大学读Cjarne Struotsup的lecture C ++,其中的一章描述了Embedded Systems Programming。答案 0 :(得分:10)
答案 1 :(得分:6)
通过谷歌搜索我发现了Linux操作系统 是嵌入式最好的操作系统之一 设备(可能是/可能不是)
它为您提供了许多功能,低成本。但是,您必须考虑运行它所需的硬件成本,否则您可以使用成本较低的设备,以及您无法控制的大量第三方代码。它也不适合hard real-time个应用程序。通过使用Linux,您将隐含地要求带有MMU的32位处理器(除非您使用uClinux和松散的内存保护),以及几个Mb的RAM和非易失性存储。
此外,您还可以通过最初针对Linux,但使用RTOS或实时内核(例如FreeRTOS,QNX,VxWorks,eCOS,uC / OS-II或III)了解嵌入式系统的更多信息,或者只是在没有操作系统或执行官的情况下编写“裸机”编程。
嵌入式系统文章的一个很好的资源是http://embedded.com/
关于硬件,ARM是嵌入式系统中最普遍使用的架构,包括手机,PDA,STB,DAB无线电,数码相机,手持游戏,上网本,iPad,机器人等。它可以从许多芯片制造商处获得,广泛的性价比和外设和片上存储器。基于Cortex-M3的部件将是一个很好的介绍,并且是一个更清晰的设计,它本质上取代了旧的ARM7TDMI内核。 (只要你不想运行Linux,在这种情况下你至少需要一个带有外部存储器的ARM9)。
如果电路板/工具成本至关重要,您可能宁愿使用8位设备,我建议基于Atmel的AVR。这些器件很简单,范围广泛,适合用C语言编程(如果你愿意,还可以用C ++编写)。 PIC可能看起来很有吸引力,但它涵盖了一系列基本上不兼容的架构(每个架构需要不同的工具链),除非您使用高端器件(例如PIC24 / dsPIC),否则它们不能提供用于C编程的最佳平台。或者C ++。
答案 2 :(得分:3)
看看Arduino project。除其他外,它是为学生设计的一种便宜且易于编程的嵌入式系统。
答案 3 :(得分:2)
我碰巧是最近的PIC器件的粉丝,比如PIC24F和dsPIC33F。它们针对C进行了优化,Microchip提供了免费的编译器。 PIC的一个好处是它们中的许多都采用DIP封装,因此您可以将它们放在塑料面包板上并立即开始使用它们。价格也便宜。例如,Digikey以28美元的DIP封装出售PIC24FJ16GA002(16K闪存,4K RAM,I2C,SPI,UART和并行端口),价格为3.64美元。