夏季黑客

作者: Johan Thelin

现在是北半球的夏季,我决定将目标放在比过去几年习惯的系统更小的系统上。 特别是,我决定最终打开我亲爱的旧 PICkit II。 目标是从 Linux 环境中使用这个板子。

PICkit II 采用 PIC16F690 设备。 提供的调试加密狗支持更多设备,如果您使用 PIC 处理器,这是一个非常方便的工具。 PIC16F690 配备 7kB 程序 FLASH、256B RAM 和 256B EEPROM; 几乎不足以运行 Linux,但足以执行小型监控或自动化任务。

令我高兴的是,Microchip(PIC 处理器的制造商)现在在 Linux 上支持 PICkit II。 这些工具按“原样”提供,并且不期望在不支持主要道路的支持部门中受欢迎,但尽管如此,总比没有好。 此外,它们是免费的,但只是免费啤酒意义上的免费。 要下载该工具,请在 PICkit II 页面上查找适用于 Linux 的 PK2CMD(只需搜索 Linux)。

推荐下载的文件是源代码包,因为二进制文件是在 2009 年在 CentOS 4.7 上构建的。 要构建二进制文件,请解压源代码包,进入生成的目录并运行 make linux,然后运行 sudo make install。 在我的 Debian 系统上,我需要安装 build-essential 和 libusb-dev 才能成功编译。 生成的安装最终会在 /usr/local/bin/ 和 /usr/share/pk2/ 中结束。 您还需要为 USB 设备设置几个 udev 规则才能正确检测到它,如 此博客 中所示。 我遇到的唯一未在那里讨论的问题是更新 PICkit II 编程器本身的软件,即 pk2cmd -?V 返回的OS 固件版本。 我不得不屈服并使用了 Windows 版本来正确更新它(在那里也尝试了三次)。 请放心 - 我没有因为尝试而损坏设备 - 不止一次。

pk2cmd 工具让我可以连接 PICkit II 编程器,即下载软件到 PIC 设备。 现在,缺少的是实际创建软件的工具。 在这里,可以获得完全开源的工具链。 令我高兴的是,它已经为 Debian 打包好了,因此只需 apt-get install gputils gpsim 即可解决问题。

gputils 包包含 gpasm 和 gplink - 与 PIC16F690 设备兼容的汇编器和链接器。gpsim 包包含 PIC 电路的模拟器。 但是,它不支持我们特定的 PIC 设备。 尽管如此,它非常适合在受控环境中进行实验和详细调试(没有现实来困扰您)。

PIC 指令集可以被描述为,让我们客气点,很奇怪。 它非常不对称,并以各种方式暴露了裸机。 如果您学习过微处理器架构 101 或类似的东西,您会看到许多熟悉的肉身概念。 不过,对于我们这些无法忍受这种情况的人来说,还有 SDCC - 小型设备 C 编译器

SDCC 也 预先打包用于 Debian 和其他发行版。 它支持所讨论的 PIC 设备,但也支持 MCS51、DS80、Z80 和 HC08。 PIC 支持分为 PIC14 和 PIC16,其中数字表示每个指令中的位数。 为了自娱自乐,Microchip 工程师将 PIC16F690 设备制造成了 PIC14 处理器。

好吧,夏季天气很好,我的 LED 在这里闪烁,所以我给您留下一系列工具,希望您能够使用它来在自动化和基于 PIC 的开发中迈出下一步。

加载 Disqus 评论