* added GNAT's Volatile_Full_Access attributes -- this is because of APB bridge quirk
This commit is contained in:
parent
0691fd254f
commit
3085366ca0
|
@ -27,12 +27,12 @@ package STM32.F4.EXTI is
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
type EXTI_Registers is record
|
type EXTI_Registers is record
|
||||||
IMR: Event_Set_Register;
|
IMR: Event_Set_Register with Volatile_Full_Access;
|
||||||
EMR: Event_Set_Register;
|
EMR: Event_Set_Register with Volatile_Full_Access;
|
||||||
RTSR: Event_Set_Register;
|
RTSR: Event_Set_Register with Volatile_Full_Access;
|
||||||
FTSR: Event_Set_Register;
|
FTSR: Event_Set_Register with Volatile_Full_Access;
|
||||||
SWIER: Event_Set_Register;
|
SWIER: Event_Set_Register with Volatile_Full_Access;
|
||||||
PR: Event_Set_Register;
|
PR: Event_Set_Register with Volatile_Full_Access;
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
for EXTI_Registers use record
|
for EXTI_Registers use record
|
||||||
|
|
|
@ -117,8 +117,8 @@ package STM32.F4.PWR is
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
type PWR_Registers is record
|
type PWR_Registers is record
|
||||||
CR : Power_Control_Register;
|
CR : Power_Control_Register with Volatile_Full_Access;
|
||||||
CSR : Power_Control_Status_Register;
|
CSR : Power_Control_Status_Register with Volatile_Full_Access;
|
||||||
end record with Volatile;
|
end record with Volatile;
|
||||||
|
|
||||||
for PWR_Registers use record
|
for PWR_Registers use record
|
||||||
|
|
|
@ -114,13 +114,13 @@ package STM32.F4.SysCfg is
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
type SYSCFG_Registers is record
|
type SYSCFG_Registers is record
|
||||||
MEMRMP: Memory_Remap_Register;
|
MEMRMP: Memory_Remap_Register with Volatile_Full_Access;
|
||||||
PMC: Peripherial_Mode_Register;
|
PMC: Peripherial_Mode_Register with Volatile_Full_Access;
|
||||||
EXTICR1: External_Interrupt_Configuration_1.Register;
|
EXTICR1: External_Interrupt_Configuration_1.Register with Volatile_Full_Access;
|
||||||
EXTICR2: External_Interrupt_Configuration_2.Register;
|
EXTICR2: External_Interrupt_Configuration_2.Register with Volatile_Full_Access;
|
||||||
EXTICR3: External_Interrupt_Configuration_3.Register;
|
EXTICR3: External_Interrupt_Configuration_3.Register with Volatile_Full_Access;
|
||||||
EXTICR4: External_Interrupt_Configuration_4.Register;
|
EXTICR4: External_Interrupt_Configuration_4.Register with Volatile_Full_Access;
|
||||||
CMPCR: Compensation_Cell_Control_Register;
|
CMPCR: Compensation_Cell_Control_Register with Volatile_Full_Access;
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
for SYSCFG_Registers use record
|
for SYSCFG_Registers use record
|
||||||
|
|
|
@ -2,6 +2,8 @@ with Interfaces;
|
||||||
use Interfaces;
|
use Interfaces;
|
||||||
package STM32.F4.USART is
|
package STM32.F4.USART is
|
||||||
pragma Pure;
|
pragma Pure;
|
||||||
|
-- NOTE: USARTs ans UARTs are on APB
|
||||||
|
-- Registers should be written as a whole
|
||||||
|
|
||||||
type Status_Register is record
|
type Status_Register is record
|
||||||
PE: Boolean; -- Psrity error
|
PE: Boolean; -- Psrity error
|
||||||
|
@ -224,13 +226,13 @@ package STM32.F4.USART is
|
||||||
end record;
|
end record;
|
||||||
|
|
||||||
type USART_Registers is record
|
type USART_Registers is record
|
||||||
SR: Status_Register; -- Status register
|
SR: Status_Register with Volatile_Full_Access; -- Status register
|
||||||
DR: Unsigned_32; -- Data register
|
DR: Unsigned_32 with Volatile_Full_Access; -- Data register
|
||||||
BRR: Baud_Rate_Register; -- Baud rate register
|
BRR: Baud_Rate_Register with Volatile_Full_Access; -- Baud rate register
|
||||||
CR1: Control_Register_1; -- Control register 1
|
CR1: Control_Register_1 with Volatile_Full_Access; -- Control register 1
|
||||||
CR2: Control_Register_2; -- Control register 2
|
CR2: Control_Register_2 with Volatile_Full_Access; -- Control register 2
|
||||||
CR3: Control_Register_3; -- Control register 3
|
CR3: Control_Register_3 with Volatile_Full_Access; -- Control register 3
|
||||||
GTPR: Guard_Time_and_Prescaler_Register; -- Guard time and prescaler register
|
GTPR: Guard_Time_and_Prescaler_Register with Volatile_Full_Access; -- Guard time and prescaler register
|
||||||
end record with Volatile;
|
end record with Volatile;
|
||||||
for USART_Registers use record
|
for USART_Registers use record
|
||||||
SR at 16#00# range 0 .. 31;
|
SR at 16#00# range 0 .. 31;
|
||||||
|
|
Loading…
Reference in New Issue