DSP

code技巧之临界区保护

2019-07-13 18:19发布

            在DSP程序开发中,往往涉及到多个TSK共同访问共享资源,此时各个TSK会形成竞争关系,这样需要类似Linux C中的互斥量等机制,这里介绍一种是使用HWI中断机制的临界区保护方法:              #define   CRITICAL_DECL_PROTECT(lev)  Uint32 lev              #define   CRITICAL_PROTECT(lev)  lev = HWI_disable()              #define   CRITICAL_UNPROTECT(lev)  HWI_restore(lev)            使用方式如下:               1)在程序中,先调用CRITICAL_DECL_PROTECT(lev)                2)在访问临界区前, CRITICAL_PROTECT(lev)                3)访问临界区资源                4)访问完临界区资源后,回复HWI中断 CRITICAL_UNPROTECT(lev)