本篇介绍在CoIDE下,使用Cox库为Cookie板开发驱动的操作流程。流程嘛,就是流水帐,实在闷的很,有需要抽烟喝茶看报纸上厕所的就快去吧,注意:手机不用改震动,更犯不上关,反正您想接就接。
 
 
在CoIDE下开发驱动的全流程,分为写驱动和示例、写介绍,上传驱动和示例三部分。
 
一、写驱动和示例。这里为了简明起见,就不说如何嵌入Doxygen的说明了,如果需要了解,可以参考cox的相关文档。
开始的部分和写一般的应用程序类似,打开CoIDE:
新建一个项目:
在一个新的文件夹、起个名字、保存:
Cookie板的芯片是M0516LBN,可以在搜索框里输入m05快速搜索,就不用一层层展开找了:
到了组件选择的界面,尽管Cookie现在用的是新唐的片子,但是为了兼容以后的版本,请不要用NUVOTON的部件:
向下滚动,使用COX的组件,只要一选CoX.cookie.M051.config,上边会自动选一堆,如果要用I2C、SPI的话(注意:你的库的引脚要与cookie板的pin定义保持一致),要再选一下:
然后在项目上单击鼠标右键,选择配置:
这里,cookie的debugger要使用ColinkEx:
然后就要新建驱动文件了:
先增加驱动的头文件drvSample.h,注意定义要在第30列:
 
#include "cookie.h"
#include "xgpio.h"
#include "xsysctl.h"
 
#define PIN_LED_OUT          sD13
#define LED_BRIGHT           1
 
extern void DriveLight(void);
 
后面再添加drvSample.c:
#include "drvSample.h"
 
void DriveLight(void)
{
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(PIN_LED_OUT));
 
    xGPIOSPinWrite(PIN_LED_OUT, 1);
}
 
然后是驱动调用示例DriveLight_Sample.c,当CoIDE在工程中增加一个示例文件时,会自动将这个文件的第一个函数加入到main.c中:
#include "drvSample.h"
 
void CallDriveLight(void)
{
DriveLight();
}
 
修改main.c:
void CallDriveLight(void);
 
int main(void)
{
CallDriveLight();
    while(1)
    {
    }
}
 
你已经编写了一个点亮cookie上led的驱动,恭喜!
 
二、写介绍。可以参照驱动模板(20130107215856_Driver_Template.zip)中《驱动组件文档说明.docx》进行编写。
语法还是Doxygen,就不多说了。需要注意的是,现在CoIDE还没有上传这个介绍的功能,请到Cox的QQ群167693982里吼一嗓子。
 
 
三、上传驱动和示例。
尽管可以通过在文件系统里选择文件的方式上传,为了节省时间,最好还是在打开项目的情况下进行操作。
选择项目菜单下的上传部件:
选择Driver:
出现的窗口里,现在是“Overview”:
当鼠标移到有些项目上的时候,会显示出很多复选框,勾选就可以了:
“Overview”这一步填好所有项目后“Supported Devices”可用,点击后进入:
这一步要选择add增加支持的设备:
如果上面找不到,就要在“Supported Devices”里点击new来创建一个:
如果创建后需要修改,可以在“Supported Devices”里点击edit:
之后到了“source files”界面,这里要配置你写的驱动文件:
如果你选择的是project,选择select files后出现了这个窗口,在这里选择文件(可多选):
回来后成这样了:
document这一步现在可以跳过:
然后就到了发布界面,发布成功后就是这个样子的:
在coide里面也有了:
驱动发布成功后,就可以上传对应的示例了。
首先找到这个驱动,然后点右键,选upload example:
又是overview,填之:
然后填依赖的部件:
然后选sample文件:
又到了可以忽略的document:
发布:
至此cookie驱动开发部分完成,下面简单说一下维护。
如果发现驱动有错误需要修改,可以在组件库里找到这个驱动,点右键,选modify:
如果发现示例有错误需要修改,要先把相关的组件选中,这样在CoIDE的部件窗口里就会有这个组件和“with ? samples”字样。
这时点击这个部件,就会有examples窗口。如果是你上传的示例,就会出现管理选项:
 
本人使用CoIDE也不久,加之coocox还在不断成长中,上述过程恐有不妥之处,望诸君指正之,共同进步为盼。