开始编写嵌入式代码

时间:2012-09-07 10:47:14

标签: embedded

我想学习如何编写嵌入式代码。不幸的是,我不是一个非常有经验的程序员,而且我还没有得到如何开始的线索。

我正在研究的项目是带有运动传感器和微处理器的PCB,我想通过对微处理器进行编程来控制传感器的设置。

我需要什么样的硬件和软件?我读过我需要JTAG /开发板和编程环境。我很乐意参考任何书籍/网站,告诉我(最好是基本的)如何开始。到目前为止,我发现只有作为初学者才能阅读的资料。

微控制器(STM32F101RC,内核:ARM 32位Cortex™-M3 CPU)使用SPI与传感器通信。 PCB包含USB和JTAG连接(10个引脚)。另外,我正在使用Windows笔记本电脑进行编程。

3 个答案:

答案 0 :(得分:1)

这取决于您拥有的具体配置 - 可能是ARM或AVR板。在这两种情况下,您都可以获取基于GCC(GNU)的工具链并开始编写C / C ++代码,就像通常那样 - 您将无法使用需要操作系统的功能(即文件操作,使用标准I / O - 你有端口和SFR等)

答案 1 :(得分:1)

工具链:

  • 软件:我建议Yagarto顺利开始。
  • 硬件:您需要一个片上调试器。我建议J-Link ECU

你可能/应该:

  • 至少掌握一些有关嵌入式软件/硬件的知识( AVR Microcontroller and Embedded Systems: Using Assembly and C 这本书很棒!)
  • 了解ARM Cortex-M3架构的基础知识(google it!有很多资源,书籍等)
  • 获得一些C体验
  • 如果您的产品确实需要,请考虑使用RTOS
  • 如果您打算使用ARM Cortex-M3,请查看CMSIS
  • 检查芯片制造商是否为芯片提供了任何软件库,引导加载程序......
  • 最初没有使用自定义PCB,使用开发板来构建项目原型

重要提示:

我不知道您选择目标处理器的标准,但如果项目不需要ARM M3(32位)处理能力,请考虑使用AVR 8位microcontroller。 AVR比初学者更容易,也更便宜。这里的规则是不要使用功能比产品/项目需求高得多的微控制器。

答案 2 :(得分:1)

要学习嵌入式系统编程,最好从简单的8位板和自由ide开始。你可以从avr / 8051系列/ pic系列等开始 嵌入式编程的主要问题是设置适合您的电路板功能的启动配置/初始化。如果你从自己的董事会开始,很难自己跨越这个阶段。如果您从一个随时可用的工具包开始,那么给出的示例将轻松地引导您完成此过程。一旦你越过这个阶段,你将获得足够的信心来处理更大的事情。我不是在这里提倡任何一个处理器系列。还有一件事是成为一名优秀的嵌入式程序员,也必须对硬件非常熟悉。在多个团队成员在嵌入式项目上工作的大型项目中,你可以获得涉及纯粹的c和逻辑的角色,而不是很多h / w知识,但要想要多才多艺,你必须熟悉如何设计电路板的方式。工作