mirror of
				https://github.com/ayabusa/Numworks-zeta-os.git
				synced 2025-11-04 01:57:15 +00:00 
			
		
		
		
	the led is finally working
This commit is contained in:
		
							
								
								
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -16,6 +16,7 @@
 | 
			
		||||
        "stdexcept": "cpp",
 | 
			
		||||
        "streambuf": "cpp",
 | 
			
		||||
        "system_error": "cpp",
 | 
			
		||||
        "tuple": "cpp"
 | 
			
		||||
        "tuple": "cpp",
 | 
			
		||||
        "main.h": "c"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -2,7 +2,6 @@
 | 
			
		||||
/*ENTRY(reset_handler)*/
 | 
			
		||||
/* End of RAM / Start of stack */
 | 
			
		||||
/* (4KB SRAM) */
 | 
			
		||||
_estack = 0x20262144;
 | 
			
		||||
 | 
			
		||||
/* epsilon stuff */
 | 
			
		||||
STACK_SIZE = 32K;
 | 
			
		||||
@@ -85,6 +84,13 @@ SECTIONS
 | 
			
		||||
    *(.rodata.*)
 | 
			
		||||
  } >FLASH
 | 
			
		||||
 | 
			
		||||
  .init_array : {
 | 
			
		||||
    . = ALIGN(4);
 | 
			
		||||
    _init_array_start = .;
 | 
			
		||||
    KEEP (*(.init_array*))
 | 
			
		||||
    _init_array_end = .;
 | 
			
		||||
  } >FLASH
 | 
			
		||||
 | 
			
		||||
  /* The 'data' section is space set aside in RAM for
 | 
			
		||||
   * things like variables, which can change. */
 | 
			
		||||
  .data : {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,9 @@
 | 
			
		||||
#include "vector_table.h"
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "device/stm32f730xx.h"
 | 
			
		||||
 | 
			
		||||
#define LED_PIN    (4) // PC0
 | 
			
		||||
 | 
			
		||||
typedef void (*cxx_constructor)();
 | 
			
		||||
 | 
			
		||||
@@ -52,8 +56,19 @@ void __attribute__((noinline)) start() {
 | 
			
		||||
  size_t bssSectionLength = (&_bss_section_end_ram - &_bss_section_start_ram);
 | 
			
		||||
  memset_custom(&_bss_section_start_ram, 0, bssSectionLength);
 | 
			
		||||
 | 
			
		||||
  // Enable the GPIOa and GPIOC peripheral in RCC.
 | 
			
		||||
  RCC->AHB1ENR   |= RCC_AHB1ENR_GPIOBEN ;
 | 
			
		||||
 | 
			
		||||
  // C0 is connected to the LED.
 | 
			
		||||
  // It should be set to push-pull low-speed output.
 | 
			
		||||
  GPIOB->MODER  &= ~(0x3 << (LED_PIN*2));
 | 
			
		||||
  GPIOB->MODER  |=  (0x1 << (LED_PIN*2));
 | 
			
		||||
  GPIOB->OTYPER &= ~(1 << LED_PIN);
 | 
			
		||||
 | 
			
		||||
  GPIOB->ODR = (1 << LED_PIN);
 | 
			
		||||
 | 
			
		||||
  while (0)
 | 
			
		||||
  {
 | 
			
		||||
    /* code */
 | 
			
		||||
    GPIOB->ODR = (1 << LED_PIN);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
#include "vector_table.h"
 | 
			
		||||
extern const void * _estack;
 | 
			
		||||
extern const void * _stack_start;
 | 
			
		||||
 | 
			
		||||
/* Interrupt Service Routines are void->void functions */
 | 
			
		||||
typedef void(*ISR)(void);
 | 
			
		||||
@@ -16,7 +16,7 @@ ISR InitialisationVector[INITIALISATION_VECTOR_SIZE]
 | 
			
		||||
  __attribute__((section(".isr_vector_table")))
 | 
			
		||||
  __attribute__((used))
 | 
			
		||||
  = {
 | 
			
		||||
  (ISR)&_estack, // Stack start
 | 
			
		||||
  (ISR)&_stack_start, // Stack start
 | 
			
		||||
  start, // Reset service routine,
 | 
			
		||||
  0, // NMI service routine,
 | 
			
		||||
  0, // HardFault service routine,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user