Edit readme
This commit is contained in:
		@@ -8,9 +8,9 @@ Currently, the template is for the STM32F407VEx controllers which have 512k of F
 | 
			
		||||
# Structure
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-  the whole project is built by a sinbgel ``Makefile``. On one hand, this is rather comfortable, but can become quite a pain for larger projects.
 | 
			
		||||
-  the whole project is built by a single ``Makefile``. This is rather comfortable, but can become quite a pain for larger projects.
 | 
			
		||||
- The ``obj`` folder contains all build derived files.
 | 
			
		||||
- The ``startup`` folder contains my own startup code written in C. Most projects for STM32 controllers use Assembly for their startup codes, which is unnecessary. A downside of the C startup code, is that it has a slighly bigger memory footprint.
 | 
			
		||||
- The ``startup`` folder contains my own startup code written in C. Most projects for STM32 controllers use Assembly for their startup codes, which is unnecessary. A downside of the C startup code, is its slighly bigger memory footprint.
 | 
			
		||||
- The ``stm32f407ve.ld`` is the linkerscript.
 | 
			
		||||
- The ``setup`` folder contains ST's generated clock setup file. It contains the ``SystemInit()`` function which configures the system clocks and flash waitcycles. It is currently set up for a system frequency of 168 MHz. The Code is automatically called by the startup code right before jumping into the ``main()`` function
 | 
			
		||||
- The ``mathlib`` folder contains CMSIS's math and DSP library in form of a precompiled static library and the corresponding header file. I never use it. No clue, if it works. A quick function check showed that the functions work, but no guarantee here. (Btw. there is no guarantee anywhere in this code, according to my GPLv2 license).
 | 
			
		||||
@@ -19,3 +19,8 @@ Currently, the template is for the STM32F407VEx controllers which have 512k of F
 | 
			
		||||
 | 
			
		||||
The Makefile expects a ``arm-none-eabi-gcc`` which has to be available in the PATH. For most linux users this should work fine.
 | 
			
		||||
 | 
			
		||||
# Adaptations
 | 
			
		||||
 | 
			
		||||
* Memory regions (Flash and RAM sizes and locations) can be adapted in the linker script.
 | 
			
		||||
* Stack and Heap reserved areas are also defined in the linkerscript.
 | 
			
		||||
* The compiler flags force newlib to rely on external system calls. When using malloc(), printf() etc. you will get errors regarding missing syscalls like ``_sbrk()`` etc. I will add a basic systemcll file in future. But for now you have to implement them yourself.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user