c - 如何使用嵌入式 C 启动 ARM Cortex 编程?

标签 c arm embedded

<分区>

熟悉8051 C编程,现在想学习ARM cortex M3编程。我有带 ARM Cortex M3 处理器的 STM32F103C8T6 开发板,它是程序员和 Keil 编译器。我想用它做一些小项目,例如闪烁的 LED、SPI 和 I2C 编程等。我对 arm 架构知之甚少。博客上很多人说直接开始编程,而不是阅读体系结构或阅读数百页的 ARM 数据表。我不明白这怎么可能。

那么我的第一步应该是什么?

  1. 我应该阅读 STM32F103C8T6 的数据表还是 ARM Cortex M3 用户手册?

  2. 8051和ARM编程有很大区别。在 8051 中,我们不需要添加库/头文件。在 ARM 中我们需要添加很多库/头文件。 假设我想做 blinky 程序或学习 SPI/I2C 通信。在KEIL Compiler或STM CubeMX中,这些头文件已经存在了。但是如果我想自己从头开始(为外设、I/O端口、SPI/I2C协议(protocol)代码编写头文件代码),真的可以吗?如果是,我应该怎么做?

我非常困惑和沮丧,因为我还没有找到合适的人来指导我

enter image description here

最佳答案

我去过那里,一段时间后我意识到,即使这是您的第一 block 板,从数据表开始总是更好。

数据表提供了电路板、引脚和基本通信的综合工作。这可能很乏味,但它是值得的,当你开始编程时你就会意识到。

之后您可以直接跳转到头文件,并查看基本功能的实现,这将提供很多关于优化技术、编程风格和最佳实践的见解。

如果可能的话,找到更多为该板编写的代码(我总是在这里失败,如果你的板很少见就很难)。

有了它,您应该可以编写几乎任何代码。从 blinky(板的 hello world)开始

还有我的经验,我想告诉你,花点时间也没关系。要有耐心和坚持。

关于c - 如何使用嵌入式 C 启动 ARM Cortex 编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094560/

相关文章:

linux - 我可以使用 JTAG 在嵌入式 Linux 上调试我的程序吗?

c - 在编写用于合并两个已排序链表的代码时获取地址错误的运行时负载

gcc - as + gcc vs gcc 仅用于 ARM 汇编

arm - ARM (Raspberry PI)有新的遗物克隆吗?

C程序在16位处理器中获得2个数字的平均值

c - Qemu: fatal: Lockup: cant escalate 3 to Hardfault (Current Priority -1) 错误-Core Dumped

c - BlueZ 蓝牙 API 和距离校准精度

c - 如何在不使用 C 中的结构的全局声明的情况下返回结构

c - 减少 C 中的重复

linux - 如何从源代码安装内核模块。制作过程中出错