У меня есть функция, которая отключит прерывания перед выполнением функции и повторно включит прерывания после завершения функции.Есть ли способ найти время, которое выполняет функция в критическом разделе (между отключением и включением прерываний)
Здесь мое требование - найти , сколько времени занимает выполняемая функция?
В абстрактном смысле это то, что я хочу сделать:
variable = time();//time before disabling
disable_interrupts();
perform_function();//business logic
enable_interrupts();
variable2 =time();//time after disabling the interrupt
tot_time = variable2 - variable;
Есть ли способ, чтобы найти время, потраченное? Я застреваю, потому что, если мы отключим прерывания, процессор ничего не будет развлекать (часы, прерывания, счетчики).
Часы должны продолжать галочку, даже если прерывания отключены ?! Перерасход часов не будет зацепиться, поскольку они также обрабатываются прерываниями. Надеюсь, что ваша «бизнес-логика» не займет слишком много времени. Поскольку отключение прерываний может иметь нежелательный эффект во многих частях вашей системы. – RaphMclee
мое намерение точно так же, как часы должны продолжать галочку, но когда мы отключим прерывание, там будут часы, которые будут запускаться ... потому что я подозреваю, что функция занимает так много времени .. может понравиться мне –