7.固定/可变内存池设置
当系统需要交换较大的数据时,此时任务堆栈是不够用的,需要开辟一段内存来使用。RX850支持两种方式的内存配置,固定内存池和可变内存池。固定内存池由用户自定义内存池的大小,可变内存池根据实际应用系统动态的定义所需内存大小,配置如下:
mpf MPF_ID_MBX 0x08 : pool1 50
//固定内存以0x08字节为单位排列,大小为50*0x08;
mpl MPL_ID_Task1 0x08 : pool1
//可变内存0x08字节为单位排列
8.系统周期循环中断设置
cyc CYC_INT_TIMER _CYC_IntTimer TCY_OFF 10
//系统周期循环中断时间为10个时间片
以上完成了操作系统的配置,然后通过NEC的IDE即可生成操作系统的.s和.h文件,将此两个文件包含在工程文件中即可。
3 RX850软仿及结论
通过以上配置,选择发动机控制模块为对象,下面对RX850进行软仿。NEC电子提供专门的软仿工具AZ,在IDE中打开AZ,运行程序后可以看到如下:
图3 任务调度仿真图
图4 任务对CPU的占用率
也可以通过RD850来实时检测各任务的状态如下:
图5 任务运行状态
通过上图可以很方便的看到每个任务的实时调度情况和CPU内核的使用效率。目前CPU的空闲率为94%,很多任务实际上没有被调用,用户可以根据实际情况将更多的功能模块放在API任务中来运行。软仿只能提供模拟的仿真,如果用户需要更精确的trace工具,则需要用硬仿来实现。
4 结束语
对于比较复杂的控制系统,RTOS是必不可少的,建立以上开发平台,使得系统工程师可以专注于系统功能建模仿真,然后将功能函数与该平台的API任务调度结合,即可完成片上测试。实践证明,这种开发模式大大提高了整个项目的进度。