aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/nvic.c
Commit message (Collapse)AuthorAgeFilesLines
* libmaple/nvic.c: Cosmetics.Marti Bolivar2012-04-111-11/+15
| | | | Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Move public headers to include directories; related cleanups.Marti Bolivar2012-04-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move libmaple/*.h to (new) libmaple/include/libmaple/. The new accepted way to include a libmaple header foo.h is with: #include <libmaple/foo.h> This is more polite in terms of the include namespace. It also allows us to e.g. implement the Arduino SPI library at all (which has header SPI.h; providing it was previously impossible on case-insensitive filesystems due to libmaple's spi.h). Similarly for Wirish. The old include style (#include "header.h") is now deprecated. libmaple/*.h: - Change include guard #defines from _FOO_H_ to _LIBMAPLE_FOO_H_. - Add license headers where they're missing - Add conditional extern "C" { ... } blocks where they're missing (they aren't always necessary, but we might was well do it against the future, while we're at it.). - Change includes from #include "foo.h" to #include <libmaple/foo.h>. - Move includes after extern "C". - Remove extra trailing newlines Note that this doesn't include the headers under libmaple/usb/ or libmaple/usb/usb_lib. These will get fixed later. libmaple/*.c: - Change includes from #include "foo.h" to #include <libmaple/foo.h>. Makefile: - Add I$(LIBMAPLE_PATH)/include/libmaple to GLOBAL_FLAGS. This allows for users (including Wirish) to migrate their code, but should go away ASAP, since it slows down compilation. Wirish: - Move wirish/**/*.h to (new) wirish/include/wirish/. This ignores the USB headers, which, as usual, are getting handled after everything else. - Similarly generify wirish/boards/ structure. For each supported board "foo", move wirish/boards/foo.h and wirish/boards/foo.cpp to wirish/boards/foo/include/board/board.h and wirish/boards/foo/board.cpp, respectively. Also remove the #ifdef hacks around the .cpp files. - wirish/rules.mk: put wirish/boards/foo/include in the include path (and add wirish/boards/foo/board.cpp to the list of sources to be compiled). This allows saying: #include <board/board.h> instead of the hack currently in place. We can allow the user to override this setting later to make adding custom board definitions easier. - Disable -Werror in libmaple/rules.mk, as the current USB warnings don't let the olimex_stm32_h103 board compile. We can re-enable -Werror once we've moved the board-specific bits out of libmaple proper. libraries, examples: - Update includes accordingly. - Miscellaneous cosmetic fixups. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* nvic: Add nvic_sys_reset().Marti Bolivar2011-09-241-0/+13
| | | | | | This uses the SCB_AIRCR register to force a system reset. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Added more doxygen file level headers. Documented a few more functions.Michael Hope2011-09-131-1/+2
| | | | Signed-off-by: Michael Hope <michaelh@juju.net.nz>
* Update outdated stm32.h usages.Marti Bolivar2011-09-071-1/+1
| | | | | stm32.h has been updated to prefix its definitions. Update the rest of libmaple to take this into account.
* Keep it 80-column clean.Marti Bolivar2011-06-071-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Go through overlong source code lines and convert as many of them as appropriate to be 80-column clean. This mostly affects license headers. Overlong lines are determined by running following from the libmaple base directory: $ ack-grep --nocolor --nogroup --cpp --cc --ignore-dir=usb -- '.{80}' Note that this excludes libmaple's usb subdirectory, which is still full of ST code that doesn't follow the libmaple source code guidelines. Contents of ~/.ackrc (these won't matter, but are included for completeness): --ignore-dir=docs --ignore-dir=build --type-set ld=.ld --type-set rst=.rst --type-set txt=.txt --type-set mk=.mk
* Doxygen syntax bugfixes.Marti Bolivar2011-05-051-1/+4
|
* NVIC and SCB refactorMarti Bolivar2011-04-051-59/+24
|
* checkpointPerry Hung2011-02-261-0/+33
|
* nvic bugfix; removed unnecessary volatile usageMarti Bolivar2011-01-311-6/+6
|
* [WIP] Code review picked up some bugs/issues.Marti Bolivar2011-01-261-14/+13
|
* Changed nzmichaelh's initial DMA interface to be more flexible.Marti Bolivar2010-12-301-4/+8
| | | | | Some bugfixes in the external interrupt code were found along the way. Defines for nonexistent registers removed from nvic interface.
* whitespace cleanupsMarti Bolivar2010-09-271-13/+12
|
* Fix improper interrupt clearingPerry Hung2010-09-221-14/+4
| | | | | | | Interrupts should be cleared by writing to the interrupt clear-enable register (ICER). This commit fixes an improper read-modify-write on NVIC_ICER[n] that incorrectly cleared interrupt-enable bits on non-designated channels.
* Portability fixesbnewbold2010-08-311-1/+6
| | | | Still not working but fixed a lot of merge errors
* inital portability workbnewbold2010-08-251-2/+6
|
* Cleaned up wirish/time, some interrupt handling refactoring:Perry Hung2010-08-041-22/+4
| | | | | | | | | Fixed millis(), it was just wrong, before. Added micros(), not extensively tested. New implementation of delayMicroseconds(). Should be more consistent now. Added a handful of nvic routines to enable/disable interrupts. Cleaned up systick
* nvic_disable_interruptbnewbold2010-07-181-0/+16
|
* libcs3 refactor mergePerry Hung2010-05-281-3/+4
| | | | | | | | | | | | | | | | Removed dependency on libcs3.a because Codesourcery does not provide the source for it. We now link against a modified libcs3-lanchon-stm32.a built from parts in public domain from Lanchon, and a start_c.c from Codesourcery that is licensed under a permissive license. Also removed all of the extra linker cruft from the stm32conf directory. The linker files now live in support/ld The openocd scripts now live in support/openocd The udev rules and copy-to-ide scripts now live in support/scripts The source lives in support/ld/libcs3-lanchon-stm32.tar.gz
* trivial: new cscope rule and warning fixPerry Hung2010-04-301-1/+1
| | | | Fixed nvic.c warning
* Refactoring:Perry Hung2010-04-251-0/+15
| | | | | The 'core' directory has now been renamed to 'wirish.' Wirish is our version of the Arduino Wiring language.
* Licensing: Relicensed libmaple under the MIT License.Perry Hung2010-03-311-12/+17
| | | | | | Relicensed the bulk of libmaple under the more permissive MIT License, from GPLv3. Files that were largely or entirely derived from the Arduino, STM, or Lanchon retain their original licenses.
* Removed inttypes.hPerry Hung2010-03-311-2/+2
| | | | | Removed inttypes.h from libmaple. Will have another pass through to use the standard libmaple types, but will come in another commit.
* Removed STM32 flash code, replaced with barebones hacks for now.Perry Hung2010-03-301-1/+3
| | | | | At this point, there shouldn't be any STM code being compiled and linked against. There are still a bunch of STM header includes, though.
* Major hierarchy reorganization; see README.bnewbold2010-03-311-0/+59
copy-to-ide and Makefile updated to conform; .gitignore added; LICENSE added