Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 嵌入式编程。。。一开始_C++_C_Embedded_Arm - Fatal编程技术网

C++ 嵌入式编程。。。一开始

C++ 嵌入式编程。。。一开始,c++,c,embedded,arm,C++,C,Embedded,Arm,我希望从零开始学习编程嵌入式系统。环顾四周一段时间后,我发现自己有点困惑 我可以同时编程C和C++,但我不知道从哪里开始嵌入式编程,如果我买了某种设备来实践,使用微处理器仿真器(如果是的话,哪一个?)-类似的东西,欢迎提供任何关于从何处开始的建议或资源。有几种嵌入式平台深受爱好者的欢迎,并且非常易于使用。Arduino可能是最受欢迎的。主板价格便宜(20-30美元),使用方便,而且有很多好的软件。Arduino平台的主要网站是。你会在那里找到很多其他资源的链接,这些链接将帮助你入门 你可能想去看

我希望从零开始学习编程嵌入式系统。环顾四周一段时间后,我发现自己有点困惑


<>我可以同时编程C和C++,但我不知道从哪里开始嵌入式编程,如果我买了某种设备来实践,使用微处理器仿真器(如果是的话,哪一个?)-类似的东西,欢迎提供任何关于从何处开始的建议或资源。

有几种嵌入式平台深受爱好者的欢迎,并且非常易于使用。Arduino可能是最受欢迎的。主板价格便宜(20-30美元),使用方便,而且有很多好的软件。Arduino平台的主要网站是。你会在那里找到很多其他资源的链接,这些链接将帮助你入门


你可能想去看看,它主要是一家电子零件(包括Arduino和其他有用的电路板)和工具的爱好者级供应商。他们已经在他们的网站上帮助您开始使用硬件和软件。

您有很多选择!我想你应该从一个模拟器开始(不管你使用什么类型的嵌入式操作系统,可能你不会使用x86CPU)。如果要使用x86CPU,您不需要任何模拟器,但可能需要一个虚拟机


你用“arm”标记了你的问题,所以我猜你想使用arm处理器(然后你需要一个模拟器)。开始看吧,你会发现从嵌入式编程开始的教程和资源。

为什么不从以下内容开始:

这应该涵盖你正在寻找的很多领域

或者在这里可以找到很多:


享受第一步的乐趣=)

可以将嵌入式系统分为两类:

  • 那些运行完整操作系统的。如果有一种记录在案的方法来获取操作系统并启动它,那么这些操作系统的处理与台式机没有任何区别,除非您需要构建或下载交叉编译器。当然,对于像手机这样的东西,环境的赞助者会提供带有调试器的复杂开发环境

  • 那些在所谓的“裸机”上运行程序的人。除了加载您的程序和语言运行库外,这些程序将只加载很少的内容。(其中一些非常简单,可以运行简单的解释器或汇编语言。它们的优点是不需要复杂的编程来设置集成的外围设备。)

您可能不需要模拟器或其他硬件调试设置,事实上,您甚至可能不需要硬件来启动。如果可能,尝试在虚拟机中进行初始开发

一如往常,你得到你付出的。在商业项目中,有很多环境可用,但这些环境可能不太适用于机器人项目等


有很多平台都提供了合理数量的支持。最新的rage(由于其35美元的价格点)是,但目前还不能立即提供。

在我看来,跳过Arduino。我一直认为它是一种非程序员的简化系统。首先,尝试一些可以让你运用你的C语言知识来获得尽可能低的水平的东西。您想了解中断向量是如何工作的,有限的RAM如何限制堆栈,如何调试

查看飞思卡尔的8位和16位微控制器,尤其是HCS08或HCS12。有一些100-200美元和一些低于100美元的开发系统,带有内置调试接口(后台调试模式)。它们也比Arduino具有更高的性能和内存。CodeWarrior软件是免费的(代码大小限制,但在大多数情况下限制数量大于这些设备上的闪存数量),功能齐全。我不知道您是否可以使用Arduino设置代码调试断点,但您可以使用这些断点。CodeWarrior还有另一个好处——虽然您最初确实想深入研究数据表,以了解各种模块的内存映射寄存器是如何工作的(例如,应该如何清除标志,如何设置模式,等等),CodeWarrior附带Processor Expert,它将为您生成特定HCSxx系列衍生产品及其特定模块的函数。由于这些产品中的大多数都重用了派生产品之间的逻辑,并且有一些细微的差异,因此重用代码是有意义的。处理器专家自10年前问世以来,已经走过了漫长的道路。从长远来看,这对开发时间来说是一个巨大的节约,因为这些函数负责编写非常低级别的操作(例如,使用一个C函数调用为xx/yy占空比配置PWM定时器输出引脚)


然后,您可以使用将在这些平台上运行的一些操作系统,也可以升级到ARM或ePPC。我知道至少有一个HCS12演示板随Linux和Web服务器一起提供,您可以在第一次开发时将其删除,然后在准备就绪时将其放回原处。飞思卡尔也非常擅长提供教程、应用程序说明和文档,只是他们的网站有时很难导航。我想这只是大型生态系统的一个症状。祝你好运

我建议尝试一些TI的EZ430系列开发工具。有些工具只需20美元就可以买到,并且具有基本功能,以及扩展它们的方法。您可以轻松地购买两台eZ430-F2013,并让它们相互交谈或与另一台计算机交谈

TI为他们的MSP430附带了CodeComposer Studio,它是免费的、功能齐全的(它基于Eclipse),因此编程环境非常用户友好。TI还提供了大量代码示例,涵盖了系统的大部分功能

使用MSP430,您将在“裸机”代码上编程,正如它所说的,所以您不仅要编程C,还要切换输出和位碰撞。但看起来你对这个很感兴趣