![]() |
1
3
所以不是最好的网站来问这种问题。PC编程和嵌入式系统编程真的有很大的区别,其他SE站点专门从事物理计算。我周二收到罗伯特·卡塔诺的邮件:
所以,去承诺 electronics.stackexchange.com here 浏览 chiphacker.com 在你等待的时候。看看这些关于ChipHacker的问题:
在规划嵌入式系统编程的入口路径时,您应该考虑一些事情。
我在下面的段落中概述了一些选项。
你把你的问题贴上了标签
你也把你的问题贴上了标签
如果你想要一个更简单的学习曲线,我建议你看看 Arduino 环境。它使用 Wiring 这与C/C++非常相似,ARDUIO可以用“SeldDS”来增强,这是可以插入ARDUINO主板以增加功能的模块。这是你的快速启动。 一个好的学习方法是熟悉Arduino,然后构建自己的AVR板(可能是Linux设备,如操纵杆),然后使用 ARM -基于开发工具包,最后继续构建自己的嵌入式Linux板。如果你不介意陡峭的学习曲线,你可以跳过几步,或者如果某一特定级别的能力满足了你的需求,你可以中途停下来。在微控制器上运行程序并不一定需要“大量的电子知识”,这是事实,但是在你试图点亮一个LED或连接两个设备之前,你应该了解一些基本的东西,比如电压和电流。 最后,你在问题中说你已经安装了Keil-IDE。虽然这是一个很好而且相当流行的IDE,但我建议您学习使用基于GCC的命令行工具链。在使用嵌入式系统时,有许多方法会出错,而且IDE在发生的一切之上添加了一层魔力。虽然这很好,但我是一个强烈的倡导者,在尝试学习这个系统的时候,尽量减少魔法。当事情不能自动运行时,你需要理解低级的东西。这个建议在使用Arduino时不适用,它的目的是(并且确实)使所有的自动化设备都能很好地工作。 |
![]() |
2
0
Sparkfun.com有很多董事会,Arduino家族和其他。我推荐Armmite Pro,LillyPad而不是Arduino Pro,因为它不需要焊接,因为您需要/想要正确的USB连接到串行/电源。MBED2的价格要贵一点,蓝色的LED在眼睛上很残忍,但很容易使用。因为以上都不需要你在他们的沙盒里玩,你可以使用罐头环境,等等,但不需要。 如果这是Linux开发,那么在我推荐hawkboard.org而不是beagleboard.org之后,为了使beagleboard的可用成本大约是board本身的两倍,hawkboard只能通过购买一些东西来驱动它。但是你只需在你的台式机/笔记本电脑上学习Linux驱动程序,就不必再纠结于嵌入式系统了。 模拟器是一个很好的开始。QEMU是一种很好的工具,可以模拟多个处理器,非常适合于模拟虚拟Linux系统,学习Linux驱动程序开发等。但是,了解(虚拟/模拟)处理器所做的工作并不是目标。我发现能见度很有用。GDB还包括一些模拟器。妈妈也有很多,但就像QEMU一样,它是为快速模仿而设计的,而不是为教育而设计的。男孩的视觉进步很好。仿真从来都不是完美的,所以最终你想要在硬件上运行,但是模拟器和编译器工具是免费的,你可以在购买硬件之前学到很多东西。但是,有相当多的内容您无法从模拟器中学习,比如将程序加载到flash/ram中,使用jtag或其他接口进行调试。I2C、SPI等。 |
![]() |
JeffreyH · 需要解释InvenSenses运动驱动程序 7 年前 |
|
gotti123 · 在MCU上查找Pin 7 年前 |
![]() |
frank_010 · 在32位字存储器中连续读取3个字节 7 年前 |
![]() |
LOSnel · 干扰irq将我从睡眠模式唤醒 7 年前 |
![]() |
Juliano · ili9341不处理STM32f4发现 7 年前 |
![]() |
yun · USB音频缓冲区欠载 7 年前 |
![]() |
puzzled · 全球结构不起作用[关闭] 7 年前 |
![]() |
Aimal · Elf十六进制表示法 7 年前 |
![]() |
girikks · 结构值未在主源文件中更新 7 年前 |
|
user8235882 · 未在操作系统C中执行的for循环 8 年前 |