-
Notifications
You must be signed in to change notification settings - Fork 0
/
NOTES
64 lines (36 loc) · 1.87 KB
/
NOTES
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
License issues
Issue encountered: forgot to set mac address
Issue encountered: Tuning stack sizes for threads
Issue encountered: Disable interrupts while debugging
Issue encountered: Original xbx code didn't delimit messages over TCP; working
on raw packets not guaranteed to work correctly w/ fragmentation, etc
Some note about atomic wraparound algorithm
Justify Switch to RTOS
Link-time optimization requires attributes to prevent optimizing out of
interrupt vector
64-bit division requires .ARM.exidx section. Adding this section requires
updating initialization code to account for moved .data section in ROM
OpenOCD requires patch and hla_serial parameter to select correct device when
using two Tiva launchpads as xbh/xbd
Issue encountered: i2c hardware does not have builtin pullup resistors
I2c control to receive must be sent before reads
XBD Response Buffer was too small for git revision request, causing buffer
overflow
Failure to reenable interrupts after atomic reads causes failure in
vListInsert() in FreeRTOS
va_args w/ long long requires stack to be aligned to 8 bytes
XBX stuff
In XBX tempfile needs to be reimplemented, does not exist on non-debian systems
as it is part of debianutils. REplace w/ mktemp which is part of coreutils
.data section of bootloader goes past FLASH_MIN_ADDR and gets overwritten by XBD
app code. Use lma_regions combined w/ LOADADDR
xbdSend modifies buffer to add CRC, do not directly send XBD_CMD constants,
otherwise fault will occur
Stack painter has to have attribute to prevent inlining, which makes positioning
of stack beacon indeterminate
Stack must be 8-byte aligned
Hole support added to xbhtool- holes are filled w/ zeros
highrom to be avoided as it bloats code pointer sizes
debug stuff always incased in macros in order to string literals to be removed
during compilation to save size
msp430 hal strict aliasing disabled