Updated Makefile to read the directory where libmaple is from the
environment variable LIBMAPLE_PATH, if it exists, defaulting to the
current working directory otherwise.
Updated reset.py to look around in /dev for the Maple serial port,
prompting the user if there appear to be multiple possibilities and
complaining if there aren't any.
Major build system rewrite. New and exciting:
1. Proper dependency tracking. All source files including header files
should be properly tracked and recompiled as necessary when they are
changed.
2. Build-type tracking. If the target changes from 'ram' to 'flash,'
for example, the build system will force a rebuild rather than
incorrectly link modules to a different address.
3. New targets:
The old 'ram,' 'flash,' and 'jtag' targets have been replaced with
the environment variable MAPLE_TARGET, which controls the link address.
Users can either export it to their environment, or pass MAPLE_TARGET on
the command-line. Once this is set, sketches can be compiled with 'make
sketch,' or simply 'make.'
Note: the default is MAPLE_TARGET='flash.'
The target 'install' now automagically uploads the sketch to the board
using the appropriate method.
The 'run' target has been renamed to 'debug.' It starts an openocd gdb
server.
4. Odds and ends:
-Verbose and 'quiet' modes. Set V=1 for verbose compilation, the default
is quiet.
-Object file sizes and disassembly information is generated and placed
in build/$(BOARD).sizes and build/$(BOARD).disas, respectively.
-Parallel make with -j should speed things up if you have multiple
cores.
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
this involved some some changes to copy-to-ide, WProgram.h, and the makefile. Separated the reset.py from the wait.py so that the program closes the serial port correctly.
for some odd reason the main file in the makefile was set to main.c not main.cpp corrected this as there is no main.c anywhere in this repo. Also removed references to HardwareUsb.h, since those files dont exist yet (the originals were depricated and removed)
Squashed commit of the following:
commit b41eb846ca
Author: Perry Hung <iperry@alum.mit.edu>
Date: Sat Apr 24 04:09:16 2010 -0400
Turn the other peripherals back on. Not extensively tested for
interactions between peripherals.
commit bf4fc3bf6b
Author: Perry Hung <iperry@alum.mit.edu>
Date: Sat Apr 24 03:16:35 2010 -0400
Upper level libmaple interface
Added a C++ HardwareSPI class to access the SPI interface. See
HardwareSPI.cpp and HardwareSPI.h for documentation.
commit 17e0e5edde
Author: Perry Hung <iperry@alum.mit.edu>
Date: Thu Apr 22 02:36:01 2010 -0400
Initial SPI Polling implementation.
Initial commit of a polling-based SPI driver. The driver is limited to
synchronous, blocking sends and a 8-bit data frame format. Tested on
SPI1 and SPI2.
Other peripherals are temporarily disabled, and the rx function
is untested until I find a good peripheral to test everything on.