aboutsummaryrefslogtreecommitdiff
path: root/stm-init.h
diff options
context:
space:
mode:
authorFredrik Thulin <fredrik@thulin.net>2016-05-23 21:59:17 +0200
committerFredrik Thulin <fredrik@thulin.net>2016-05-23 21:59:17 +0200
commit6265025f7cd7f606b6da62c7add13a6008500cf7 (patch)
tree7761c2a2136ed59fab776c6e2c78427a3082fd10 /stm-init.h
parent50f9d40503e5f9cb24241c4c584db3cb94af07aa (diff)
SDRAM initialization and test code from Pavel.
Integrated into the cli-test program as such: cryptech> test sdram Initializing SDRAM Starting SDRAM test (n = 0) Run sequential write-then-read test for the first chip Run random write-then-read test for the first chip Run sequential write-then-read test for the second chip Run random write-then-read test for the second chip Run interleaved write-then-read test for both chips at once SDRAM test (n = 0) completed SDRAM test completed successfully cryptech>
Diffstat (limited to 'stm-init.h')
-rw-r--r--stm-init.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/stm-init.h b/stm-init.h
index ed80d01..dd19311 100644
--- a/stm-init.h
+++ b/stm-init.h
@@ -38,6 +38,25 @@
#include "cmsis_os.h"
#include "stm32f4xx_hal.h"
+/* Macros used to make GPIO pin setup (in stm-init.c) easier */
+#define gpio_output(output_port, output_pins, output_level) \
+ /* Configure GPIO pin Output Level */ \
+ HAL_GPIO_WritePin(output_port, output_pins, output_level); \
+ /* Configure pin as output */ \
+ GPIO_InitStruct.Pin = output_pins; \
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; \
+ GPIO_InitStruct.Pull = GPIO_NOPULL; \
+ GPIO_InitStruct.Speed = GPIO_SPEED_LOW; \
+ HAL_GPIO_Init(output_port, &GPIO_InitStruct)
+
+#define gpio_input(input_port, input_pin, input_pull) \
+ GPIO_InitStruct.Pin = input_pin; \
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT; \
+ GPIO_InitStruct.Pull = input_pull; \
+ GPIO_InitStruct.Speed = GPIO_SPEED_LOW; \
+ HAL_GPIO_Init(input_port, &GPIO_InitStruct)
+
+
extern void stm_init(void);
extern void Error_Handler(void);