*((uint16_t)*dest) results in a ldrh (load halfword) instruction
on an address that seems to not be halfword-aligned (?),
causing a hard-fault on the samr21-xpro board (cortex-m0
architecture). The issue seems to be very similar to
the one described in http://stackoverflow.com/a/21661366/124257
Initially supports only Mulles with serial number > 220 (due to missing
MK60DN256ZVLL10 support in k60).
See also: https://github.com/RIOT-OS/RIOT/wiki/Board%3A-Mulle
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
Tested on the following Freescale Kinetis K60 CPUs:
- MK60DN512VLL10
The port should with a high probability also support the following variations of the above CPUs (untested):
- MK60DN256VLL10
And possibly also:
- MK60DX256VLL10
- MK60DX512VLL10
- MK60DN512VLQ10
- MK60DN256VLQ10
- MK60DX256VLQ10
- MK60DN512VMC10
- MK60DN256VMC10
- MK60DX256VMC10
- MK60DN512VMD10
- MK60DX256VMD10
- MK60DN256VMD10
Currently not working on the following CPUs (Missing PIT channel
chaining necessary for kinetis_common/periph/timer implementation):
- MK60DN256ZVLL10
- MK60DN512ZVLL10
- MK60DX256ZVLL10
- MK60DX512ZVLL10
- MK60DN512ZVLQ10
- MK60DN256ZVLQ10
- MK60DX256ZVLQ10
- MK60DN512ZVMC10
- MK60DN256ZVMC10
- MK60DX256ZVMC10
- MK60DN512ZVMD10
- MK60DX256ZVMD10
- MK60DN256ZVMD10
Regarding header files from Freescale:
dist/tools/licenses: Add Freescale CMSIS PAL license pattern
Redistribution is OK according to:
https://community.freescale.com/message/477976?et=watches.email.thread#477976
Archive copy in case the above link disappears:
https://web.archive.org/web/20150328073057/https://community.freescale.com/message/477976?et=watches.email.thread
Applies to:
- MK60DZ10.h (K60 variant)
Though technically it does not make a difference here, tabs have
a different semantic meaning than spaces in Makefiles. To be consistent
in RIOT we agreed to use two spaces for if conditions -> see #2626.
10: 16 bits. The first 112 bits of the address are elided.
The value of the first 64 bits is the link-local prefix padded with zeros.
The following 64 bits are 0000:00ff:fe00:XXXX, where XXXX are the 16 bits carried in-line.
See https://tools.ietf.org/html/rfc6282