CLASSIC
Modul: adc
Rolle: heuristic
Konfidenz: 85%
SNIP_CLASSIC_ADC_SECTION_7_4_5_Allocatable_Memory_Parts
Wortlaut
7.4.5 Allocatable Memory Parts
The following example shows an Adc driver which is internally split into an interface part and a kernel part. Usually the kernel part is allocated to memory with high performance for the micro controller core handling the interrupts. In opposite the interface part is usually allocated to memory with a good average performance for all micro controller cores using the Adc module. VAR_INIT_QM_LOCAL_16: MemorySection symbol = VAR_INIT_QM_LOCAL_16 Adc: BswModuleDescription category = BSW_MODULE Adc_ReadGroup: BswCalledEntity IbAdc: BswInternalBehavior CODE_QM_LOCAL: SwAddrMethod sectionType = code option = safetyQM,coreLocal Adc: BswImplementation rcAdc: ResourceConsumption CODE_QM_GLOBAL: MemorySection symbol = CODE_QM_LOCAL CODE_QM_LOCAL: MemorySection symbol = CODE_QM_LOCAL ADC_USERIF: SectionNamePrefix symbol = ADC_USERIF ADC_AUTOSCANKERNEL: SectionNamePrefix symbol = ADC_AUTOSCANKERNEL Adc_IsrGroupScanCompleted: BswInterruptEntity CODE_QM_GLOBAL: SwAddrMethod sectionType = code option = safetyQM,coreGlobal VAR_INIT_QM_LOCAL: SwAddrMethod sectionType = var option = safetyQM,coreLocal memoryAllocationKeywordPolicy = AddrMethodShortNameAndAlignment VAR_INIT_QM_GLOBAL_8: MemorySection symbol = VAR_INIT_QM_GLOBAL_8 VAR_INIT_QM_GLOBAL: SwAddrMethod sectionType = var option = safetyQM,coreGlobal memoryAllocationKeywordPolicy = AddrMethodShortNameAndAlignment VAR_INIT_QM_LOCAL_8: MemorySection symbol = VAR_INIT_QM_LOCAL_8 +prefix +swAddrmethod +swAddrmethod +memorySection +sectionNamePrefix +executableEntity +swAddrmethod +internalBehavior +memorySection +prefix +memorySection +swAddrmethod +memorySection +memorySection +swAddrmethod +sectionNamePrefix +prefix +behavior +entity +swAddrMethod +executableEntity +prefix +swAddrmethod +entity +resourceConsumption +prefix Figure 7.9: Example of description and configuration for allocatable memory parts The shown configuration would result in the support of following Memory Allocation Keywords in the Adc_MemMap.h header file:
• ADC_AUTOSCANKERNEL_START_SEC_CODE_QM_LOCAL
• ADC_AUTOSCANKERNEL_STOP_SEC_CODE_QM_LOCAL
• ADC_AUTOSCANKERNEL_START_SEC_VAR_INIT_QM_LOCAL_8
• ADC_AUTOSCANKERNEL_STOP_SEC_VAR_INIT_QM_LOCAL_8
• ADC_AUTOSCANKERNEL_START_SEC_VAR_INIT_QM_LOCAL_16
• ADC_AUTOSCANKERNEL_STOP_SEC_VAR_INIT_QM_LOCAL_16
• ADC_USERIF_START_SEC_CODE_QM_GLOBAL
• ADC_USERIF_STOP_SEC_CODE_QM_GLOBAL
• ADC_USERIF_START_SEC_VAR_INIT_QM_GLOBAL_8
• ADC_USERIF_STOP_SEC_VAR_INIT_QM_GLOBAL_8 Nevertheless both memory sections are implemented identical since both are referencing the identical SwAddrMethod and the MemMapGenericMapping is used to configure the MemMap module.
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
BSW allocatable memory parts and section prefixes
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_MemoryMapping.pdf |
|---|---|
| Dokumentseite | Seite 57 |
| Ziel-Modul | adc (classic) |
| Ziel-Anforderung | SWS_MemMap_00041 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.85 |