This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2650 and HWI spin problem...

Other Parts Discussed in Thread: CC2650

Help to solve the problem. The controller on the processor CC2650 is made. The program contains more than 5000 rows. I work for CCS7. There are three tasks in the operating system. Sometimes an error occurs. The controller enters the dead cycle. When I stop the debugger, I see that I'm here:


/ *
 * ======== Hwi_excHandler ========
 * /
Void Hwi_excHandler (UInt * excStack, UInt lr)
    Hwi_module-> excActive [0] = TRUE;

    / * Spin here if no exception handler is plugged * /
    While (Hwi_excHandlerFunc == NULL) {

    Hwi_excHandlerFunc (excStack, lr);

I do not understand why the error occurs. Why the program gets here.
I do not have much knowledge on the operation of the RTOS operating system

Tell me where to start. How to understand the reason for which I get here?


Помогите решить проблему. Сделан контроллер на процессоре СС2650. Программа содержит уже более 5000 строк. Работаю на ССS7. В операционной системе работают три задачи. Иногда возникает ошибка. Контроллер попадает в мертвый цикл. Когда я останавливаю отладчик, то вижу что нахожусь здесь:


* ======== Hwi_excHandler ========
Void Hwi_excHandler(UInt *excStack, UInt lr)
Hwi_module->excActive[0] = TRUE;

/* spin here if no exception handler is plugged */
while (Hwi_excHandlerFunc == NULL) {

Hwi_excHandlerFunc(excStack, lr);

Я не понимаю почему возникает ошибка. Почему программа попадает сюда.
У меня мало знаний по работе операционной системы РТОС

Подскажите с чего начать. Как понять причину по которой я сюда попадаю?

  • Я вижу, что у модуля HWI проблемы, но не понимаю какие, почему и куда дальше двигаться.

    I see that the HWI module has problems, but I do not understand what, why or where to move further.

  • I realized that there was a new hardware interrupt. And the operating system does not know how to handle it? Correctly? If so, what actions?
    Я понял, что возникает новое аппаратное прерывание. И операционная система не знает как его обработать? Правильно? Если так, то какие действия?
  • The error has been fixed. When writing a variable went beyond its boundaries. Spoiled the memory. But I do not know how to debug properly.
    Ошибка устранена. При записи переменной выходили за ее границы. Портили память. Но как правильно отлаживать я так и не знаю.