mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
edc43201db
This should not change any generated binary
102 lines
3.9 KiB
Plaintext
102 lines
3.9 KiB
Plaintext
/**
|
|
@defgroup boards_frdm-k64f NXP FRDM-K64F Board
|
|
@ingroup boards
|
|
@brief Support for the NXP FRDM-K64F
|
|
|
|
## Overview
|
|
The board has a K64F Kinetis MCU and is supported by `cpu/kinetis_common`.
|
|
|
|
## Hardware
|
|
|
|
![frdm-k64f](https://www.nxp.com/assets/images/en/dev-board-image/BOARD-FRDM-K64F-PRODUCT-SHOT.png)
|
|
|
|
| MCU | MK64FN1M0VLL12 |
|
|
|:----------------- |:--------------------- |
|
|
| Family | ARM Cortex-M4F |
|
|
| Vendor | Freescale |
|
|
| RAM | 256KiB |
|
|
| Flash | 1024KiB |
|
|
| Frequency | 120MHz |
|
|
| FPU | yes |
|
|
| Timers | yes |
|
|
| ADCs | yes |
|
|
| UARTs | yes |
|
|
| SPIs | yes |
|
|
| I2Cs | yes |
|
|
| Ethernet | WIP |
|
|
| USB | WIP |
|
|
| LPM | TODO |
|
|
| DAC | TODO |
|
|
| Vcc | TODO |
|
|
| Reference Manual | TODO |
|
|
|
|
The board has an integrated debugger adapter (k20dx128) with the firmware from
|
|
ARMmbed.
|
|
There are three interfaces available:
|
|
* Drag-n-drop programming over Mass Storage Device
|
|
* USB Serial Port (/dev/ttyACMx) connected to a K64F UART interface
|
|
* CMSIS-DAP for debugging with e.g. OpenOCD
|
|
|
|
**Please update the firmware to version 0221, see below.**
|
|
|
|
## OpenOCD
|
|
The latest (01.07.2015) OpenOCD version (also current git) does not support
|
|
the K64F. There is a [patch](http://openocd.zylin.com/#/c/2773/) which makes
|
|
flashing and debugging possible. A refactored and rebased version can be found
|
|
[here](https://github.com/jfischer-phytec-iot/openocd/tree/wip%40phytec).<br>
|
|
|
|
## Flashing the Device
|
|
#### Over OpenOCD
|
|
make BOARD=frdm-k64f flash
|
|
|
|
#### Over MSD
|
|
Simply mount the mbed Mass Storage Device und copy new RIOT firmware.
|
|
See also the ARMmbed
|
|
[instructions](https://developer.mbed.org/platforms/FRDM-K64F/#getting-started-
|
|
with-mbed).
|
|
|
|
## Updating the Bootloader
|
|
A update of CMSIS-DAP firmware is necessary to using the board with OpenOCD.
|
|
A good step by step guide is available
|
|
[here](https://developer.mbed.org/handbook/Firmware-FRDM-K64F).
|
|
|
|
## I can't flash the device with OpenOCD anymore...
|
|
When a flash process has failed or a wrong firmware has been programmed, the
|
|
following OpenOCD message may appear:
|
|
```
|
|
START...
|
|
Info : SWD IDCODE 0x2ba01477
|
|
Info : SWD IDCODE 0x2ba01477
|
|
Error: Failed to read memory at 0xe000ed00
|
|
Examination failed, GDB will be halted. Polling again in 300ms
|
|
TargetName Type Endian TapName State
|
|
-- ------------------ ---------- ------ ------------------ ------------
|
|
0* k64f.cpu cortex_m little k64f.cpu unknown
|
|
START...
|
|
Warn : *********** ATTENTION! ATTENTION! ATTENTION! ATTENTION! **********
|
|
Warn : **** ****
|
|
Warn : **** Your Kinetis MCU is in secured state, which means that, ****
|
|
Warn : **** with exception for very basic communication, JTAG/SWD ****
|
|
Warn : **** interface will NOT work. In order to restore its ****
|
|
Warn : **** functionality please issue 'kinetis mdm mass_erase' ****
|
|
Warn : **** command, power cycle the MCU and restart OpenOCD. ****
|
|
Warn : **** ****
|
|
Warn : *********** ATTENTION! ATTENTION! ATTENTION! ATTENTION! **********
|
|
in procedure 'reset'
|
|
in procedure 'ocd_bouncer'
|
|
```
|
|
Solution 1:
|
|
+ Hold the reset button and execute make BOARD=frdm-k64f flash in a project
|
|
directory
|
|
+ Release reset button just after "Info : MDM: Chip is unsecured.
|
|
Continuing."
|
|
|
|
Solution 2:
|
|
+ Comment out line `reset_config srst_only srst_nogate connect_assert_srst`
|
|
in `boards/frdm-k64f/dist/openocd.cfg`
|
|
+ Execute make BOARD=frdm-k64f flash in a project directory
|
|
|
|
Solution 3:
|
|
+ Ask Deep Thought
|
|
*/
|