我学习了编写控制器的代码,但从未真正将代码放在物理设备上。我试图弄清楚我需要订购什么才能开始开发基本的嵌入式系统。
例如,如果我有一个 PIC18F1330,我有 MPLAB IDE 和 XC8 编译器。太好了,所以我已经编译了代码,我准备把它放在控制器上。我需要什么才能将我的 PC 上的编译代码传输到控制器上?
我见过诸如在线调试器和 PIC 套件之类的东西。我只是在这一点上迷路了。
我学习了编写控制器的代码,但从未真正将代码放在物理设备上。我试图弄清楚我需要订购什么才能开始开发基本的嵌入式系统。
例如,如果我有一个 PIC18F1330,我有 MPLAB IDE 和 XC8 编译器。太好了,所以我已经编译了代码,我准备把它放在控制器上。我需要什么才能将我的 PC 上的编译代码传输到控制器上?
我见过诸如在线调试器和 PIC 套件之类的东西。我只是在这一点上迷路了。
由于您将 MPLAB IDE与 XC8 C 编译器一起使用,您可以从菜单 Configure->Select Device 检查兼容性(绿色指示灯表示完全支持,黄色表示部分支持,红色表示不支持)。
目前,最好的选择是 Pickit 3、ICD3 或 RealICE(按价格递增的顺序)
以下是兼容的程序员、调试器:
你真的想要调试支持和编程支持。
安装设备驱动程序后,您可以选择并连接到它(给定设备只能在给定时间作为调试器或编程器安装):
然后,当您编译程序(以调试或发布形式)时,您可以使用如下所示的按钮对微控制器进行编程:
从物理上讲,PICkit 或其他调试/编程器单元有一个连接器,您可以将其连接到您的系统。有6个引脚,其中5个是使用的,包括电源和地。
有几种方法可以将您的代码闪存到微控制器。
在网上,你会发现相当多的自制程序员,但他们通常也有自制的软件,并且没有(很好)集成在 MPLAB IDE 中。
Microchip 最便宜的解决方案是大约 40 欧元的 PicKit,只需通过 USB 连接到 PC。虽然 PicKit 有一些调试选项,但还有更强大的“电路调试器”ICD,大约 180 欧元,它具有更多的调试功能,当然也可以烧写芯片。
我一直觉得 PicKit 对我来说已经足够了。
那里有第三方版本,因为 microchip 发布了 PicKit 的固件和原理图,但如果你购买它们,请确保你真的得到了你认为你得到的东西。我曾经看到过 PicKit 3 的报价,但我不确定它是不是 PicKit 2。
就像评论一样:有 Microchip MCU,可以自己闪烁。例如,我们使用了带有嵌入式 USB 的 PIC18F2450/2550/4450/4550 系列,并在其上放置了引导加载程序。当跳线闭合时,MCU 在启动时进入引导加载程序模式,您可以使用您的代码刷新您的 MCU。这些东西都可以从 Microchip 获得。
要使用它,您需要对代码进行一些修改。当然,您需要一个普通的程序员来初始化 MCU 上的引导加载程序。因此,如果您有程序员,此功能没有意义。但是,如果您想为您的客户更新固件,那就太好了。
在撰写本文时,将二进制文件刻录到微控制器有 3 种主要方法。根据特定的微型,其中任何 3 个都可能可用。最古老的方法是特定于设备的编程器/调试器。当前用于 Microchip 部件的是 Pickit3/ICD3,它们与所有当前的 PIC 微控制器和一些较旧的微控制器兼容。您不能使用它们对其他制造商制造的零件进行编程。
第二种方法称为引导加载程序。这是一个小程序,在您拥有该部件之前烧入微机。引导加载程序允许通过 micro 的标准接口进行编程 - UART、SPI、以太网等。ARM 芯片通常带有预加载的引导加载程序以及 AVR。如果存在引导加载程序,则您不需要专有的编程设备,但您将无法轻松进行单步调试。
第三种称为JTAG。它是半通用接口,您可以使用它对许多不同的部分进行编程和调试。您将需要一个名为 JTAG 加密狗的设备。一些 PIC 部件具有 JTAG。ARM 芯片通常具有 JTAG,并且许多没有任何其他调试接口。
一般配方:
你快到了。您拥有以非常用户友好的方式执行 1 和 2 的集成开发环境。它甚至具有程序员接口,因此您无需担心什么是 HEX 文件(点击“播放”即可完成)。
但是,您仍然需要物理编程器来将您的设备与 PC 连接 - 那里有 PIC 的编号。Pickit就是其中之一。如果您打算认真对待嵌入式编程,您可能应该投资购买在线调试器 (ICD)。它是一个程序员,也可以让你在微控制器中偷看或戳变量和寄存器,甚至可以随意单步执行和停止程序。