一、为何设置临界区
1、因为同一个SWC存在多个runnable;
2、而runnable可以被指定到不同Task;
3、Task存在优先级,高优先级可打断低优先级的Task从而获取CPU控制权
4、因此需要设置临界区来保护SWC自身的局部变量
二、如何设置临界区
1、在Davinci Dev中配置SWC的runnable具备临界区功能
2、在Davinci Cfg中配置Rte模块中的RteSwComponentInstances
更改后,具体SWC模块的RTE属性
Gen\Config\ECUC\U2A8_Rte_Rte_ecuc.arxml
三、代码示例
1、如果未设置按‘二’来配置Davinci,Rtc_RTC.h中
Davinci\Gen\Appl\GenData\Components\Rte_RTC.h
/*****************