Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/blinky/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
add_executable(blinky main.c ${CMAKE_SOURCE_DIR}/startup/startup_stm32f401.c)
add_executable(blinky main.c ${CMAKE_SOURCE_DIR}/startup/stm32f401.c)

target_link_libraries(blinky
hal_stm32f401
Expand Down
1 change: 0 additions & 1 deletion examples/blinky/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
int main(void) {
fpu_init();
rcc_init();
rcc_enable_gpioc();
gpio_init_pc13();

while (1) {
Expand Down
2 changes: 1 addition & 1 deletion examples/rtos_demo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
add_executable(rtos_demo main.c ${CMAKE_SOURCE_DIR}/startup/startup_stm32f401.c)
add_executable(rtos_demo main.c ${CMAKE_SOURCE_DIR}/startup/stm32f401.c)

target_link_libraries(rtos_demo
hal_stm32f401
Expand Down
3 changes: 2 additions & 1 deletion examples/rtos_demo/main.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "gpio.h"
#include "rcc.h"
#include "fpu.h"
#include "nvic.h"
#include "scheduler.h"
#include "fault_indicator.h"
#include <stdint.h>
Expand All @@ -11,8 +12,8 @@ void task_two(void);
int main(void) {
fpu_init();
rcc_init();
rcc_enable_gpioc();
gpio_init_pc13();
nvic_init();

task_create(&task_one, 1, "task one");
task_create(&task_two, 2, "task two");
Expand Down
4 changes: 4 additions & 0 deletions src/hal/stm32f401/src/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@
Moder configs whether pin is input, output, ect.
*/
void gpio_init_pc13(void) {
/*Turn on the clock for the GPIO C port*/
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN;

/* Reset */
GPIOC->MODER &= ~(3U << 26);

/* Configure pin functionality (in this case as output) */
uint32_t enable_output_mode = 1U << 26;
GPIOC->MODER |= enable_output_mode;
}
Expand Down
4 changes: 0 additions & 4 deletions src/hal/stm32f401/src/rcc.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,4 @@ void rcc_init(void) {

/* Wait for System Clock Switch*/
while((RCC->CFGR & RCC_CFGR_SWS_Msk) != (2U << RCC_CFGR_SWS_Pos));
}

void rcc_enable_gpioc(void) {
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN;
}
Loading