aboutsummaryrefslogtreecommitdiffstats
path: root/notes/portable.txt
blob: a6dcb40ac3467b5251f928f896f9102ed24b8072 (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

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/*


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.

USART Notes:
    The USART/UART nomeclature is a little mixed up.