Commit graph

1184 commits

Author SHA1 Message Date
bnewbold 0a6a19cf76 MEMORY_TARGET not MAPLE_TARGET 2010-08-25 18:21:51 -04:00
bnewbold e14aa2adb4 simplified example headers 2010-08-25 18:17:10 -04:00
bnewbold db260e6c3d added stm32loader.py upload script 2010-08-25 18:12:54 -04:00
bnewbold ac33b7026f D38 note 2010-08-25 17:30:39 -04:00
Perry Hung f5a28b3084 Removed typedef enum for external interrupts, should function. Note
that there's no LOW option.
2010-08-19 22:50:32 -04:00
bnewbold 5f11e12d66 added libm.a to linker scripts to fix sqrt() bug
Fixes a bug noted by several users when using math functions like cos(),
sqrt(), etc in the Maple IDE. This bug did not seem to affect Makefile
compiles.
2010-08-19 16:53:56 -04:00
bnewbold b2dd49c314 FSMC tweaks 2010-08-07 21:25:51 -04:00
bnewbold 7b391d7f76 basic working dac implementation 2010-08-07 20:29:37 -04:00
bnewbold 314846bee3 Partially working!
Documented; see ./notes/fsmc.txt. Not yet integrated into .ld scripts or
fully tested
2010-08-05 21:47:47 -04:00
bnewbold 0f55cc0d89 partial progress on FSMC for SRAM 2010-08-05 21:47:22 -04:00
bnewbold ccd9833f26 Some refactoring 2010-08-05 21:43:58 -04:00
Perry Hung 6d8b91106f Switch spi to use new rcc interface 2010-08-04 09:10:46 -04:00
Perry Hung d249461115 Cleaned up wirish/time, some interrupt handling refactoring:
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
2010-08-04 08:52:30 -04:00
Perry Hung 2b7a1b40c9 Turn off MAPLE_DEBUG by default.
Save space on debug strings, performance. Perhaps we should consider
some form of user-facing assert.
2010-08-04 04:42:01 -04:00
Perry Hung c58c7dbe18 New usart implementation:
Fixed a bug where the maximum baud rate was incorrectly set to 225000
General cleanup
Use new rcc and nvic APIs
2010-08-04 04:38:58 -04:00
Perry Hung 57df5396fe New reset and clock control api 2010-08-04 04:29:02 -04:00
Perry Hung 2bb8c3fbe3 Basic flash peripheral management api for board bringup 2010-08-04 04:17:16 -04:00
bnewbold d0e353ca9f rename clock selection register
This is just a change of macro name with zero impact on the actual
binary. Looking at page 87/1003 of the STM reference manual, bits [0:1]
are the SW register which is modifiable by software, while [2:3] are SWS
and are set only by hardware.
2010-07-24 16:33:34 -04:00
bnewbold 31f9eb2364 last usbserial change... please? 2010-07-22 20:33:53 -04:00
bnewbold 99c251b846 added isConnected() to serialusb 2010-07-22 18:24:51 -04:00
bnewbold 05f137fab9 sigh, simple typo 2010-07-20 23:45:49 -04:00
bnewbold f728985846 went with 50ms SerialUSB timeout 2010-07-20 22:03:52 -04:00
bnewbold c323c8fe58 updated leaf demo 2010-07-20 22:03:32 -04:00
bnewbold 4298a45c5a test of serialN.flush() 2010-07-20 15:43:11 -04:00
bnewbold 4263903592 updated vga demos to use SerialUSB.end() 2010-07-20 15:42:05 -04:00
bnewbold c634572c2d TMP: test updates 2010-07-20 15:37:44 -04:00
bnewbold 895d2a48fa wirish implementation of timers plus test 2010-07-20 15:37:44 -04:00
bnewbold 94fa3a7705 bug fix with interrupts not getting cleared 2010-07-20 15:37:44 -04:00
bnewbold dd52d66d03 timers progress
examples code cleanup, more descriptive comments, more notes
2010-07-20 15:37:09 -04:00
bnewbold 480dad829f awesome vga demos, need vga+systick disabled 2010-07-20 15:37:09 -04:00
bnewbold f06fcac502 good quality vga leaf logo; usb+systick disabled
refactored timers and added interrupt behavior. see notes and
comments...  also includes a crude vga hack that doesn't use timers.
2010-07-20 15:36:44 -04:00
bnewbold 52cbd2f1a1 working serialUSB with timeout
as a temporary workaround for the fact that SerialUSB is often blocking,
this crude implementation makes the low-level C usbSendBytes function
non-blocking (with a return code of bytes sent) and implements a 2ms
timeout in the wirish write() function.

also adds begin(), end(), getDTR(), getRTS(), pending(). device is still
initialized the old fashioned way during init() so that, eg, autoreset
will work. includes a simple multi-test program.
2010-07-19 00:38:36 -04:00
bnewbold 7ae1ce6325 new usb_serial 2010-07-19 00:38:36 -04:00
bnewbold 809223fefa notes 2010-07-19 00:38:36 -04:00
bnewbold 432cf91f7d added Serial.flush() 2010-07-19 00:38:00 -04:00
bnewbold a852f8d6a6 added SerialN.end() 2010-07-18 23:25:03 -04:00
bnewbold f23dcac7b9 nvic_disable_interrupt 2010-07-18 23:23:26 -04:00
bnewbold 2262a0d831 minor updates 2010-07-10 16:11:28 -04:00
bnewbold 36b1c5e1ea latest greatest udev rule 2010-07-09 21:14:27 -04:00
Perry Hung 3aa755870a makefile: fix install target
The makefile 'install' target should upload to whatever the last build
target was, regardless of the environment's value of MAPLE_TARGET.
2010-07-08 22:27:37 -04:00
bnewbold e20771d282 more codeblocks fixes; verbose build output 2010-07-08 20:04:05 -04:00
Perry Hung 0b502bb6d8 Fix ram, flash, jtag targets 2010-07-08 01:06:33 -04:00
bnewbold bb7c1d12f5 added helper targets, more verbose, codeblocks fix 2010-07-07 16:55:32 -04:00
Perry Hung 2dd4b9db68 Call init() before static constructors
Commit 70a18f96b6 forces init() to be
called before any statically allocated object constructors for the IDE.

This adds the change to the examples for users not using the IDE.
2010-06-25 21:47:27 -04:00
Perry Hung 6f82321248 Call init before static constructors
Commit 70a18f96b6 forces init() to be
called before any statically allocated object constructors for the IDE.

This adds the change to the examples for users not using the IDE.
2010-06-25 21:42:48 -04:00
Perry Hung 2c043efb66 make: Modularize makefiles, add dependency tracking, build-type tracking
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.
2010-06-25 21:23:04 -04:00
xttocs 70a18f96b6 Support for Arduino's LiquidCrystal lib, which may help for a few other libs too.
Signed-off-by: Perry Hung <iperry@alum.mit.edu>
2010-06-23 19:23:45 -04:00
bnewbold d7d3dfe1a9 info cleanup 2010-06-18 22:00:35 -04:00
bnewbold cbe359ff2c codeblocks support stuff 2010-06-18 14:48:53 -04:00
bnewbold cabb71f942 fixed QA test (pulldown) 2010-06-16 13:17:18 -04:00