Flash EEPROM Emulation (Fee)
Provides emulation of EEPROM-like data blocks on Flash memory devices.
Funktionen — Übersicht
void Fee_Init (const Fee_ConfigType* ConfigPtr);Service to initialize the FEE module.void Fee_SetMode (MemIf_ModeType Mode);Function to switch the mode of the underlying Flash DriverStd_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Service to initiate a read job.Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);Service to initiate a write job.void Fee_Cancel (void);Service to call the cancel function of the underlying flash driver.MemIf_StatusType Fee_GetStatus (void);Service to return the status.MemIf_JobResultType Fee_GetJobResult (void);Service to query the result of the last accepted job issued by the upper layer software.Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);Service to invalidate a logical block.void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Service to return the version information of the FEE module.Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);Service to erase a logical block.void Fee_JobEndNotification (void);Service to report to this module the successful end of an asynchronous operation.void Fee_JobErrorNotification (void);Service to report to this module the failure of an asynchronous operation.void Fee_MainFunction (void);Service to handle the requested read / write / erase jobs and the internal management operations.void NvM_JobEndNotification (void);-void NvM_JobErrorNotification (void);-
Typen — Übersicht
struct Fee_ConfigTypeConfiguration data structure of the Fee module.
Funktionen & Typen — Detailansicht
функция Fee_Init [SWS_Fee_00085] 📄 PDF
void Fee_Init (const Fee_ConfigType* ConfigPtr);
Service to initialize the FEE module.
Функция Fee_Init служит центральной службой для инициализации модуля эмуляции Flash EEPROM (FEE) [SWS_Fee_00085]. Вызов осуществляется через интерфейс, объявленный в Fee.h, с Service ID 0x00 [SWS_Fee_00085]. В качестве единственного входного параметра передается ConfigPtr, который служит указателем на выбранный набор конфигурационных данных типа const Fee_ConfigType* [SWS_Fee_00085]. Дополнительные входные/выходные или чисто выходные параметры не определены, и функция не возвращает значения (void) [SWS_Fee_00085].
Хотя речь идет о базовой функции инициализации, семантика выполнения в спецификации явно классифицирована как асинхронная (Asynchronous) [SWS_Fee_00085]. Интерпретация: поскольку функция действует асинхронно, вызов Fee_Init, предположительно, лишь запускает инициализацию модуля, тогда как ресурсоемкие шаги инициализации завершаются неблокирующим образом в фоновом режиме [SWS_Fee_00085]. Вопрос Q-7d91ac2e51869606 (открытый)
Для параллелизма и контекста вызова спецификация определяет, что Fee_Init не является реентерабельной (Non Reentrant) [SWS_Fee_00085]. Следовательно, функция ни в какой момент времени не должна вызываться параллельно или вложенно из различных контекстов [SWS_Fee_00085].
Это указание по использованию создано ИИ и опирается исключительно на спецификацию AUTOSAR Classic Release R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Fee_SetMode [SWS_Fee_00086] 📄 PDF
void Fee_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying Flash Driver
Использование и контекст вызова
Функция Fee_SetMode служит для переключения режима работы нижележащего драйвера флэш-памяти ([SWS_Fee_00086]). Она предоставляется через заголовочный файл Fee.h с Service-ID 0x01 ([SWS_Fee_00086]). Служба ожидает в качестве единственного входного параметра Mode (типа MemIf_ModeType), который задает желаемый режим работы драйвера флэш-памяти ([SWS_Fee_00086]). Не передаются ни выходные параметры, ни возвращаемое значение (void) ([SWS_Fee_00086]).
Асинхронная семантика и параллелизм
Интерфейс специфицирован как асинхронный ([SWS_Fee_00086]). Поскольку после вызова значение функции не возвращается, сам процесс переключения оборудования флэш-памяти, вероятно, протекает с задержкой по времени в фоновом режиме. Вопрос Q-9dbc267f51e150af (открытый) Что касается контекста вызова, Fee_SetMode классифицирована как нереентрабельная (Non Reentrant) ([SWS_Fee_00086]). Поэтому вызывающие стороны должны гарантировать, что функция не вызывается одновременно или с прерыванием из различных потоков или задач.
Обработка ошибок и взаимодействие
В приведенной выдержке из спецификации для Fee_SetMode не определены специфические коды ошибок, сообщения об ошибках DET или события DEM ([SWS_Fee_00086]). Также не указаны прямые связи с другими требованиями. Интерпретация: возможная проверка недопустимых значений режима, вероятно, обрабатывается внутри драйвера или в модуле Fee без явного возврата ошибки вызывающей стороне. Вопрос (открытый)
Этот текст создан ИИ и основан исключительно на спецификациях релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Fee_Read [SWS_Fee_00087] 📄 PDF
Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Service to initiate a read job.
Использование
Функция Fee_Read служит для инициации асинхронного запроса на чтение в модуле Flash EEPROM Emulation и объявляется в заголовочном файле Fee.h [SWS_Fee_00087]. Она имеет Service ID 0x02 и принимает следующие входные параметры [SWS_Fee_00087]:
Block Number: номер логического блока, который также указывает его начальный адрес во флеш-памяти.Block Offset: смещение чтения внутри соответствующего блока.Length: количество байтов, считываемых из блока.Data Buffer Ptr: указатель на целевой буфер для сохранения считанных данных.
В качестве возвращаемого значения функция выдает Std_ReturnType: E_OK сигнализирует о том, что запрошенная задача чтения принята модулем; E_NOT_OK указывает, что запрос отклонен [SWS_Fee_00087].
Параллелизм и ограничения
Вызов Fee_Read специфицирован как нереентерабельный (Non Reentrant) и асинхронный (Asynchronous) [SWS_Fee_00087].
Взаимодействие с драйвером Flash
Если во флеш-драйвере сконфигурирована функция Fls_BlankCheck, Fee_Read должна вызывать эту функцию [SWS_Fee_00187]. Это служит для предварительной проверки возможности считывания области памяти без возникновения, например, ошибок ECC из-за стертых, но еще не запрограммированных ячеек флеш-памяти [SWS_Fee_00187].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Fee_Write [SWS_Fee_00088] 📄 PDF
Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Service to initiate a write job.
Использование и семантика
Функция Fee_Write служит службой для инициации запроса на запись в модуле эмуляции Flash EEPROM согласно [SWS_Fee_00088]. Объявление доступно в заголовочном файле Fee.h. Вызов происходит асинхронно: функция лишь запускает процесс записи и не блокирует выполнение до физического завершения операции записи.
Для передачи данных записи определены два параметра [SWS_Fee_00088]:
BlockNumber(uint16): обозначает логический номер блока и одновременно определяет начальный адрес этого блока в EEPROM.DataBufferPtr(const uint8*): указатель на буфер данных, содержащий записываемые полезные данные.
Возвращаемые значения и параллелизм
Возвращаемое значение типа Std_ReturnType непосредственно сигнализирует о том, смог ли модуль принять запрос на запись [SWS_Fee_00088]:
E_OK: запрошенная операция принята модулем.E_NOT_OK: операция не была принята модулем.
С точки зрения параллелизма Fee_Write специфицирована как нереентерабельная (Non Reentrant) [SWS_Fee_00088]. Поэтому вызывающие компоненты должны гарантировать, что функция не будет вызываться параллельно из различных контекстов. Service ID функции — 0x03 [SWS_Fee_00088]. Интерпретация: физическая передача данных, вероятно, должна выполняться асинхронно в фоновом режиме последующими циклами модуля после возврата E_OK. Вопрос Q-8bedddcf2371f6bf (открытый)
Этот текст был сгенерирован ИИ и служит в качестве справочного руководства. Преимущественную силу имеют упомянутые спецификации AUTOSAR.
функция Fee_Cancel [SWS_Fee_00089] 📄 PDF
void Fee_Cancel (void);
Service to call the cancel function of the underlying flash driver.
Функция Fee_Cancel представляет собой синхронную службу модуля Fee для передачи запроса на отмену в нижележащий драйвер флеш-памяти [SWS_Fee_00089]. Эта служба объявлена в заголовочном файле Fee.h и имеет числовой Service ID 0x04 [SWS_Fee_00089].
Использование и контекст вызова
Интерфейс имеет сигнатуру void Fee_Cancel (void) [SWS_Fee_00089]. Для вызова в соответствии со спецификацией действуют следующие характеристики параметров и выполнения:
- Параметры: функция не ожидает входных параметров; отсутствуют входные, входные/выходные или выходные параметры [SWS_Fee_00089].
- Возвращаемое значение: вызывающей стороне возвращаемое значение не возвращается [SWS_Fee_00089].
- Синхронность: выполнение вызова функции определено как синхронное (Synchronous) [SWS_Fee_00089].
Параллелизм и ограничения
В отношении поведения при параллелизме Fee_Cancel специфицирована как нереентерабельная (Non Reentrant) [SWS_Fee_00089]. Поэтому вызывающие сущности должны гарантировать, что функция не будет вызываться параллельно или вложенно из различных контекстов задач или прерываний.
Взаимодействие и обработка ошибок
Основная задача Fee_Cancel состоит в том, чтобы вызвать функцию прерывания (отмены) базового драйвера флеш-памяти [SWS_Fee_00089]. Специфические коды ошибок, возвращаемые значения или сообщения об ошибках для этой функции в полезной нагрузке не определены. Поскольку обработка ошибок не описана, поведение в случае ошибки, вероятно, зависит от реализации вызываемого драйвера флеш-памяти. Вопрос Q-bb066b6c05a2eb12 (открытый)
Это указание по использованию было сгенерировано автоматически и основано исключительно на содержании спецификации релиза AUTOSAR R20-11.
функция Fee_GetStatus [SWS_Fee_00090] 📄 PDF
MemIf_StatusType Fee_GetStatus (void);
Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
функция Fee_GetJobResult [SWS_Fee_00091] 📄 PDF
MemIf_JobResultType Fee_GetJobResult (void);
Service to query the result of the last accepted job issued by the upper layer software.
функция Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF
Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);
Service to invalidate a logical block.
Функция Fee_InvalidateBlock служит сервисом для аннулирования логического блока во флэш-памяти [SWS_Fee_00092]. Она доступна через заголовочный файл Fee.h и имеет Service-ID 0x07 [SWS_Fee_00092].
Использование и параметры
Вызов происходит асинхронно; таким образом, фактическое объявление недействительным инициируется как фоновая задача [SWS_Fee_00092]:
- Block Number (
uint16, in): обозначает логический номер блока, который одновременно определяет начальный адрес блока во флэш-памяти [SWS_Fee_00092]. - Возвращаемое значение (
Std_ReturnType): возвращаетE_OK, если задание на аннулирование было успешно принято модулем [SWS_Fee_00092].
Обработка ошибок
Если модуль не смог принять запрос, возвращается E_NOT_OK — однако, согласно спецификации, этот возврат ошибки явно ограничен конфигурациями с включенным DET (only if DET is enabled) [SWS_Fee_00092]. Интерпретация: если DET деактивирован, отклонение задания, вероятно, не должно сигнализироваться вызывающей стороне через E_NOT_OK, поскольку спецификация связывает возврат этого значения ошибки с активацией DET. Вопрос Q-2e54187ddb69e481 (открытый)
Параллелизм и граничные условия
Интерфейс объявлен как нереентрабельный (Non Reentrant) [SWS_Fee_00092]. Поэтому вызывающие стороны должны гарантировать, что параллельные или прерывающие вызовы Fee_InvalidateBlock не осуществляются, пока активен предыдущий вызов функции [SWS_Fee_00092].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция Fee_GetVersionInfo [SWS_Fee_00093] 📄 PDF
void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to return the version information of the FEE module.
функция Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF
Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);
Service to erase a logical block.
Использование и параметры
Функция Fee_EraseImmediateBlock предоставляет асинхронную службу для удаления логического блока и объявлена в заголовочном файле Fee.h [SWS_Fee_00094]. Функция имеет шестнадцатеричный Service-ID 0x09 [SWS_Fee_00094]. Единственным входным параметром служит Block Number типа uint16; он указывает номер логического блока и одновременно определяет его начальный адрес в EEPROM [SWS_Fee_00094].
Возвращаемые значения и обработка ошибок
В качестве возвращаемого значения интерфейс возвращает статус Std_ReturnType [SWS_Fee_00094]. Значение E_OK подтверждает, что модуль успешно принял запрошенное задание на удаление [SWS_Fee_00094]. Если задание не было принято модулем, функция возвращает E_NOT_OK; согласно спецификации, это возвращаемое значение возникает, однако, только при активированном контроле ошибок DET [SWS_Fee_00094].
Параллелизм и ограничения
С точки зрения параллелизма и условий вызова Fee_EraseImmediateBlock классифицируется как нереентерабельная (Non Reentrant) и работает асинхронно [SWS_Fee_00094]. Поэтому вызывающие модули должны гарантировать отсутствие повторного вызова того же интерфейса, пока модуль всё ещё занят обработкой.
Контекстное пояснение на основе спецификации AUTOSAR.
функция Fee_JobEndNotification [SWS_Fee_00095] 📄 PDF
void Fee_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
Функция Fee_JobEndNotification служит для уведомления модуля Fee об успешном завершении асинхронной операции ([SWS_Fee_00095]).
В отношении использования и сигнатуры действуют следующие положения:
- Сигнатура и параметры: функция имеет сигнатуру
void Fee_JobEndNotification (void);. Она не ожидает ни входных, ни входных/выходных, ни выходных параметров и не возвращает значения ([SWS_Fee_00095]). - Заголовочный файл: объявление предоставляется через
Fee.h([SWS_Fee_00095]). - Идентификатор сервиса (Service-ID): функция определена через Service-ID
0x10([SWS_Fee_00095]). - Синхронность: сам вызов специфицирован как синхронный ([SWS_Fee_00095]).
- Конкурентный доступ: подпрограмма классифицирована как нереентерабельная (Non Reentrant) ([SWS_Fee_00095]).
Взаимодействие и контекст вызова: как правило, этот callback, вероятно, вызывается нижележащим модулем (таким как драйвер флеш-памяти) для сигнализации об окончании асинхронного задания записи или стирания. Вопрос Q-8a3ccdba2024001f (открытый) В силу свойства Non Reentrant вызывающая сторона должна гарантировать отсутствие конкурирующих вызовов ([SWS_Fee_00095]).
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR для R20-11.
функция Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF
void Fee_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
Функция Fee_JobErrorNotification служит службой уведомления, сообщающей модулю Fee о сбое асинхронной операции [SWS_Fee_00096]. Интерфейс имеет сигнатуру void Fee_JobErrorNotification (void) и доступен через заголовочный файл Fee.h [SWS_Fee_00096]. Службе с идентификатором 0x11 не передаются ни входные, ни входные/выходные, ни выходные параметры [SWS_Fee_00096]. Также вызов не возвращает вызывающей стороне никакого значения [SWS_Fee_00096].
Семантика выполнения вызова специфицирована как синхронная (Synchronous) [SWS_Fee_00096]. Для поведения во время выполнения действует ключевое ограничение: функция не является реентерабельной (Non Reentrant) [SWS_Fee_00096]. Интерпретация: вызывающая сторона — которой, предположительно, является нижележащий компонент драйвера — должна гарантировать, что уведомление никогда не инициируется параллельно или конкурентно из прерывающих контекстов. Вопрос Q-7d4c9618bf385721 (открытый)
Что касается обработки ошибок, то через интерфейс без параметров не передаются никакие специфические коды ошибок, и для этого вызова не задокументированы модулеспецифичные сообщения DET или DEM [SWS_Fee_00096]. Модуль Fee, вероятно, внутренне сопоставляет зарегистрированный сбой с активным асинхронным заданием и соответствующим образом корректирует его статус. Вопрос Q-1fa43444195edb62 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция Fee_MainFunction [SWS_Fee_00097] 📄 PDF
void Fee_MainFunction (void);
Service to handle the requested read / write / erase jobs and the internal management operations.
Функция Fee_MainFunction служит согласно [SWS_Fee_00097] для централизованной обработки запрошенных заданий на чтение, запись и удаление, а также для выполнения внутренних операций управления модуля. Она специфицирована с сигнатурой void Fee_MainFunction (void); и Service-ID 0x12 [SWS_Fee_00097].
Что касается интерфейса и использования, функция не обрабатывает входных параметров и не имеет возвращаемого значения [SWS_Fee_00097]. Из доступности через заголовочный файл SchM_Fee.h можно, предположительно, сделать вывод, что её вызов выполняется циклически диспетчером расписания базового программного обеспечения. Вопрос Q-5ef9bcc5f438cb89 (открытый) Описание наводит на мысль, что ранее переданные асинхронно задания должны последовательно отрабатываться в рамках этих периодических циклов.
Относительно сценариев ошибок, реентерабельности и специфических условий вызова спецификация не содержит отдельных идентификаторов или кодов ошибок [SWS_Fee_00097]. Интерпретация: являясь центральной циклической управляющей функцией для состояния модуля, Fee_MainFunction, вероятно, нереентерабельна, поэтому параллельного вызова из нескольких задач следует избегать. Вопрос (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF
void NvM_JobEndNotification (void);
-
Использование и сигнатура
Функция NvM_JobEndNotification определена в спецификации Flash EEPROM Emulation (Fee) как служба и доступна через заголовочный файл Nvm.h ([SWS_Fee_00098]). Согласно её синтаксису void NvM_JobEndNotification (void);, функция не требует ни входных, ни выходных параметров и не возвращает значения ([SWS_Fee_00098]). Для поведения при выполнении установлена синхронная семантика (Sync/Async: true) ([SWS_Fee_00098]).
Параллелизм и ограничения
Относительно реентерабельности функция классифицирована как Don't care ([SWS_Fee_00098]). Специфические ограничения касательно контекста вызова в спецификации не задаются. Отдельная обработка ошибок посредством сообщений DET или DEM для этого элемента не специфицирована ([SWS_Fee_00098]).
Взаимодействие и функциональная классификация
Хотя функция является составной частью спецификации Flash EEPROM Emulation, поле описания не содержит дополнительных подробностей ([SWS_Fee_00098]). Интерпретация: судя по наименованию и объявлению в Nvm.h, функция, предположительно, служит интерфейсом обратного вызова, через который модуль Fee сигнализирует модулю NvM о штатном завершении асинхронно обрабатываемого задания. Вопрос Q-ee00bece2e28a0e4 (открытый)
Данное указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Release R20-11.
функция NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF
void NvM_JobErrorNotification (void);
-
Использование и контекст вызова
Функция NvM_JobErrorNotification согласно [SWS_Fee_00099] определена как синхронный интерфейс (Sync/ Async true). Её объявление предоставляется через заголовочный файл Nvm.h ([SWS_Fee_00099]). Сигнатура имеет вид void NvM_JobErrorNotification (void), в силу чего функция не принимает ни входных, ни сквозных, ни выходных параметров и не возвращает значения ([SWS_Fee_00099]). Судя по идентификатору и принадлежности к модулю Fee, эта функция обратного вызова, вероятно, служит для уведомления управления NVRAM при возникновении ошибки во время асинхронной обработки задания в драйвере эмуляции Flash-EEPROM. Вопрос Q-4d70f8d384e04832 (открытый)
Обработка ошибок и параллелизм
В [SWS_Fee_00099] не приведены никакие специфические коды ошибок, сообщения DET или события DEM. Поскольку параметры статуса или ошибки не передаются, детальный анализ ошибок, вероятно, основан на внутренних состояниях модуля или последующих запросах драйвера. Вопрос Q-c45e72b67236c432 (открытый) Относительно параллелизма [SWS_Fee_00099] указывает для реентерабельности критерий Don't care, в результате чего со стороны требования не формулируется ограничивающих предписаний по реентерабельности.
Этот текст сгенерирован ИИ на основе спецификации.
тип Fee_ConfigType [SWS_Fee_00188] 📄 PDF
Configuration data structure of the Fee module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Fee- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Fee@rel:R20-11#9238199c- Content hash
9238199c- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlashEEPROMEmulation.pdf#nameddest=SWS_Fee_00085
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал