artem...@gmail.com
unread,Feb 3, 2018, 1:47:24 PM2/3/18Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to uOS embedded
Здравствуйте!
Используем операционную систему на процессоре Элвис 1892ВМ10Я.
В совершенно произвольные моменты времени без какой-либо причины программа виснет, и в HALT выскакивают разные сообщения об ошибке. Причем программа может проработать час, а потом зависнуть с одним сообщением. Или может вообще сразу зависнуть, но с другим сообщением. Или может 15 мин проработать, а потом зависнуть. Закономерности нет вообще - поэтому никак не могу отследить причину.
Помогите расшифровать и найти проблему, потому что перепробовали уже все – вплоть до влезания в исходный код самой операционной системы.
Повторюсь – сообщения вылетают в произвольном порядке. Обычно вылетают 4 вида сообщений:
1. Данное сообщение вылетает очень редко
*** 0xb80032f4: exception 'Address Load'
*** cause=0x00808010, badvaddr=0x00010027, config=0x84060182
t0 = 1 s0 = b8407370 t8 = 0 lo = 0
at = 0 t1 = 0 s1 = b8020000 t9 = 0 hi = 8 v0 = ffff t2 = 0 s2 = b8400000 status = 30001c02
v1 = b8406e10 t3 = 0 s3 = 30001c01 epc = b80032f4
a0 = 0 t4 = 0 s4 = b8020000 gp = b8400000
a1 = 1 t5 = 0 s5 = b8407384 sp = b8405f68
a2 = ffff t6 = 0 s6 = b8019c3c fp = 0
a3 = 0 t7 = 0 s7 = b8020000 ra = b80030c8 Halt...
Следующие 3 зависания связаны тем, что падение происходит видимо на выходе из задачи IDLE, потому что в консоли выходит указатель на 0xb8400714 (это адрес задачи IDLE). Т.е. в консоли выскакивает сначала адрес задачи IDLE, а потом адрес одной из моих задач.
2. 0xb8400714 (junk) – указатель на задачу IDLE
0xb8405c48 (junk) – указатель на одну из моих задач
Assertion failed in function `task_activate'
D:/workspace_mips/ses150_v3/examples/mips-elvees/../../sources/kernel/internal.h, 126: ! task_is_waiting (task)
Task Address Prio Stack Space Msg Ticks
0xb8400714 (junk)
0xb8405c48 (junk)
intr_task.stack {0xb8405f40/0xb8405f58..0xb8405e98/0xb8405e58, 0xb80031e0, 0xb8405ee0} [intr_task.b8405f54] ________ ________ ________ ________
[intr_task.b8405f44] ________ >________ ________ ________
[intr_task.b8405f34] ________ ________ ________ ________
[intr_task.b8405f24] ________ ________ ________ ________
[intr_task.b8405f14] ________ ________ ________ ________
[intr_task.b8405f04] ________ ________ ________ ________ [intr_task.b8405ef4] ________ ________ ________ ________
[intr_task.b8405ee4] ________ ________ ________ ________
[intr_task.b8405ed4] ________ ________ ________ ________
[intr_task.b8405ec4] ________ ________ ________ ________ [intr_task.b8405eb4] ________ ________ ________ ________
[intr_task.b8405ea4] ________ ________ ________ =________
[intr_task.b8405e94] ________ ________ ________ ________
[intr_task.b8405e84] ________ ________ ________ ________ [intr_task.b8405e74] ________ ________ ________ ________ [intr_task.b8405e64] ________ ________ ________ ________
*** Please report this information
*** System halted.
3. 0xb8400714 (junk) – указатель на задачу IDLE
0xb840be1c (junk) – указатель непонятно на что (в том смысле, что у меня не создано задач по такому указателю)
Assertion failed in function `task_activate':
D:/workspace_mips/ses150_v3/examples/mips-elvees/../../sources/kernel/internal.h, 127:
Task Address Prio Stack Space Msg Ticks
0xb8400714 (junk)
0xb840be1c (junk)
(damaged).stack {0xb840cd10/0xb840cd28..0xb840cc68/0xb840cc28, 0xb8003204, 0xb840ccb0} [(damaged).b840cd24] ________ ________ ________ ________ [(damaged).b840cd14] ________ >________ ________ ________
[(damaged).b840cd04] ________ ________ ________ ________
[(damaged).b840ccf4] ________ ________ ________ ________
[(damaged).b840cce4] ________ ________ ________ ________
[(damaged).b840ccd4] ________ ________ ________ ________
[(damaged).b840ccc4] ________ ________ ________ ________
[(damaged).b840ccb4] ________ ________ ________ ________
[(damaged).b840cca4] ________ ________ ________ ________
[(damaged).b840cc94] ________ ________ ________ ________
[(damaged).b840cc84] ________ ________ ________ ________
[(damaged).b840cc74] ________ ________ ________ =________
[(damaged).b840cc64] ________ ________ ________ ________
[(damaged).b840cc54] ________ ________ ________ ________ [(damaged).b840cc44] ________ ________ ________ ________ [(damaged).b840cc34] ________ ________ ________ ________
*** Please report this information
*** System halted.
4. 0xb8400714 (junk) – указатель на задачу IDLE
0xb840244c (junk) – указатель на одну из моих задач
Assertion failed in function `mutex_lock':
D:/workspace_mips/ses150_v3/examples/mips-elvees/../../sources/kernel/mutex.c, 48: ((task_current)->stack[0] == 0xaau)
Task Address Prio Stack Space Msg Ticks
0xb8400714 (junk)
0xb840244c (junk)
task_params.stack {0xb84026a8/0xb84026a8..0xb8402530/0xb84024f0, 0xb8014370, 0xb8402648}
[task_params.b84026a4] ________ ________ ________ ________
[task_params.b8402694] ________ ________ ________ ________
[task_params.b8402684] ________ ________ ________ ________
[task_params.b8402674] ________ ________ ________ ________
[task_params.b8402664] ________ ________ ________ ________
[task_params.b8402654] ________ ________ ________ ________
[task_params.b8402644] ________ ________ ________ ________
[task_params.b8402634] ________ ________ ________ ________
[task_params.b8402624] ________ ________ ________ ________
[task_params.b8402614] ________ ________ ________ ________
[task_params.b8402604] ________ ________ ________ ________ [task_params.b84025f4] ________ ________ ________ ________
[task_params.b84025e4] ________ ________ ________ ________
[task_params.b84025d4] ________ ________ ________ ________ [task_params.b84025c4] ________ ________ ________ ________
[task_params.b84025b4] ________ ________ ________ ________
[task_params.b84025a4] ________ ________ ________ ________
[task_params.b8402594] ________ ________ ________ ________
[task_params.b8402584] ________ ________ ________ ________ [task_params.b8402574] ________ ________ ________ ________
[task_params.b8402564] ________ ________ ________ ________
[task_params.b8402554] ________ ________ ________ ________
[task_params.b8402544] ________ ________ ________ ________
[task_params.b8402534] ________ =________ ________ ________
[task_params.b8402524] ________ ________ ________ ________
[task_params.b8402514] ________ ________ ________ ________
[task_params.b8402504] ________ ________ ________ ________
[task_params.b84024f4] ________ ________ ________ ________
*** Please report this information
*** System halted.