Ignore:
Timestamp:
Oct 23, 2016, 8:29:46 PM (8 years ago)
Author:
ertl-honda
Message:

マクロ名を更新.
実行モデルを変更.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • rtos_arduino/trunk/lib/r2ca_lib.cpp

    r251 r260  
    1 #include "rca.h"
    2 #include "rca_lib.h"
     1#include "r2ca.h"
     2#include "r2ca_lib.h"
    33
    44extern "C" {
    55extern void yield(void);
    6 extern void rca_ena_int(uint_t intno);
    7 extern void rca_dis_int(uint_t intno);
    8 }
    9 
    10 #ifdef RCA_ENABLE_PROFILING
    11 volatile uint32_t rca_idle_result;
    12 volatile uint32_t rca_isr_result;
    13 volatile uint32_t rca_dispatch_result;
    14 volatile uint32_t rca_timer_isr_result;
    15 volatile uint32_t rca_usb_isr_result;
    16 volatile uint32_t rca_sercom0_isr_result;
    17 volatile uint32_t rca_sercom2_isr_result;
    18 volatile uint32_t rca_sercom3_isr_result;
    19 volatile uint32_t rca_sercom4_isr_result;
    20 volatile uint32_t rca_sercom5_isr_result;
    21 volatile uint32_t rca_eic_isr_result;
    22 volatile uint32_t rca_tc5_isr_result;
    23 volatile uint32_t rca_rtc_isr_result;
    24 
    25 static volatile uint32_t rca_idle_cnt;
    26 static volatile uint32_t rca_isr_cnt;
    27 static volatile uint32_t rca_dispatch_cnt;
    28 static volatile uint32_t rca_timer_isr_cnt;
    29 static volatile uint32_t rca_usb_isr_cnt;
    30 static volatile uint32_t rca_sercom0_isr_cnt;
    31 static volatile uint32_t rca_sercom2_isr_cnt;
    32 static volatile uint32_t rca_sercom3_isr_cnt;
    33 static volatile uint32_t rca_sercom4_isr_cnt;
    34 static volatile uint32_t rca_sercom5_isr_cnt;
    35 static volatile uint32_t rca_eic_isr_cnt;
    36 static volatile uint32_t rca_tc5_isr_cnt;
    37 static volatile uint32_t rca_rtc_isr_cnt;     
    38 static volatile uint32_t rca_profiling_cyccnt;
    39 #endif /* RCA_ENABLE_PROFILING */
     6extern void r2ca_ena_int(uint_t intno);
     7extern void r2ca_dis_int(uint_t intno);
     8}
     9
     10#ifdef R2CA_ENABLE_PROFILING
     11volatile uint32_t r2ca_idle_result;
     12volatile uint32_t r2ca_isr_result;
     13volatile uint32_t r2ca_dispatch_result;
     14volatile uint32_t r2ca_timer_isr_result;
     15volatile uint32_t r2ca_usb_isr_result;
     16volatile uint32_t r2ca_sercom0_isr_result;
     17volatile uint32_t r2ca_sercom2_isr_result;
     18volatile uint32_t r2ca_sercom3_isr_result;
     19volatile uint32_t r2ca_sercom4_isr_result;
     20volatile uint32_t r2ca_sercom5_isr_result;
     21volatile uint32_t r2ca_eic_isr_result;
     22volatile uint32_t r2ca_tc5_isr_result;
     23volatile uint32_t r2ca_rtc_isr_result;
     24
     25static volatile uint32_t r2ca_idle_cnt;
     26static volatile uint32_t r2ca_isr_cnt;
     27static volatile uint32_t r2ca_dispatch_cnt;
     28static volatile uint32_t r2ca_timer_isr_cnt;
     29static volatile uint32_t r2ca_usb_isr_cnt;
     30static volatile uint32_t r2ca_sercom0_isr_cnt;
     31static volatile uint32_t r2ca_sercom2_isr_cnt;
     32static volatile uint32_t r2ca_sercom3_isr_cnt;
     33static volatile uint32_t r2ca_sercom4_isr_cnt;
     34static volatile uint32_t r2ca_sercom5_isr_cnt;
     35static volatile uint32_t r2ca_eic_isr_cnt;
     36static volatile uint32_t r2ca_tc5_isr_cnt;
     37static volatile uint32_t r2ca_rtc_isr_cnt;     
     38static volatile uint32_t r2ca_profiling_cyccnt;
     39#endif /* R2CA_ENABLE_PROFILING */
    4040
    4141Inline void
    42 rca_di(void){
     42r2ca_di(void){
    4343        Asm("cpsid f":::"memory");
    4444}
     
    4848 */
    4949Inline void
    50 rca_ei(void){
     50r2ca_ei(void){
    5151        Asm("cpsie f":::"memory");
    5252}
    5353
    5454void
    55 rca_init(intptr_t exinf)
    56 {
    57     init(); //wiring.c
    58 }
    59 
    60 void
    61 rca_ena_int(uint_t intno) {
    62     if (ena_int(intno + 16) != E_OK) {
    63         while(1); //ToDo
    64     }
    65 
    66 }
    67 
    68 void
    69 rca_dis_int(uint_t intno) {
    70     if (dis_int(intno + 16) != E_OK) {
    71         while(1); //ToDo
    72     }
     55r2ca_init(intptr_t exinf)
     56{
     57        init(); //wiring.c
     58}
     59
     60void
     61r2ca_ena_int(uint_t intno) {
     62        if (ena_int(intno + 16) != E_OK) {
     63                while(1); //ToDo
     64        }
     65}
     66
     67void
     68r2ca_dis_int(uint_t intno) {
     69        if (dis_int(intno + 16) != E_OK) {
     70                while(1); //ToDo
     71        }
    7372}
    7473
    7574extern const DeviceVectors exception_table;
    7675
    77 #ifdef RCA_RR_SCHEDULE
    7876static uint32_t time_slice = 0;
    79 #endif /* RCA_RR_SCHEDULE */
    8077
    8178/*
     
    8380 */
    8481void
    85 rca_CycHandler(intptr_t exinf)
     82r2ca_CycHandler(intptr_t exinf)
    8683{   
    87 #ifdef RCA_RR_SCHEDULE
    88     int i;
    89     if (++time_slice == RCA_RR_SCHEDULE_CYCLE) {
    90         time_slice = 0;
    91         for(i = 1; i < 16; i++){
    92             if (RCA_RR_SCHEDULE & (1 << i)) {
    93                 irot_rdq(i);
    94             }
    95         }
    96     }
    97 #endif /* RCA_RR_SCHEDULE */
    98 #ifdef RCA_ENABLE_PROFILING   
    99     rca_di();
    100     rca_isr_cnt++;
    101     rca_timer_isr_cnt++;
    102     rca_profiling_cyccnt++;
    103     if(rca_profiling_cyccnt == RCA_PROFILING_CYC_MS){
    104         rca_idle_result=        rca_idle_cnt;
    105         rca_isr_result=         rca_isr_cnt;
    106         rca_dispatch_result=    rca_dispatch_cnt;
    107         rca_timer_isr_result=   rca_timer_isr_cnt;
    108         rca_usb_isr_result=     rca_usb_isr_cnt;
    109         rca_sercom0_isr_result= rca_sercom0_isr_cnt;
    110         rca_sercom2_isr_result= rca_sercom2_isr_cnt;       
    111         rca_sercom3_isr_result= rca_sercom3_isr_cnt;
    112         rca_sercom4_isr_result= rca_sercom4_isr_cnt;
    113         rca_sercom5_isr_result= rca_sercom5_isr_cnt;
    114         rca_eic_isr_result=     rca_eic_isr_cnt;
    115         rca_tc5_isr_result=     rca_tc5_isr_cnt;
    116         rca_rtc_isr_result=     rca_rtc_isr_cnt;             
    117         rca_idle_cnt = 0;
    118         rca_isr_cnt = 0;
    119         rca_dispatch_cnt = 0;
    120         rca_timer_isr_cnt = 0;
    121         rca_usb_isr_cnt = 0;
    122         rca_sercom0_isr_cnt = 0;
    123         rca_sercom2_isr_cnt = 0;       
    124         rca_sercom3_isr_cnt = 0;
    125         rca_sercom4_isr_cnt = 0;
    126         rca_sercom5_isr_cnt = 0;
    127         rca_eic_isr_cnt = 0;
    128         rca_tc5_isr_cnt = 0;
    129         rca_rtc_isr_cnt = 0;
    130         rca_profiling_cyccnt = 0;
    131     }
    132     rca_ei();
    133 #endif /* RCA_ENABLE_PROFILING */   
    134     ((void(*)(void))(exception_table.pfnSysTick_Handler))();       
     84        int i;
     85        if (++time_slice == R2CA_RR_SCHEDULE_CYCLE) {
     86                time_slice = 0;
     87                for(i = 1; i < 16; i++){
     88                        if (R2CA_RR_SCHEDULE_PRI & (1 << i)) {
     89                                irot_rdq(i);
     90                        }
     91                }
     92        }
     93#ifdef R2CA_ENABLE_PROFILING   
     94        r2ca_di();
     95        r2ca_isr_cnt++;
     96        r2ca_timer_isr_cnt++;
     97        r2ca_profiling_cyccnt++;
     98        if(r2ca_profiling_cyccnt == R2CA_PROFILING_CYC_MS){
     99                r2ca_idle_result=        r2ca_idle_cnt;
     100                r2ca_isr_result=         r2ca_isr_cnt;
     101                r2ca_dispatch_result=    r2ca_dispatch_cnt;
     102                r2ca_timer_isr_result=   r2ca_timer_isr_cnt;
     103                r2ca_usb_isr_result=     r2ca_usb_isr_cnt;
     104                r2ca_sercom0_isr_result= r2ca_sercom0_isr_cnt;
     105                r2ca_sercom2_isr_result= r2ca_sercom2_isr_cnt;       
     106                r2ca_sercom3_isr_result= r2ca_sercom3_isr_cnt;
     107                r2ca_sercom4_isr_result= r2ca_sercom4_isr_cnt;
     108                r2ca_sercom5_isr_result= r2ca_sercom5_isr_cnt;
     109                r2ca_eic_isr_result=     r2ca_eic_isr_cnt;
     110                r2ca_tc5_isr_result=     r2ca_tc5_isr_cnt;
     111                r2ca_rtc_isr_result=     r2ca_rtc_isr_cnt;             
     112                r2ca_idle_cnt = 0;
     113                r2ca_isr_cnt = 0;
     114                r2ca_dispatch_cnt = 0;
     115                r2ca_timer_isr_cnt = 0;
     116                r2ca_usb_isr_cnt = 0;
     117                r2ca_sercom0_isr_cnt = 0;
     118                r2ca_sercom2_isr_cnt = 0;       
     119                r2ca_sercom3_isr_cnt = 0;
     120                r2ca_sercom4_isr_cnt = 0;
     121                r2ca_sercom5_isr_cnt = 0;
     122                r2ca_eic_isr_cnt = 0;
     123                r2ca_tc5_isr_cnt = 0;
     124                r2ca_rtc_isr_cnt = 0;
     125                r2ca_profiling_cyccnt = 0;
     126        }
     127        r2ca_ei();
     128#endif /* R2CA_ENABLE_PROFILING */   
     129        ((void(*)(void))(exception_table.pfnSysTick_Handler))();       
    135130}
    136131
     
    139134 */
    140135void
    141 rca_USB_Handler(void)
    142 {
    143 #ifdef RCA_ENABLE_PROFILING
    144     rca_di();
    145     rca_usb_isr_cnt++;
    146     rca_isr_cnt++;
    147     rca_ei();
    148 #endif /* RCA_ENABLE_PROFILING */   
    149     ((void(*)(void))(exception_table.pfnUSB_Handler))();
    150 }
    151 
    152 void
    153 rca_SERCOM0_Handler(void)
    154 {
    155 #ifdef RCA_ENABLE_PROFILING
    156     rca_di();
    157     rca_sercom0_isr_cnt++;
    158     rca_isr_cnt++;
    159     rca_ei();
    160 #endif /* RCA_ENABLE_PROFILING */   
    161     ((void(*)(void))(exception_table.pfnSERCOM0_Handler))();
    162 }
    163 
    164 #ifdef RCA_USE_SERIAL3
     136r2ca_USB_Handler(void)
     137{
     138#ifdef R2CA_ENABLE_PROFILING
     139        r2ca_di();
     140        r2ca_usb_isr_cnt++;
     141        r2ca_isr_cnt++;
     142        r2ca_ei();
     143#endif /* R2CA_ENABLE_PROFILING */   
     144        ((void(*)(void))(exception_table.pfnUSB_Handler))();
     145}
     146
     147void
     148r2ca_SERCOM0_Handler(void)
     149{
     150#ifdef R2CA_ENABLE_PROFILING
     151        r2ca_di();
     152        r2ca_sercom0_isr_cnt++;
     153        r2ca_isr_cnt++;
     154        r2ca_ei();
     155#endif /* R2CA_ENABLE_PROFILING */   
     156        ((void(*)(void))(exception_table.pfnSERCOM0_Handler))();
     157}
     158
     159#ifdef R2CA_USE_SERIAL3
    165160#define PIN_SERIAL3_RX 49  /* D5 */
    166161#define PIN_SERIAL3_TX 48  /* D4 */
     
    169164
    170165void
    171 rca_SERCOM2_Handler(void)
    172 {
    173 #ifdef RCA_ENABLE_PROFILING
    174     rca_di();
    175     rca_sercom2_isr_cnt++;
    176     rca_isr_cnt++;
    177     rca_ei();
    178 #endif /* RCA_ENABLE_PROFILING */
    179     Serial3.IrqHandler();
    180 }
    181 #endif /* RCA_USE_SERIAL3 */
    182 
    183 void
    184 rca_SERCOM3_Handler(void)
    185 {
    186 #ifdef RCA_ENABLE_PROFILING
    187     rca_di();
    188     rca_sercom3_isr_cnt++;
    189     rca_isr_cnt++;
    190     rca_ei();
    191 #endif /* RCA_ENABLE_PROFILING */   
    192     ((void(*)(void))(exception_table.pfnSERCOM3_Handler))();
    193 }
    194 
    195 void
    196 rca_SERCOM4_Handler(void)
    197 {
    198 #ifdef RCA_ENABLE_PROFILING
    199     rca_di();
    200     rca_sercom4_isr_cnt++;
    201     rca_isr_cnt++;
    202     rca_ei();
    203 #endif /* RCA_ENABLE_PROFILING */   
    204     ((void(*)(void))(exception_table.pfnSERCOM4_Handler))();
     166r2ca_SERCOM2_Handler(void)
     167{
     168#ifdef R2CA_ENABLE_PROFILING
     169        r2ca_di();
     170        r2ca_sercom2_isr_cnt++;
     171        r2ca_isr_cnt++;
     172        r2ca_ei();
     173#endif /* R2CA_ENABLE_PROFILING */
     174        Serial3.IrqHandler();
     175}
     176#endif /* R2CA_USE_SERIAL3 */
     177
     178void
     179r2ca_SERCOM3_Handler(void)
     180{
     181#ifdef R2CA_ENABLE_PROFILING
     182        r2ca_di();
     183        r2ca_sercom3_isr_cnt++;
     184        r2ca_isr_cnt++;
     185        r2ca_ei();
     186#endif /* R2CA_ENABLE_PROFILING */   
     187        ((void(*)(void))(exception_table.pfnSERCOM3_Handler))();
     188}
     189
     190void
     191r2ca_SERCOM4_Handler(void)
     192{
     193#ifdef R2CA_ENABLE_PROFILING
     194        r2ca_di();
     195        r2ca_sercom4_isr_cnt++;
     196        r2ca_isr_cnt++;
     197        r2ca_ei();
     198#endif /* R2CA_ENABLE_PROFILING */   
     199        ((void(*)(void))(exception_table.pfnSERCOM4_Handler))();
    205200}
    206201
    207202#ifdef TOPPERS_USE_ARDUINO_SERIAL
    208203void
    209 rca_SERCOM5_Handler(void)
    210 {
    211 #ifdef RCA_ENABLE_PROFILING
    212     rca_di();
    213     rca_sercom5_isr_cnt++;
    214     rca_isr_cnt++;
    215     rca_ei();
    216 #endif /* RCA_ENABLE_PROFILING */   
    217     ((void(*)(void))(exception_table.pfnSERCOM5_Handler))();
     204r2ca_SERCOM5_Handler(void)
     205{
     206#ifdef R2CA_ENABLE_PROFILING
     207        r2ca_di();
     208        r2ca_sercom5_isr_cnt++;
     209        r2ca_isr_cnt++;
     210        r2ca_ei();
     211#endif /* R2CA_ENABLE_PROFILING */   
     212        ((void(*)(void))(exception_table.pfnSERCOM5_Handler))();
    218213}
    219214#endif /* TOPPERS_USE_ARDUINO_SERIAL */
    220215
    221216void
    222 rca_EIC_Handler(void)
    223 {
    224 #ifdef RCA_ENABLE_PROFILING
    225     rca_di();
    226     rca_eic_isr_cnt++;
    227     rca_isr_cnt++;
    228     rca_ei();
    229 #endif /* RCA_ENABLE_PROFILING */   
    230     ((void(*)(void))(exception_table.pfnEIC_Handler))();
    231 }
    232 
    233 void
    234 rca_TC5_Handler(void)
    235 {
    236 #ifdef RCA_ENABLE_PROFILING
    237     rca_di();
    238     rca_tc5_isr_cnt++;
    239     rca_isr_cnt++;
    240     rca_ei();
    241 #endif /* RCA_ENABLE_PROFILING */   
    242     ((void(*)(void))(exception_table.pfnTC5_Handler))();
    243 }
    244 
    245 void
    246 rca_RTC_Handler(void)
    247 {
    248 #ifdef RCA_ENABLE_PROFILING
    249     rca_di();
    250     rca_rtc_isr_cnt++;
    251     rca_isr_cnt++;
    252     rca_ei();
    253 #endif /* RCA_ENABLE_PROFILING */
    254     ((void(*)(void))(exception_table.pfnRTC_Handler))();
     217r2ca_EIC_Handler(void)
     218{
     219#ifdef R2CA_ENABLE_PROFILING
     220        r2ca_di();
     221        r2ca_eic_isr_cnt++;
     222        r2ca_isr_cnt++;
     223        r2ca_ei();
     224#endif /* R2CA_ENABLE_PROFILING */   
     225        ((void(*)(void))(exception_table.pfnEIC_Handler))();
     226}
     227
     228void
     229r2ca_TC5_Handler(void)
     230{
     231#ifdef R2CA_ENABLE_PROFILING
     232        r2ca_di();
     233        r2ca_tc5_isr_cnt++;
     234        r2ca_isr_cnt++;
     235        r2ca_ei();
     236#endif /* R2CA_ENABLE_PROFILING */   
     237        ((void(*)(void))(exception_table.pfnTC5_Handler))();
     238}
     239
     240void
     241r2ca_RTC_Handler(void)
     242{
     243#ifdef R2CA_ENABLE_PROFILING
     244        r2ca_di();
     245        r2ca_rtc_isr_cnt++;
     246        r2ca_isr_cnt++;
     247        r2ca_ei();
     248#endif /* R2CA_ENABLE_PROFILING */
     249        ((void(*)(void))(exception_table.pfnRTC_Handler))();
    255250}
    256251
     
    260255void
    261256yield(void){
    262 #ifdef RCA_RR_SCHEDULE   
    263     time_slice = 0;
    264 #endif /* RCA_RR_SCHEDULE */
    265 #ifdef RCA_ENABLE_PROFILING
    266     rca_di();
    267     rca_dispatch_cnt++;
    268     rca_ei();
    269 #endif /* RCA_ENABLE_PROFILING */   
    270     dly_tsk(0);
     257        time_slice = 0;
     258#ifdef R2CA_ENABLE_PROFILING
     259        r2ca_di();
     260        r2ca_dispatch_cnt++;
     261        r2ca_ei();
     262#endif /* R2CA_ENABLE_PROFILING */   
     263        dly_tsk(0);
    271264}
    272265
     
    274267extern void loop(void);
    275268
    276 void
    277 rca_maintask(intptr_t exinf)
    278 {
    279     syslog(LOG_NOTICE, "Arduino Main Task start!");
    280     dly_tsk(1);
     269
     270const ID task_id[] = {
     271#if R2CA_NUM_TASK > 0
     272        R2CA_TASK1,
     273#endif /* R2CA_NUM_TASK > 0 */
     274#if R2CA_NUM_TASK > 1
     275        R2CA_TASK2,
     276#endif /* R2CA_NUM_TASK > 1 */
     277#if R2CA_NUM_TASK > 2
     278        R2CA_TASK3,
     279#endif /* R2CA_NUM_TASK > 2 */
     280#if R2CA_NUM_TASK > 3
     281        R2CA_TASK4,
     282#endif /* R2CA_NUM_TASK > 3 */
     283#if R2CA_NUM_TASK > 4
     284        R2CA_TASK5,
     285#endif /* R2CA_NUM_TASK > 4 */
     286};
     287
     288void
     289r2ca_maintask(intptr_t exinf)
     290{
     291        int i;
     292
     293        syslog(LOG_NOTICE, "Arduino Main Task start!");
     294
    281295#ifdef USBCON
    282     USBDevice.init();
    283     USBDevice.attach();
     296        USBDevice.init();
     297        USBDevice.attach();
    284298#endif /* USBCON */
    285299   
    286     analogReference(AR_DEFAULT);
     300        analogReference(AR_DEFAULT);
    287301   
    288     setup();
     302        setup();
    289303   
    290     sig_sem(SETUP_SEM);
     304        for(i = 0; i < R2CA_NUM_TASK; i++) {
     305                act_tsk(task_id[i]);
     306        }
    291307   
    292     chg_pri(0, RCA_MAINTASK_LOOP_PRI);
    293    
    294     while(1){
    295         loop();
    296         if (serialEventRun) serialEventRun();
    297     }   
    298 }
    299 
    300 #define RCA_TASK_BODY(NUM) \
    301 extern void task##NUM##_setup(void); \
    302 extern void task##NUM##_loop(void); \
     308        while(1){
     309                loop();
     310                if (serialEventRun) serialEventRun();
     311        }   
     312}
     313
     314#define R2CA_TASK_BODY(NUM) \
     315extern void loop##NUM(void); \
    303316 \
    304317void \
    305 rca_task##NUM(intptr_t exinf) \
     318r2ca_task##NUM(intptr_t exinf) \
    306319{ \
    307     wai_sem(SETUP_SEM);\
    308     task##NUM##_setup(); \
    309     sig_sem(SETUP_SEM);\
    310     chg_pri(0, RCA_TASK##NUM##_LOOP_PRI); \
    311          \
    312320    while(1){ \
    313         task##NUM##_loop(); \
     321        loop##NUM(); \
    314322    }     \
    315323}
    316324
    317 #if RCA_NUM_TASK > 0
    318 RCA_TASK_BODY(1)
    319 #endif /* RCA_NUM_TASK > 0 */
    320 
    321 #if RCA_NUM_TASK > 1
    322 RCA_TASK_BODY(2)
    323 #endif /* RCA_NUM_TASK > 1 */
    324 
    325 #if RCA_NUM_TASK > 2
    326 RCA_TASK_BODY(3)
    327 #endif /* RCA_NUM_TASK > 2 */
    328 
    329 #if RCA_NUM_TASK > 3
    330 RCA_TASK_BODY(4)
    331 #endif /* RCA_NUM_TASK > 3 */
    332 
    333 #if RCA_NUM_TASK > 4
    334 RCA_TASK_BODY(5)
    335 #endif /* RCA_NUM_TASK > 4 */
    336 
    337 #ifdef RCA_ENABLE_PROFILING
    338 void
    339 rca_idle_task(intptr_t exinf) {
    340     while(1){
    341         rca_di();
    342         rca_idle_cnt++;
    343         rca_ei();
    344     }
    345 }
    346 #endif /* RCA_ENABLE_PROFILING */
     325#if R2CA_NUM_TASK > 0
     326R2CA_TASK_BODY(1)
     327#endif /* R2CA_NUM_TASK > 0 */
     328
     329#if R2CA_NUM_TASK > 1
     330R2CA_TASK_BODY(2)
     331#endif /* R2CA_NUM_TASK > 1 */
     332
     333#if R2CA_NUM_TASK > 2
     334R2CA_TASK_BODY(3)
     335#endif /* R2CA_NUM_TASK > 2 */
     336
     337#if R2CA_NUM_TASK > 3
     338R2CA_TASK_BODY(4)
     339#endif /* R2CA_NUM_TASK > 3 */
     340
     341#if R2CA_NUM_TASK > 4
     342R2CA_TASK_BODY(5)
     343#endif /* R2CA_NUM_TASK > 4 */
     344
     345#ifdef R2CA_ENABLE_PROFILING
     346void
     347r2ca_idle_task(intptr_t exinf) {
     348        while(1){
     349                r2ca_di();
     350                r2ca_idle_cnt++;
     351                r2ca_ei();
     352        }
     353}
     354#endif /* R2CA_ENABLE_PROFILING */
Note: See TracChangeset for help on using the changeset viewer.