XDCtools 是SYS/BIOS引用的一种实时的软件组件技术(RTSC),它包括一些有用的工具,标准的API函数,静态配置文件和打包(packaging)操作。XDC最主要的亮点在于它标准化了传递过程,并简化了在应用程序中引用目标平台下其他包的过程。
使用CCS5.5.0开发SYS/BIOS系统程序之前,必须首先安装SYS/BIOS系统工具和XDS开发工具,分别为xdctools_setupwin32_3_25_06_96.exe和bios_setupwin32_6_37_05_35.exe。
安装完成后打开CCS软件,点击File->New->Project,在弹出的对话框中选择RTSC->New RTSC Platform,如下图,然后点击Next。
在弹出的对话框中设置bios平台包名字,如图所示,然后点击Next。
在弹出的界面中设置时钟和内存。内存设置如下表所示:
设置完成后点击Finish,完成平台的创建。
点击"File->New->CCSProject",在弹出的界面中输入工程名字,选择CPU平台和型号、仿真器型号、SYS/BIOS工程模板,如图所示。
然后按照步骤将工程创建完成。
SYS/BIOS定义了多种线程类型:硬件中断(HWI),软件中断(SWI),任务(TASK),空闲(Idle)等,每种线程都有自己的优先级。我们可以通过图形的方式在app.cfg文件中创建不同的线程。下面我们以创龙提供的任务(TASK)线程实例来介绍软件的结构。
首先在.cfg文件中创建两个任务,分别为TaskLED0和TaskLED1。然后在.c文件的main函数中使用Semaphore_create(1, NULL, NULL);定义一个信号量,信号量通常用于协调一些处于竞争关系的任务之间对共享资源的访问。可以使任务处于挂起状态,用来等待某一个特定的事件,只有当这个事件发布的时候才能继续执行任务,这是通过信号量来实现的。然后通过BIOS_start();函数启动bios系统。在任务线程中使用信号量函数Semaphore_pend(sem, BIOS_WAIT_FOREVER);将信号量清零,开始执行线程中的任务,执行完成后使用信号量函数Semaphore_post(sem);将信号量置1,便于其他线程执行任务,线程函数中的system_flush();函数主要用来清空缓存,实时显示打印结果。