aboutsummaryrefslogtreecommitdiff
path: root/system-clock/src
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2018-01-15 15:32:16 -0700
committerJosh Rahm <joshuarahm@gmail.com>2018-01-15 15:32:16 -0700
commit67d97164b358ae5c9c0038e58302a6f89c7bb3c5 (patch)
treebdabe749be921915f880dcc3c003333df2e9538c /system-clock/src
parent8b655d6a2ee66ec3c371b8fe8b4c960bc3050fa2 (diff)
downloadstm32l4-67d97164b358ae5c9c0038e58302a6f89c7bb3c5.tar.gz
stm32l4-67d97164b358ae5c9c0038e58302a6f89c7bb3c5.tar.bz2
stm32l4-67d97164b358ae5c9c0038e58302a6f89c7bb3c5.zip
use uint32_t for copying the data sections.
Diffstat (limited to 'system-clock/src')
-rw-r--r--system-clock/src/isr_vector.c14
-rw-r--r--system-clock/src/main.c46
2 files changed, 33 insertions, 27 deletions
diff --git a/system-clock/src/isr_vector.c b/system-clock/src/isr_vector.c
index b432732..dd7fea9 100644
--- a/system-clock/src/isr_vector.c
+++ b/system-clock/src/isr_vector.c
@@ -7,11 +7,11 @@ void main();
/* These are defined in the linker script. */
-extern uint8_t INIT_DATA_VALUES;
-extern uint8_t DATA_SEGMENT_START;
-extern uint8_t DATA_SEGMENT_STOP;
-extern uint8_t BSS_START;
-extern uint8_t BSS_END;
+extern uint32_t INIT_DATA_VALUES;
+extern uint32_t DATA_SEGMENT_START;
+extern uint32_t DATA_SEGMENT_STOP;
+extern uint32_t BSS_START;
+extern uint32_t BSS_END;
/*
@@ -20,8 +20,8 @@ extern uint8_t BSS_END;
*/
void init()
{
- uint8_t* src;
- uint8_t* dest;
+ uint32_t* src;
+ uint32_t* dest;
src = &INIT_DATA_VALUES;
dest = &DATA_SEGMENT_START;
diff --git a/system-clock/src/main.c b/system-clock/src/main.c
index 5c9ecfc..da4afd0 100644
--- a/system-clock/src/main.c
+++ b/system-clock/src/main.c
@@ -1,5 +1,8 @@
#include "gpio.h"
#include "delay.h"
+#include "clock.h"
+
+volatile uint32_t delay_amt = 65535;
/* Main function. This gets executed from the interrupt vector defined above. */
int main()
@@ -10,33 +13,36 @@ int main()
gpio_output_pin_t pin3 = set_gpio_pin_output(port_b, PIN_3);
gpio_output_pin_t pin1 = set_gpio_pin_output(port_b, PIN_1);
+ /* Enable a higher clock frequency. */
+ set_sys_clock();
+
while(1) {
/* Set the GPIO pin to high. */
pin_on(pin3);
pin_off(pin1);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
/* Set the GPIO pin to low. */
pin_off(pin3);
pin_on(pin1);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
- delay(65535);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
+ delay(delay_amt);
}
}