Uwe Hermann
14d342e50c
Show example of rcc_enable_peripheral_clock() in miniblink.c.
2009-07-22 02:57:28 +02:00
Uwe Hermann
a5a9648144
Add rcc_enable_peripheral_clock() et al, and respective prototypes.
2009-07-22 02:56:04 +02:00
Uwe Hermann
97440d8406
Turn rcc_osc_ready() into rcc_wait_for_osc_ready(), more useful.
2009-07-22 02:38:31 +02:00
Uwe Hermann
5df3d0a23d
Add RCC_AHBRSTR and RCC_CFGR2 bit definitions.
2009-07-22 01:16:34 +02:00
Uwe Hermann
6ec84bf10e
Reorder RCC bits, add missing bits for STM32 connectivity line.
2009-07-22 00:58:54 +02:00
Uwe Hermann
839748ad3d
Add RCC_APB1RSTR bit definitions.
2009-07-21 20:36:44 +02:00
Uwe Hermann
6f0070991c
Add RCC_APB2RSTR bit definitions.
2009-07-21 20:25:00 +02:00
Piotr Esden-Tempski
446de38728
Changed all includes to use <foo.h> notation.
2009-07-20 17:54:33 +02:00
Uwe Hermann
8a33f6277e
Update .gitignore to match recent file/dir renames.
2009-07-20 17:33:52 +02:00
Uwe Hermann
91fa52da48
Turn miniblink in the smallest-possible example using the library.
2009-07-20 17:32:22 +02:00
Uwe Hermann
8a630baea8
Finish rename to 'miniblink'.
2009-07-20 17:23:25 +02:00
Uwe Hermann
05ccc0614a
Move the 'blink' example into a 'miniblink' subdirectory.
2009-07-20 16:52:05 +02:00
Uwe Hermann
db0e59da96
Rename example subdir to examples, we'll have more than one.
2009-07-20 15:35:12 +02:00
Uwe Hermann
4f43d8c622
Fix some compiler warnings.
2009-07-20 15:32:28 +02:00
Uwe Hermann
50b1b50676
Add slightly modified rcc.c file, contributed by Federico Ruiz-Ugalde.
2009-07-20 15:29:43 +02:00
Uwe Hermann
07b6ca3a90
Add RCC_CSR bit definitions and a osc_t enum.
2009-07-20 15:28:41 +02:00
Uwe Hermann
5cdbb466fa
Make example code build again (s/RCC_IOPCEN/IOPCEN).
2009-07-20 15:16:14 +02:00
Uwe Hermann
3eb5397d8d
Add RCC_BDCR bit definitions.
2009-07-20 15:15:22 +02:00
Uwe Hermann
df399e248b
Add RCC_APB1ENR bit definitions.
2009-07-20 15:15:02 +02:00
Uwe Hermann
af9302d2b0
Merge some more RCC related #defines contributed by Federico Ruiz-Ugalde.
...
Addition of remaining (mostly "connectivity line" STMs related) #defines
was done by me.
2009-07-19 01:34:27 +02:00
Uwe Hermann
b888530345
Whitespace fixes.
2009-07-19 01:12:45 +02:00
Uwe Hermann
2c1fa8bd67
Partial merge of RCC support work contributed by Federico Ruiz-Ugalde.
...
For now, this adds a bunch of #defines, double-checked against the
datasheet by me (added a few missing values for "connectivity line" STM32s).
2009-07-18 22:27:17 +02:00
Uwe Hermann
3bef8767f9
Add gpio_get() API function.
2009-07-18 17:41:31 +02:00
Uwe Hermann
83f5c58eb9
Switch the license to GPL, version 3 or later.
2009-07-18 16:27:47 +02:00
Uwe Hermann
74db299094
Add examples for LED blinking code, both, manually and using the API.
2009-07-18 16:22:45 +02:00
Uwe Hermann
3262983d27
Add initial GPIO API implementation.
...
This currently includes a number of basic functions. Example usage:
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_2_MHZ,
GPIO_CNF_OUTPUT_PUSHPULL, GPIO12);
gpio_set(GPIOB, GPIO4);
gpio_clear(GPIOG, GPIO2 | GPIO9);
gpio_toggle(GPIOA, GPIO7);
reg16 = gpio_port_read(GPIOD);
gpio_port_write(GPIOF, 0xc8fe);
2009-07-18 16:20:32 +02:00
Uwe Hermann
d43224acfb
Update example application README wrt flashing instructions.
2009-07-18 06:18:43 +02:00
Uwe Hermann
915d5bff90
Implement the simplest possible (working) blinking LED example application.
...
This is the first working example code which is tested on hardware.
The LED on the Olimex STM-H103 eval board is happily blinking.
We use a dummy "delay" function (basically a busy-waiting for-loop), which
will only work if you use -O0 in CFLAGS (-O2, -O3, or -Os will not work as
the compiler optimizes the loop away).
We use some arbitrary value for stack size (2 KB) and use main()
directly as the reset vector function. This will change later.
Also, we do the GPIO and clock init as well as the GPIO toggling for the
LED blinking fully "manually" for now, but there may be more higher-level
functions for doing that at some later date.
2009-07-18 06:09:08 +02:00
Uwe Hermann
355701525e
Add initial minimal rcc.h implementation (not complete).
2009-07-18 05:34:38 +02:00
Uwe Hermann
526cb01aaa
Silence OpenOCD per default, use V=1 for more verbose output.
2009-07-18 05:23:56 +02:00
Uwe Hermann
8d2190a86a
Have *.o files depend on Makefile, in case we change gcc -O values there.
2009-07-18 05:17:49 +02:00
Uwe Hermann
10890b3f15
Don't use OpenOCD's "resume" command, only "reset" will work correctly.
...
Also, make the 'flash' target depend on 'images'.
2009-07-18 05:00:48 +02:00
Uwe Hermann
3b6809413b
Remove one layer of indirection by killing unneeded #defines.
2009-07-18 02:51:22 +02:00
Uwe Hermann
d7ec6a2983
Make 'flash' target a bit more generic and drop absolute paths.
2009-07-18 02:25:38 +02:00
Uwe Hermann
015b046c1e
Merge stdint.h contents into common.h so we don't conflict with libc.
2009-07-18 01:39:30 +02:00
Uwe Hermann
cf7d4df189
Make OpenOCD location easily configurable by using a variable.
2009-07-18 01:31:08 +02:00
Uwe Hermann
f3d7eda380
Add convenience GPIOx #defines and MMIO GPIO register #defines.
2009-07-17 23:09:47 +02:00
Uwe Hermann
d6611f62dd
Add all base addresses for peripherals as per datasheet.
2009-07-17 23:05:01 +02:00
Uwe Hermann
e04cec3b5d
Add 'make flash' target using recent OpenOCD versions.
2009-07-17 23:03:42 +02:00
Uwe Hermann
9385e69344
Fix incorrect location of the board files of recent OpenOCD versions.
2009-07-17 19:19:08 +02:00
Uwe Hermann
f3ac624f22
Add common.h, currently containing MMIO accessor functions.
2009-07-17 19:01:45 +02:00
Uwe Hermann
e79dc2d65e
Add README for the example project.
2009-07-17 13:55:25 +02:00
Uwe Hermann
0fe49aadec
Document 'make V=1' usage.
2009-07-16 18:33:32 +02:00
Uwe Hermann
caeba0c631
Rename INCLUDEDIR to INCDIR for brevity.
2009-07-16 15:55:26 +02:00
Uwe Hermann
b6f7fa5715
Add missing .PHONY target.
2009-07-16 15:54:41 +02:00
Uwe Hermann
bdba3af3a6
Create bin, hex, srec, and list files for the example project.
2009-07-16 15:49:28 +02:00
Uwe Hermann
dc4a6a66ba
Add .gitignore file.
2009-07-16 15:21:59 +02:00
Uwe Hermann
3a2c63129e
Use a Linux kernel style build output printing.
...
Example:
$ make install
BUILD lib
CC gpio.o
AR libopenstm32.a
BUILD example
CC blink.o
LD blink
INSTALL headers
INSTALL lib
$ make clean
CLEAN blink.o
CLEAN blink
CLEAN gpio.o
CLEAN libopenstm32.a
2009-07-16 15:15:26 +02:00
Uwe Hermann
1c459b8c48
Add 'make V=1' support for the example blink code.
2009-07-16 14:59:06 +02:00
Uwe Hermann
f0661cb343
Make default build silent, use 'make V=1' for verbose build.
2009-07-16 14:55:22 +02:00