Global

group Global_memoryProtection

memoryProtection globals

lorem

Macros

group Macros_memoryProtection_h

Variables

group Variables_memoryProtection_h

API’s

group Apis_memoryProtection_h

Getters

group Getters_memoryProtection_h

Setters

group Setters_memoryProtection_h

Functions

void memoryProtection_init(AddressType codeMemoryHighAddress, AddressType codeMemoryLowAddress, AddressType stackMemoryHighAddress, AddressType stackMemoryLowAddress, AddressType unprotectedMemoryLowAddress, AddressType unprotectedMemoryHighAddress)

Memory protection initialization. DEMO.

The implementation contains CILmemoryProtection_init function call.

Parameters
  • codeMemoryHighAddress[in]

  • codeMemoryLowAddress[in]

  • stackMemoryHighAddress[in]

  • unprotectedMemoryLowAddress[in]

  • unprotectedMemoryHighAddress

Returns

none

void memoryProtection_setMemoryProtection(CosmOS_CoreConfigurationType *core, CosmOS_SchedulableConfigurationType *schedulable)

Set memory protection for current execution context that means for the schedulable stack, peripheral access and program memory. This function cannot be called from the unprivileged context directly.

The implementation contains obtaining of the program id and program variable by calling schedulable_getProgramId and core_getCoreProgramCfg functions. From the schedulable variable argument is also extracted its stack configuration by calling schedulable_getStack. After this point the memory protection is set for the stack, peripheral and program memory by calling functions memoryProtection_setStackOverflowProtection, memoryProtection_setProgramMemoryProtection and memoryProtection_setSchedulablePeripheralProtection.

Parameters
  • core[in] configuration pointer

  • schedulable[in] configuration pointer

Returns

none

CosmOS_BooleanType memoryProtection_isMemoryRegionProtected(CosmOS_CoreConfigurationType *core, AddressType *regionLowAddressPointer, BitWidthType size)

General

group General_memoryProtection_h