c++ - 在哪里学习硬件编程?

标签 c++ c embedded hardware

我一直在做一些网络开发,现在我想进一步了解编程,所以这些硬件编程的东西让我很兴奋。我找不到合适的地方开始学习这个过程。那么你能提供更好的地方吗?我想更好地了解 C 或 C++ 来进行硬件编程。有什么地方可以让我从头开始学习吗?

谢谢。

最佳答案

您可以花 10 美元或更低的价格买到一些带有 LED 之类的东西的电路板,您可以从在该级别轻松编程开始,然后扩展这些知识。我在 github 上有一些低于 100 美元(通常低于 50 美元)板的示例程序。

例如,msp430 启动板是 4.30 美元,stm32 值(value)线发现大约是 10 美元。

尽管我在世界上有许多基于 avr 的示例,但我还没有在 github 上发布 arduino 示例。 arduino 可能是您想要花一些时间的地方,您可以将一长串的东西插入 arduino 板,在 arduino 行话中称为“屏蔽”。你可以做无线的东西,机器人,gps的东西。他们似乎在使用 api 调用环境等创建用户友好的 C(/C++?) 方面做得很好。sparkfun.com 是各种嵌入式开发/评估板以及一些 arduino 项目的好地方(不是全部那当然是在那里)。 ti.com 是 msp430 和 ARM cortex-m 设备的 Stellaris 系列的所在地。 Stellaris 系列的评估板挤满了您可以学习编程的外围设备。

如果您不习惯这种深度嵌入并希望使用操作系统运行。您的系统价格在 100 美元到 300 美元之间,但它们就在那里,例如,embeddedarm.com 和 gumstix(请注意,例如 robovero 不是一个成熟的 linux 平台,它更接近我上面描述的平台,微 Controller 基于)。

在刚刚启动处理器的基础知识之后,您需要学习 spi 和 i2c 以及其他类似的通用接口(interface)。一些 Controller 有专门的硬件来为你做脏活,而一些你只是有点砰砰。学习 bitbang 这些是至关重要的,因为即使在您的台式机或笔记本电脑中,驱动程序中也有 linux bitbangs 的 i2c 接口(interface)。

期望杀死一些硬件,要么通过砖 block 板使其无法启动并且不可恢复,要么完全“让烟雾散发”某些部分。简而言之,我绝对不会为这种教育投资 300 美元或类似的东西到一个单一的董事会/平台上。您可以购买许多 25 美元的电路板并在学习时将它们中的大部分扔掉/销毁。我几乎总是第一次买两个以防万一。这些天我通常不让烟出去,而是用砖砌了一些木板。当您开始制作自己的引导加载程序时,这是一种风险。这类似于编写桌面应用程序,偶尔会意外覆盖输出文件,或者打开您想要读取的文件作为打开写入并丢失文件,这样的事情就会发生错误。

msp430 启动板非常便宜,不妨买一个或几个,一个非常好的指令集等。你可能会适应 arduino,arduino uno 不是一个糟糕的第一 block 板,mbed 上arm 方面还不错,你根本不必使用他们基于 web 的东西,你可以使用任何你想要的编译器。 Arm 在处理器市场上占主导地位,每两件或三件带有开/关开关的东西(包括越来越多的基于英特尔的笔记本电脑)都有一个或多个 ARM 在其中运行某些东西。 avr 远非如此,也不会如此,它主导着业余爱好市场,而不是世界其他地方,所以在某些时候, ARM 知识会让你受益匪浅。

关于c++ - 在哪里学习硬件编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754315/

相关文章:

c++ - 如何使存储在 vector 中的对象中的数据唯一?

c - 标记化后如何使字符串包含定界符?

c - 使用 win32 API 查看 Windows XPe 系统是否有 USB2 或只有 1.1

c++ - 错误 : void value not ignored as it ought to be

c++ - 重载 I/O 流运算符和前/后递增/递减运算符错误?

c - 将多个参数传递到一个 void 指针参数的好方法? (C)

embedded - 为什么您需要可编程实时单元 (PRU) 而您可以拥有 RTOS?

embedded - 使用ARM微 Controller 学习嵌入式系统编程

c++ - ROS 移动约束

c++ - 两个数字的按位连接