Могу ли я отображать глобальные переменные RTP в оболочке?

В VxWorks я могу отображать глобальные переменные в оболочке следующим образом:

-> my_global
my_global = 0x103c4110: value = 4 = 0x4

Есть ли способ сделать то же самое с глобальной переменной RTP?


person Benoit    schedule 28.09.2008    source источник


Ответы (1)


Вы можете отобразить глобальные переменные в конкретном RTP, используя интерпретатор команд (cmd) и подключившись к RTP. Вот пример с комментариями в скобках.

-> cmd                                   (switch to command interpreter)
[vxWorks *]# rtp exec Hello_RTP.vxe &
Launching process 'Hello_RTP.vxe' ...
Process 'Hello_RTP.vxe' (process Id = 0x105e4d50) launched.
Attachment number for process 'Hello_RTP.vxe' is %1.
[vxWorks *]# echo $my_global             (display my_global in the kernel context)
0x4
[vxWorks *]# %1                          (attach to RTP - can also use rtp attach)
[Hello_RTP]# echo $my_global
0x6b7                                    (global variable from RTP context)
[Hello_RTP]# echo $my_global
0x16e1                                   (same global variable..it increments)
[Hello_RTP]# %0                          (detach from RTP. Go to kernel)
[vxWorks *]# echo $my_global             (back to kernel context)
0x4

Обратите внимание, что это доступно только в VxWorks 6.x. До выпуска 6 в vxWorks не было RTP.

person Benoit    schedule 28.09.2008
comment
Если вы не создали rtp из оболочки, вам нужно выполнить команду rtp symbols add, как только вы попадете в оболочку RTP vxWorks. - person Cookie Butter; 05.03.2019
comment
Есть ли способ вызвать глобальную функцию RTP? Я пытаюсь func call &myFunction &, но у меня это не работает, так как RTP был связан как nonDebug - person Cookie Butter; 05.03.2019