aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libopencm3/stm32/f1/scb.h1
-rw-r--r--include/libopencm3/stm32/f2/scb.h1
-rw-r--r--include/libopencm3/stm32/f4/scb.h1
-rw-r--r--lib/stm32/f1/scb.c5
-rw-r--r--lib/stm32/f2/scb.c5
-rw-r--r--lib/stm32/f4/scb.c5
6 files changed, 18 insertions, 0 deletions
diff --git a/include/libopencm3/stm32/f1/scb.h b/include/libopencm3/stm32/f1/scb.h
index 5c965be..36b05fd 100644
--- a/include/libopencm3/stm32/f1/scb.h
+++ b/include/libopencm3/stm32/f1/scb.h
@@ -295,6 +295,7 @@
/* --- SCB functions ------------------------------------------------------- */
void scb_reset_core(void);
void scb_reset_system(void);
+void scb_set_priority_grouping(u32 prigroup);
/* TODO: */
diff --git a/include/libopencm3/stm32/f2/scb.h b/include/libopencm3/stm32/f2/scb.h
index 5c965be..36b05fd 100644
--- a/include/libopencm3/stm32/f2/scb.h
+++ b/include/libopencm3/stm32/f2/scb.h
@@ -295,6 +295,7 @@
/* --- SCB functions ------------------------------------------------------- */
void scb_reset_core(void);
void scb_reset_system(void);
+void scb_set_priority_grouping(u32 prigroup);
/* TODO: */
diff --git a/include/libopencm3/stm32/f4/scb.h b/include/libopencm3/stm32/f4/scb.h
index 5c965be..36b05fd 100644
--- a/include/libopencm3/stm32/f4/scb.h
+++ b/include/libopencm3/stm32/f4/scb.h
@@ -295,6 +295,7 @@
/* --- SCB functions ------------------------------------------------------- */
void scb_reset_core(void);
void scb_reset_system(void);
+void scb_set_priority_grouping(u32 prigroup);
/* TODO: */
diff --git a/lib/stm32/f1/scb.c b/lib/stm32/f1/scb.c
index 54c5776..8c3238c 100644
--- a/lib/stm32/f1/scb.c
+++ b/lib/stm32/f1/scb.c
@@ -28,3 +28,8 @@ void scb_reset_system(void)
{
SCB_AIRCR = SCB_AIRCR_VECTKEY | SCB_AIRCR_SYSRESETREQ;
}
+
+void scb_set_priority_grouping(u32 prigroup)
+{
+ SCB_AIRCR = SCB_AIRCR_VECTKEY | prigroup;
+}
diff --git a/lib/stm32/f2/scb.c b/lib/stm32/f2/scb.c
index 338542e..33088f3 100644
--- a/lib/stm32/f2/scb.c
+++ b/lib/stm32/f2/scb.c
@@ -28,3 +28,8 @@ void scb_reset_system(void)
{
SCB_AIRCR = SCB_AIRCR_VECTKEY | SCB_AIRCR_SYSRESETREQ;
}
+
+void scb_set_priority_grouping(u32 prigroup)
+{
+ SCB_AIRCR = SCB_AIRCR_VECTKEY | prigroup;
+}
diff --git a/lib/stm32/f4/scb.c b/lib/stm32/f4/scb.c
index 18c1337..30510f8 100644
--- a/lib/stm32/f4/scb.c
+++ b/lib/stm32/f4/scb.c
@@ -28,3 +28,8 @@ void scb_reset_system(void)
{
SCB_AIRCR = SCB_AIRCR_VECTKEY | SCB_AIRCR_SYSRESETREQ;
}
+
+void scb_set_priority_grouping(u32 prigroup)
+{
+ SCB_AIRCR = SCB_AIRCR_VECTKEY | prigroup;
+}