本文主要讨论了在TI-RTOS平台上,尤其是基于CC2650芯片的开发中,系统模块(System Module)的关键作用及其API的使用。系统模块是底层系统服务的基础,如字符输出、printf-like函数以及异常处理等功能。在CC2650DK开发环境中,开发者通常会使用Code Composer Studio (CCS)工具,这是一个商业软件,以其详细的文档和代码编写质量受到赞誉,与开源代码相比具有明显优势。
在CCS中,系统模块提供的API包括:
1. **System_printf() 和其相关函数**:这些函数提供了类似于C语言的printf函数,但更为简洁,占用资源较少。它们允许用户指定系统提供商处理字符输出,比如System_printf(),替代标准的printf(),便于在各种应用场合使用。特别指出,由于日志模块通常用于主机仪表工具,且有更多关于启用/禁用日志的选项,因此推荐使用系统模块的打印函数。
2. **System_abort()**:在遇到需要非正常终止的情况时,可以调用这个函数并返回错误信息,帮助描述发生的错误。它会在系统级引发中断,调用SupportProxy的abort函数和System.abortFxn,不会像标准的atexit函数那样执行清理操作。
3. **System_flush()**:用于将所有缓冲输出字符发送到输出设备,同时向IDE发送断点,可能导致实时执行的中断,因此需谨慎使用。
4. **BIOS_exit() vs System_exit()**:尽管System_exit()可用,但推荐使用BIOS_exit(),因为它在调用前进行了内部清理。BIOS_exit()更适合在Task中使用,而System_exit()不适用于Swi或Hwi。
在开发流程上,文章提到了从51单片机转向学习CC2650的过程,强调了TI-RTOS的学习价值,以及选择CC2650DK的原因,因为其内置模拟器、简单电路设计和LCD显示屏便于学习。安装CCS时需要注意避免中文路径问题,并可能因网络原因导致较长的下载时间。此外,资源管理器的选择也影响了后续的开发工作流程。
通过这篇文章,读者可以了解到在CC2650DK开发中,如何有效利用TI-RTOS的系统模块API进行高效的编程,并理解了在具体开发环境中的实际操作步骤。这对于理解和开发基于CC2650的TI-RTOS应用至关重要。