как вызвать перезагрузку vxworks API в коде

Мне нужно перезагрузить машину vxworks через какое-то случайное время. Я вызываю API перезагрузки в vxworks, как показано ниже:

extern "C" void reboot_vxWorks()
{
    reboot();
}

это не работает. Может ли кто-нибудь предложить, как вызвать API перезагрузки в коде


person anonymous    schedule 03.02.2015    source источник
comment
Решил ли какой-либо из ответов вашу проблему? Если нет, пожалуйста, добавьте больше информации   -  person mjs    schedule 11.03.2015


Ответы (2)


Посмотрите по этой ссылке...

http://www.vxdev.com/docs/vx55man/vxworks/ref/rebootLib.html

Вам нужно передать какой-то конкретный аргумент этой подпрограмме

person Pratik    schedule 04.02.2015

Немного непонятно из вашего вопроса, в чем именно он не работает, но в любом случае код не совсем правильный. Функция перезагрузки имеет следующую подпись:

void reboot(int starttype);

где starttype указывает, хотите ли вы нормальную загрузку, без автозагрузки, для очистки памяти или быструю загрузку.

Вы должны были включить <rebootLib.h>, что позволило бы компилятору сгенерировать здесь предупреждение/ошибку (в зависимости от настроек компилятора).

Однако, если ваша проблема заключается в том, что он перезагружается, но не так, как вы хотели, выбор соответствующего типа запуска здесь также может решить эту проблему.

person mjs    schedule 16.02.2015