AnsweredAssumed Answered

STM32F4 Tutorial

Question asked by Immortal.Integrity on Feb 15, 2016
Hi to all Engineers, students, and hobbyists

I am writing this tutorial for anyone who are new to ARM world or don't have any clue where to start! It almost took me three weeks to understand  terms and software for this Advanced RISC Microprocessor. I am not professional and I still noob, I am already start to use STM32F4. But tis information reduce the pain of 1st step which is the hardest one. Okay, lets start. I hope you enjoy. 

You people out there, you are so welcome to correct my mistakes in any part of this tutorial.

Table of content
Development board
Start new project
Start moderate Projetct

1. Why I should use ARM processor?
It is powerful than many conventional microcontrollers. From MIPS, power consumption perspective to number of peripherals.

2. Can you tell me why you start to use it specifically?
I want an advanced ADC modules and I found it in STM32F4! It has 3 independent ADCs which can operates in many different modes that you can't imagine!

3. Okay, I am going to migrate to this beast. what should I do?
First, you have to choose your right sword in order to defeat the monster. Search and read description of the microprocessors you find in manufacture sites. STM is good provider for ARM Cortex family. Then, you have to download a user friendly IDE in order to start your 1st project. Besides, download user manual, datasheet for your chipsets I recommend you read application note for your specific modules too. Afterwards, Find a right development board to learn software side before starting to build your costume made PCB. Now you are ready to rock&roll.

4. Thanks for help but can you suggest something powerful enough to start?
Ofcourse.Here you are:

Chipset: STM32F407
Development Boards: STM provides three kind of boards to their chipsets. 
1. Nucleo board: It is core board with barely additional modules on board. Most of the microprocessor pins are free to use thought sockets. It is recommend to prototype your design.
2. Discovery Board: Some of chipset pins are free to use but it has some on board modules like Audio amplifier, Ethernet PHY, Accelerometer, etc. It is recommended for people who want to do some stuff plus learn too. They are low cost too so make them more favourable.
3. Evaluation Board: They have more on board modules than discovery board as a result it has less free pin for implementing new project on it. It is recommended for education purpose.

IDE: It is the place you spend your most of the time. Thus, find the one you really like to use it. I use both Keil and IAR. They are two famous IDEs. you have to pay for it if you want to make most out of them. However, they have limited version too which is enough for your starting. I find keil initialization  more difficult than IAR. However, they are both same. some people find keil easier to start.Anyway, I personally choose IAR. That is up to you.

In addition to IDE, download these additional software.
- STM32 studio: this program help you monitor your register in real time in hardware. So you can see what happen really in stomach!
- STM32CubeMX: Highly recommended for noob like me and you! It is a graphical user interface in order to configure and initialize your devices. Just a few simple click and your device is ready to use without knowing any register to configure clock and reset, timer mode, adc mode, sample rate, GPIO,etc...

To be Continue....(2 AM, I am falling)