本文档描述了如何设置Eclipse IDE和WinAVR工具链以在Windows上对Kilobots进行编程。
注意:如果您是Kilobot平台的新用户,建议您使用在线Kilobot编辑器,而不是通过以下过程。这个过程对于那些将广泛使用Kilobot平台并希望使用更全面的IDE的人来说是值得的。
安装WinAVR
1.1下载并安装WinAVR。在安装过程中,接受安装Programmer's Notepad的选项。
1.2如果您正在运行某些版本的Windows(当然是8.1,显然是Vista),则需要替换WinAVR安装目录中的DLL(解决不兼容问题)。下载并解压此DLL,并将其复制到/utils/binWinAVR安装目录下。当系统提示您是否要替换当前DLL时,请接受。
建立Kilolib
2.1下载 Kilolib并解压缩压缩文件。
您现在需要构建Kilolib,使用Programmer的Notepad IDE最简单。没有必要创建一个项目; 你只需要将IDE指向Kilolib目录,它就会执行那里的Makefile。
2.2在Programmer's Notepad中,单击File -> Open,导航到Kilolib目录并打开该文件blank.c。
2.3点击Tools > Make All。
如果一切顺利,你应该得到:Process Exit Code: 0。现在可以/build在Kilolib目录下找到构建的文件。静态库是文件kilolib.a。
安装Eclipse和插件
首先,您需要安装Eclipse并支持C / C ++(CDT插件)。
3.1如果您不打算使用Eclipse进行Java开发,则可以直接下载并安装Eclipse IDE for C / C ++ Developers版本。在这种情况下,请跳过下一步。
3.2或者,如果您已安装Eclipse但不安装CDT插件,请按照此处的说明进行安装。
接下来,您需要安装AVR Eclipse插件。请注意,这不包括AVR工具链(编译器,链接器等),这就是安装WinAVR的原因。
3.3按照此处的说明安装AVR Eclipse插件。
设置Eclipse项目
现在为稍微艰苦的部分。您将从头开始设置一个Eclipse项目,并使用正确的设置来构建Kilobot程序。完成之后,您应该(当然可以)将这个“干净”项目的副本作为样板文件制作,因此每次启动新项目时都不必重复此过程。
创建项目
4.1打开Eclipse并选择一个工作区(例如,在桌面上创建一个目录以获得便利)。
4.2点击File > New > C Project。在对话框中,为项目命名(这里我们假设它是Kilobot)Project Type,然后选择AVR Cross Target Application > Empty Project。点击Next。
4.3您可能不需要Debug和Release配置。取消选中Debug并单击Next。
4.4在下一个对话框(AVR Target Hardware Properties)中,在MCU Type选择下ATmega328P,并设置MCU Frequency为8000000Hz(8 MHz)。点击Finish。
4.5右键单击项目名称,在项目中创建一个新的源文件> New > Source File。为这个新的源文件命名,例如main.c。将此代码中的代码复制并粘贴到blank.c Kilolib目录中。您将使用此代码确保一切正常(稍后,您将在此文件中编写自己的程序)。
设置标题和库文件路径
您现在需要为Eclipse提供Kilolib头(.h)和库(.a)文件的路径。虽然您可以将这些路径设置为计算机上的任何目录,但我建议将它们复制到Eclipse项目目录中。它们足够小,这样你的项目就是独立的。
4.6在Eclipse项目,创建两个新的目录,并呼吁他们include和lib(创建新的目录,右键单击该项目名称> New > Folder)。
4.7将所有 .h文件从Kilolib目录复制到include项目目录中。
4.8将kilolib.a文件从/buildKilolib目录复制到lib项目的新目录中。
4.9非常重要的是,将刚刚复制到lib目录中的kilolib.a文件重命名为libkilolib.a(即在其前面添加“lib”)。这是因为链接器期望所有库文件都以“lib”开头。
您现在将告诉Eclipse在哪里查找您刚刚复制的头文件和库文件。
4.10右键单击项目名称,然后单击Properties。C/C++ Build -> Settings。在Tool Settings前往AVR Compiler -> Directories。在下Include Paths (-I)添加新路径。单击Workspace并导航到include项目中的目录。点击OK。
4.11还在C/C++ Build -> Settings,去AVR C Linker -> Libraries。在下Libraries Path (-L)添加新路径。单击Workspace并导航到lib项目中的目录。点击OK。
4.12在Libraries (-l)添加库并输入:kilolib。链接器将自动查找调用的文件libkilolib.a,这就是我们重命名此文件的原因。
修复一个bug
最后一步。如果您现在尝试构建并且您的编码使用数学库(math.h)中的任何函数,您将收到错误。这是由于一个错误 - 显然Eclipse试图使用C ++库而不是C语言库,这会导致问题。
4.13转到AVR C Linker(这比您已经存在的级别高一级)。修改Command Line Pattern为: ${COMMAND} -lc -lm ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -lc。
构建您的代码并将其上传到Kilobot
5.1关闭设置 - 你现在好了。按Ctrl+B(或转到Project -> Build All)构建项目。一个Release目录将在项目中创建的,这将包含目标代码文件(又名“hex文件”), Kilobot.hex。
5.2您现在可以使用KiloGUI工具将hex文件上传到Kilobot机器人上。
启动新项目时,您可能希望重命名样板项目的副本。除了重命名的目录,你还需要打开每个文件.cproject和.project,并做了搜索,并从旧(样板)项目名称设置为你想要的新的替换操作。快乐的编码。