aboutsummaryrefslogtreecommitdiffstats
path: root/notes/portable.txt
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2010-08-31 17:39:46 -0400
committerbnewbold <bnewbold@robocracy.org>2010-08-31 17:39:46 -0400
commit02d7b08f0497096f21e41922e0efb54c4ef33bab (patch)
treea7e04293efcba70f37cffcd03c0fcc4c0be7858a /notes/portable.txt
parentb2dd49c3141d8a21a4e7c7ef51dee7329f847c30 (diff)
parente03d58f4dab4176514924baa3a1ff430bf5819b8 (diff)
downloadlibrambutan-02d7b08f0497096f21e41922e0efb54c4ef33bab.tar.gz
librambutan-02d7b08f0497096f21e41922e0efb54c4ef33bab.zip
Merge maple-native changes into portable
This compiles for both maple and maple_native but is untested.
Diffstat (limited to 'notes/portable.txt')
-rw-r--r--notes/portable.txt100
1 files changed, 100 insertions, 0 deletions
diff --git a/notes/portable.txt b/notes/portable.txt
new file mode 100644
index 0000000..69952d7
--- /dev/null
+++ b/notes/portable.txt
@@ -0,0 +1,100 @@
+
+Disclaimer text: // High-density devices only (Maple Native)
+
+
+Board portability is implemented by adding a header file to ./libmaple with the
+name of the BOARD target, and then editing libmaple.h to add this file as an
+option.
+
+A pin maple file should be added to ./notes describing the pin numbering
+
+Files to check by hand:
+# adc.c
+# adc.h
+# exc.c
+# exti.c
+# exti.h
+# flash.c
+# flash.h
+# gpio.c
+# gpio.h
+# libmaple_types.h
+# nvic.c
+# nvic.h
+# rcc.c
+# rcc.h
+# ring_buffer.h
+# rules.mk
+# spi.c
+- spi.h
+# syscalls.c
+# systick.c
+# systick.h
+# timers.c
+# timers.h
+# usart.c
+# usart.h
+# util.c
+# util.h
+# libmaple.h
+# usb/*
+
+wirish/:
+# bits.h
+# boards.h
+# cxxabi-compat.cpp
+# ext_interrupts.c
+# ext_interrupts.h
+# HardwareTimer.cpp
+# HardwareTimer.h
+# io.h
+# main.cxx
+# Print.cpp
+# Print.h
+# pwm.c
+# pwm.h
+# rules.mk
+# time.c
+# time.h
+# usb_serial.cpp
+# usb_serial.h
+# wirish_analog.c
+# wirish.c
+# wirish_digital.c
+# wirish.h
+# wirish_math.cpp
+# wirish_math.h
+# wirish_shift.c
+# WProgram.h
+- comm/
+
+
+
+ADC Notes:
+ only using ADC1?
+ untested
+
+EXTI Notes:
+ need to update huge table in comments?
+ untested
+
+NVIC Notes:
+ I don't think NVIC_ISER3 and NVIC_ICER3 actually exist?
+ Only CANBUS and USB OTG use interrupts above #63, but I updated the nvic code anyways
+
+RCC Notes:
+ Added some clock stuff to all boards even though they aren't usable... blah.
+
+SPI Notes:
+ SPI3 is only in XL chips so didn't really handle that
+
+TIMER Notes:
+ High-density devices add an advanced timer (TIMER8) and another normal one (TIMER5).
+ TIMER6 and TIMER7 are much less useful.
+ There is some partial progress towards adding timer5/timer8 functionality,
+ but not much. This should probably all be rewritten.
+ The wirish timer implementation should be refactored to use pin numbers.
+
+USART Notes:
+ The USART/UART nomeclature is a little mixed up.
+ TODO: portability of HardwareSerial, HardwareSPI