Stm32f4discovery: Up and running with the ARM Cortex M4. #include <cstdlib> #include "stm32f4xx.h" #include "stm32f4xx_rcc.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_fsmc.h" #define NOKIA_6300 #undef NOKIA_2730 static void initSystick(); static void initGPIO(); static void initFSMC(); static void initLCD(); static void checkWiring(); static void showDemo(); static void lineDemo(); static void rectDemo(); static void delayMillis(uint32_t timedelay); static volatile uint32_t millisecondCounter; static void writeCommand(uint16_t command);
View topic - one wire library - Waterfox. This is a library for OneWire Master bus on advices found on dallas documentation : ... mvp/id/214this library use an usart to avoid to consume cpu cycle in bit bangingthe library is synchronous, but when waiting it yield the processor to chibios. the usart is configured in half duplex mode, so there is only TX to wire,RX is connected internally for data reception when the bus is in reception mode. i have made a bundle with the library and a demo for discovery, demo compile with2.5.x version of chibios.
The demo get temperature from any number of maxim 18b20 connected,and can get rom address from ibutton. The demo runs on an ST STM32F4-Discovery board with one or several one wiresensors connected : a one wire componant need vdd, vss and data, in this demo data (DQ) of allsensors should be connected on GPIOD PIN 8. a 4,7Kohms pullup resistor should be connected between vdd (3.3V) and data bus(GPIOD PIN 8). under linux, screen /dev/ttyACM0 does the job ** The Demo ** Getting started with the STM32F4-Discovery board and ChibiOS/RT [ChibiOS/RT free embedded RTOS] - Waterfox. Board features This board is impressive when compared to the cost.
STM32F407VGT6 Hi-Performance & DSP 32bits MCU, 168MHz Cortex-M4 CPU, 1MB flash, 192KB RAM, 4KB backup RAM. 16 advanced DMA channels, 6 USART, 3 SPI, 3 I2C, 3 ADC, 2 DAC, RTC, CRC unit, Ethernet, 2 USB OTG, lots of timers, two independent watchdogs. Integrated ST-Link/V2 USB debugger/programmer unit. The debugger unit is also usable separately. 8MHz HSE crystal. 32768Hz LSE crystal (not fitted but installable). USB power LED (red).
Required Software ChibiOS/RT 2.3.4 or newer. Required Hardware An STM32F4-Discovery board. ChibiOS/RT Components ChibiOS/RT offers an excellent support for the STM32F4 platform. Cortex-M4 startup support. RT Homepage [ChibiOS/RT free embedded RTOS] - Waterfox. ChibiOS/RT in brief ChibiOS/RT is designed for deeply embedded real time applications where execution efficiency and compact code are important requirements.
This RTOS is characterized by its high portability, compact size and, mainly, by its architecture optimized for extremely efficient context switching. Feature highlights: Efficient and portable preemptive kernel. Static architecture, everything is statically allocated at compile time. More info about the features set can be found in the features matrix page. Applicative Scenarios ChibiOS/RT is usable in many applicative areas, for example and not limited to: Automotive Robotic Applications Consumer Electronics Energy Management Teaching and Learning RTOS technology Hobby, DIY Status. Getting started with the STM32F4Discovery - Waterfox.
If you follow the Hack-A-Day stream, you’ve probably seen the STM32F0Discovery board come up on occasion.
I have two of these boards and I like them — they have what I need for basic stuff, but I wanted some more horse-power (and USB Host.) Quickly, to the STM32F4Discovery! The target here is people who’ve outgrown the world of AVR and need something running faster; you should be capable and comfortable with diving into your PATH, mucking with environment variables and reading some pretty deep C. STM32F4 Discovery (From ST) I was given one of these for xmas a little while back (read: 8 months ago) and played with it, getting demo code to run on it. The options were Atollic, Keil or IAR. Until I went to DEF CON. GCC will accept nicely written Assembly, but I won’t go into that.
Your first question might be: What’s an RTOS? An RTOS, or Real Time Operating System, abstracts your code (to some degree) from the actual board you’re working on. For this I’m going to assume the following: Elia's Electronics Blog - Waterfox. This tutorial shows how to configure and use the GPIO pins of the STM32F407.
The example switches around the LEDs by setting and resetting I/O pins according to the number of button presses. Again the comments should explain the procedure pretty well. If the code view is to bad on this site, please hop over to GitHub, where you can have a better look at the code. Waterfox. GCC ARM Embedded in Launchpad - Waterfox.