Default Error Tracer (DET)
The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.
Funktionen — Übersicht
void Det_Init (const Det_ConfigType* ConfigPtr);Service to initialize the Default Error Tracer.Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);Service to report development errors.void Det_Start (void);Service to start the Default Error Tracer.Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);Service to report runtime errors.Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);Service to report transient faults.void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);-
Typen — Übersicht
struct Det_ConfigTypeConfiguration data structure of the Det module.
Funktionen & Typen — Detailansicht
функция Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
Синхронная функция Det_Init служит центральным сервисом для инициализации Default Error Tracer ([SWS_Det_00008]). Она предоставляется через заголовочный файл Det.h и имеет сигнатуру void Det_Init (const Det_ConfigType* ConfigPtr). Через формальный входной параметр ConfigPtr функция принимает указатель на выбранный набор данных конфигурации модуля. Возвращаемое значение для этого сервиса не предусмотрено ([SWS_Det_00008]).
Что касается поведения во время выполнения, Det_Init строго специфицирована как неревходабельная (Non Reentrant) ([SWS_Det_00008]). По этой причине функция ни в коем случае не должна вызываться в процессе нормальной работы параллельно или с прерыванием из различных контекстов выполнения. Модуль, вероятно, вызывается централизованно на этапе инициализации базового программного обеспечения, еще до того, как другие BSW-модули или компоненты передадут ошибки в DET (интерпретация). Вопрос Q-143a3c098d03d7f8 (открытый)
Функция определена с Service-ID 0x00 ([SWS_Det_00008]). Собственные коды ошибок, специфические механизмы обработки ошибок или отдельные сообщения об ошибках через DET или DEM для этого вызова инициализации в данном фрагменте спецификации не указаны.
В рамках трассировки требований интерфейс удовлетворяет общим предписаниям AUTOSAR к единым соглашениям об именовании API согласно [SRS_BSW_00310] (SWS DefaultErrorTracer §6 «Requirements Tracing»).
Это примечание сгенерировано ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Det_ReportError [SWS_Det_00009] 📄 PDF
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Service to report development errors.
Функция Det_ReportError служит в BSW-модулях AUTOSAR Classic для сообщения об ошибках разработки при активном обнаружении ошибок ([SWS_BSW_00045], [SWS_Det_00009]). Интерфейс объявлен реентерабельным ([SWS_Det_00009]). Поведение при выполнении не предполагает возврата в вызывающий контекст («never returns»); тип возвращаемого значения Std_ReturnType существует исключительно для совместимости с сервисами и хуками ([SWS_Det_00009]).
Входные параметры однозначно идентифицируют контекст ошибки ([SWS_Det_00009]):
ModuleId(uint16): идентификатор модуля AUTOSAR сообщающего модуля; базовое программное обеспечение использует диапазон от 0 до 255 (EXP_LayeredSoftwareArchitecture §3 «Default Error Tracer»).InstanceId(uint8): экземпляр модуля начиная с 0; для одиночных экземпляров передается 0 ([SWS_Det_00009]).ApiId(uint8): идентификатор API-сервиса, обнаружившего ошибку ([SWS_Det_00009]).ErrorId(uint8): специфический идентификатор ошибки BSW-модуля ([SWS_BSW_00045], [SWS_Det_00009]).
Ошибки разработки представляют собой фундаментальные нарушения предусловий из-за программных ошибок, неправильной конфигурации или проблем интеграции (EXP_LayeredSoftwareArchitecture §3 «Error Classification», [SRS_BSW_00337] текст ещё не импортирован), таких как вызов неинициализированного модуля ([SWS_BSW_00243]) или недействительные параметры ([SWS_CANIF_00538]). Они обрабатываются как утверждения (assertions): после вызова всех сконфигурированных в DetErrorHook callback-функций ([SWS_Det_00501]) обычный поток управления не должен продолжаться; DET останавливает выполнение, например, с помощью бесконечного цикла, инструкции остановки или сброса ([SRS_BSW_00337] текст ещё не импортирован, EXP_LayeredSoftwareArchitecture §3 «Error Classification»).
Это указание по использованию сгенерировано ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция Det_Start [SWS_Det_00010] 📄 PDF
void Det_Start (void);
Service to start the Default Error Tracer.
Синхронная API-функция Det_Start служит для запуска Default Error Tracer (DET) ([SWS_Det_00010]). Этот сервис объявлен в заголовочном файле Det.h под идентификатором сервиса 0x02 (SWS_DefaultErrorTracer §8.1.3.3 «Det_Start»). В соответствии с синтаксисом void Det_Start(void) функция не принимает ни входных, ни выходных параметров и не возвращает вызывающей стороне никакого значения ([SWS_Det_00010]).
Для интеграции и выполнения действуют специфические условия:
- Реентерабельность и параллелизм: функция определена как нереентерабельная (
Non Reentrant) ([SWS_Det_00010]). Параллельные вызовы из нескольких задач или прерывающих контекстов недопустимы. - Контекст вызова: интерпретация: вызов, вероятно, обычно выполняется централизованно во время запуска системы после базовой инициализации, чтобы активировать трассировку ошибок в электронном блоке управления. Вопрос Q-b28f205b1cc7acfa (открытый)
- Обработка ошибок: интерфейс не возвращает состояний ошибок; в выдержке из спецификации для этого вызова не определены ни коды ошибок, ни события DET или DEM ([SWS_Det_00010]).
В общей системе Det_Start удовлетворяет стандартизированному соглашению об именовании для базового программного обеспечения AUTOSAR согласно [SRS_BSW_00310] текст ещё не импортирован (SWS_DefaultErrorTracer §6 «Requirements Tracing»).
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Det_ReportRuntimeError [SWS_Det_01001] 📄 PDF
Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);
Service to report runtime errors. If a callout has been configured then this callout shall be called.
Функция [SWS_Det_01001] служит центральным сервисом BSW в Det.h для приема ошибок времени выполнения (Runtime Errors). Она работает синхронно и спроектирована как ревходабельная [SWS_Det_01001].
Использование и параметры
Вызывающие BSW-модули при сообщении об ошибке передают в [SWS_Det_01001] четыре обязательных параметра:
ModuleId: идентификатор сообщающего BSW-модуля.InstanceId: индексный номер экземпляра (для модулей только с одним экземпляром — значение0).ApiId: идентификатор функции API, в которой произошла ошибка.ErrorId: специфичный для модуля идентификатор обнаруженной ошибки времени выполнения.
Сервис всегда возвращает возвращаемое значение E_OK вызывающему модулю [SWS_Det_01001].
Взаимодействие и обработка ошибок
Согласно архитектуре AUTOSAR, ошибки времени выполнения отличаются от ошибок разработки (нарушающих фундаментальные предварительные условия) и производственных ошибок (актуальных для диагностики в мастерской) EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. Сервис интегрируется, например, в качестве обязательного интерфейса драйвером ADC [SWS_Adc_00530] или DDS [CP_SWS_Dds_00832] текст ещё не импортирован.
В CanIf, например, попытка передачи через офлайн-канал приводит к сообщению CANIF_E_STOPPED [SWS_CANIF_00382], тогда как превышение длины без усечения сообщается как CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].
При вызове [SWS_Det_01001] выполняются все функции callout, указанные в параметре конфигурации DetReportRuntimeErrorCallout [SWS_Det_00503]. Если хуки ошибок сконфигурированы не были, дополнительные вызовы функций не выполняются, при этом пересылка в DLT остается активной, если он сконфигурирован [SWS_Det_00503].
Данное указание по использованию было сформировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция Det_ReportTransientFault [SWS_Det_01003] 📄 PDF
Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.
Синхронная и реентерабельная функция Det_ReportTransientFault (идентификатор сервиса 0x05) служит BSW-модулям для стандартизированного сообщения об обнаруженных переходных ошибках в Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]). Сервис объявлен через заголовочный файл Det.h, однако в релизе R20-11 помечен как устаревший (OBSOLETE) (SWS_DefaultErrorTracer §8.1.3.5 «Det_ReportTransientFault»).
При вызове передаются исключительно входные параметры: идентификатор вызывающего модуля (ModuleId), индекс экземпляра (InstanceId, при этом одноэкземплярные модули передают 0), идентификатор сервиса обнаружившего ошибку API (ApiId), а также номер ошибки (FaultId), который согласно SWS_BSWGeneral §7.2.4.4 «Reporting» должен иметь тип uint8 ([SWS_Det_01003]).
Вызов перенаправляет ошибку в сконфигурированные callout-функции и оценивает их ответы:
- Вызов приводит к выполнению всех callback-функций, сконфигурированных в
DetReportTransientFaultCallout([SWS_Det_00502]). - Если сконфигурированная callout-функция отсутствует, функция немедленно завершает работу и возвращает значение
E_OK([SWS_Det_01003]). - Если настроена ровно одна callout-функция,
Det_ReportTransientFaultвозвращает ее возвращаемое значение типаStd_ReturnType([SWS_Det_01003]). - Если присутствует несколько callout-функций, формируется логическое «ИЛИ» (сумма) всех возвращаемых значений callout-функций. Поскольку определено
E_OK = 0, функция возвращаетE_OKтолько в том случае, если все callout-функции безошибочно отвечаютE_OK([SWS_Det_01003]).
С точки зрения параллелизма и среды выполнения функция спроектирована как реентерабельная, поэтому ее можно вызывать параллельно из контекстов различных модулей ([SWS_Det_01003]).
Данный текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
Конфигурируемый интерфейс <User_Error_Hooks> определяет вызов пользовательских callout-функций при обнаружении ошибок разработки [SWS_Det_00181]. Как только вызывается функция Det_ReportError, все сконфигурированные для этого в системе callout-функции должны быть выполнены синхронно [SWS_Det_00180]. Объявление этого интерфейса предоставляется через заголовочный файл Det_Externals.h SWS DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces».
Функция имеет идентификатор сервиса 0x10 и передает четыре диагностических параметра для анализа ошибок [SWS_Det_00181]:
ModuleId: уникальный идентификатор модуля вызывающего BSW-модуля.InstanceId: идентификатор экземпляра модуля, начиная с0(для модулей только с одним экземпляром передается0).ApiId: идентификатор соответствующей API-функции согласно спецификации соответствующего модуля.ErrorId: идентификатор конкретной ошибки разработки.
Согласно спецификации интерфейс всегда возвращает возвращаемое значение E_OK, как это требуется для подобных сервисных служб [SWS_Det_00181]. Собственные коды ошибок или альтернативные значения статуса не могут быть возвращены вызывающей стороне через этот интерфейс.
С точки зрения выполнения <User_Error_Hooks> спроектирована как синхронная и реентерабельная [SWS_Det_00181]. Если для одного и того же сервиса определено несколько callout-функций, они должны иметь одинаковую сигнатуру и идентификатор сервиса [SWS_Det_00180]. Интерпретация: поскольку обработка происходит непосредственно в контексте вызова Det_ReportError, пользовательские хуки не должны использовать блокирующие механизмы, чтобы не задерживать выполнение системы. Вопрос Q-acd1afcd9336992f (открытый)
Это указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
функция <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
Конфигурируемый интерфейс callout <DetReportRuntimeErrorCallout> служит для пользовательского сбора и дальнейшей обработки ошибок времени выполнения в Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces»). Как только вызывается функция Det_ReportRuntimeError, DET синхронно выполняет все сконфигурированные для этого функции callout ([SWS_Det_00180], [SWS_Det_00503]). Сконфигурированные функции callout предоставляются через заголовочный файл Det_Externals.h и имеют Service-ID 0x11 ([SWS_Det_00184]).
Параметры и возвращаемое значение
ModuleId(uint16): числовой идентификатор BSW-модуля, сообщающего об ошибке времени выполнения ([SWS_Det_00184]).InstanceId(uint8): индекс экземпляра модуля, начиная с 0; для одиночных экземпляров всегда передается 0 ([SWS_Det_00184]).ApiId(uint8): идентификатор сервиса API, в котором возникла ошибка времени выполнения ([SWS_Det_00184]).ErrorId(uint8): специфичный для модуля идентификатор обнаруженной ошибки времени выполнения ([SWS_Det_00184]).- Возвращаемое значение: тип
Std_ReturnTypeсогласно спецификации сервиса всегда возвращаетE_OK([SWS_Det_00184]).
Параллелизм и поведение
Функция callout специфицирована как ревходабельная и обрабатывается синхронно в контексте выполнения сообщающей стороны ([SWS_Det_00184]). Все функции callout, сконфигурированные для одного и того же сервиса, должны иметь одинаковую сигнатуру и Service-ID ([SWS_Det_00180]). Поскольку возвращаемое значение жестко задано как E_OK, обратной связи о состояниях ошибок в DET через callout не происходит.
Примечание: это указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR Classic R20-11.
функция <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
-
Хук callout [SWS_Det_00187] служит для обработки транзиентных ошибок в соответствии с требованиями приложения в Default Error Tracer (DET). Функция выполняется синхронно и определена с Service-ID 0x12 [SWS_Det_00187]. Она принимает четыре входных параметра:
ModuleId: идентификатор вызывающего программного модуля [SWS_Det_00187].InstanceId: индексный ID экземпляра модуля, начиная с0, причем модули с единственным экземпляром должны передавать значение0[SWS_Det_00187].ApiId: идентификатор сервиса API, в котором возникла транзиентная ошибка [SWS_Det_00187].FaultId: идентификатор обнаруженной транзиентной ошибки согласно SWS вызывающего модуля [SWS_Det_00187].
В качестве возвращаемого значения интерфейс возвращает значение типа Std_ReturnType, которое непосредственно распространяется вызывающей стороне Det_ReportTransientFault [SWS_Det_00187]. Объявление предоставляется через заголовочный файл Det_Externals.h [SWS_Det_00187].
Что касается параллелизма, функция специфицирована как ревходабельная [SWS_Det_00187]. Поскольку возвращаемое значение передается дальше синхронно, реализация callout не должна содержать блокирующих операций, чтобы недопустимо не задерживать выполнение сообщающего модуля. Вопрос Q-23eaffed8be030bb (открытый)
Этот текст был сгенерирован ИИ на основе данных спецификации.
тип Det_ConfigType [SWS_Det_00210] 📄 PDF
Configuration data structure of the Det module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Det- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Det@rel:R20-11#dad4ce63- Content hash
dad4ce63- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DefaultErrorTracer.pdf#nameddest=SWS_Det_00008
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал