aboutsummaryrefslogtreecommitdiffstats
path: root/notes/portable.txt
blob: 69952d7411e7cb7f57fdbb592079cb2f09163a9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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