Hi Victor !
My code, what is execute line GPIO_PinWrite(GPIOC, 8, 0) running with User privilidges. (I'm using FreeRTOS what utilize K82'z MPU).
I assume if access to PORTC configured in way :
AIPS0->PACRJ = xxx7xxxx; // PACR 75 [ 19 : 16]
Any access to PORTC/GPIOC addresses should cause BusFault. But it not happens.
"
bit - 18
SP3
Supervisor Protect
Determines whether the peripheral requires supervisor privilege level for accesses. When this field is set,
the master privilege level must indicate the supervisor access attribute, and the MPRx[MPLn] control field
for the master must be set. If not, access terminates with an error response and no peripheral access
initiates.
0 This peripheral does not require supervisor privilege level for accesses.
1 This peripheral requires supervisor privilege level for accesses.
bit - 17
WP3
Write Protect
Determines whether the peripheral allows write accesses. When this field is set and a write access is
attempted, access terminates with an error response and no peripheral access initiates.
0 This peripheral allows write accesses.
1 This peripheral is write protected. -> has effect for User and Supervisor accesses
bit - 16
TP3
Trusted Protect
Determines whether the peripheral allows accesses from an untrusted master. When this bit is set and an
access is attempted by an untrusted master, the access terminates with an error response and no
peripheral access initiates.
0 Accesses from an untrusted master are allowed.
1 Accesses from an untrusted master are not allowed.
"
And I start to think if AIPS protect PORTC ( 0x4004B000) only, but not GPIOC ( 0x400FF080).
Can it be so ?
My target is to disable manipulation with GPIO pins in code what running with User privileges.
Regards,
Eugene