Общий вопрос: добавление нового тестового кода во встроенную систему - PullRequest
0 голосов
/ 25 апреля 2011

это может быть не по теме, но я готовлюсь к экзамену в реальном времени. И я просматривал книгу и Интернет, чтобы найти ответ на вопрос.

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

Кто-нибудь, кто может знать ответ на этот вопрос, или направить меня к материалу для чтения для этого?

Ответы [ 4 ]

1 голос
/ 28 апреля 2011

Да, может. См. Как добавление данных к сегменту во флэш-памяти может повлиять на синхронизацию программы? для примера того, как даже добавление неисполняемого кода может отрегулировать синхронизацию достаточно, чтобы испортить систему.

1 голос
/ 25 апреля 2011

Да, когда вы добавляете код (тест, диагностика, статистика), он может изменить поведение в реальном времени. Это зависит от дизайна, реализации и мощности процессора, если это действительно изменит поведение. У вас также есть больше строк кода, и вероятность ошибок может увеличиться. Но я бы не сказал, «это приведет к ошибкам», поскольку он может вводить ошибки.

1 голос
/ 25 апреля 2011

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

Существует множество доступных схем, гарантирующих «реалистичность» встроенной системы. Например, можно использовать упреждающий ISR на основе таймера для обслуживания задачи в реальном времени. В таком случае ваш тестовый код может не повлиять на «реальное время». Но если тестирование занимает слишком много времени, и переключение контекста не является упреждающим, вы можете попасть в беду ..

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

Наличие операционной системы снизу предотвратит некоторые ошибки, но опять же, в зависимости от того, как она работает, вы можете быть спасены от плохого «тестового кода» ..

0 голосов
/ 25 апреля 2011

Да, изменение базы кода может полностью изменить его время.Учтите, что если вы сбросили некоторые выходные данные отладки на последовательный порт, потребуется время, чтобы вызвать эту функцию, отформатировать данные, и если функция является синхронной, тогда она будет ожидать выхода данных.Этот тип вещи определенно меняет поведение системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...