K64F eval board

ARM Wrestling?

By pi3141593, January 5, 2017

Networking code for the NXP/Freescale K64 processor is coming along pretty well…

I moved a project to the NXP K64 ‘Kinetis’ (ARM Cortex-M core) microcontroller after a disappointing experience with the ‘new’ PIC32 processor and its ‘new’ development tools. I’m using the very affordable K64F evaluation board as a low-cost way of creating a number of identical nodes for network testing.

K64F eval board

K64F eval board

I’ve been working mostly with UDP and a little TCP networking using the lwIP ethernet stack and ethernet. I do have FreeRTOS on there, but it doesn’t do all that much. One of the bigger challenges was implementing HMAC-sha256 authentication on their integrated MMCAU hardware-encryption engine, which I do not feel was adequately documented at all.

It’s sort of ironic… I was an early advocate of the ARM in the early 2000’s at a previous employer, and boy was I right that it would take over the world. I wish I’d invested heavily in ARM back in the early days!

The K64 is highly integrated, so other than adding external FRAM for configuration and some signal buffers, I don’t need much beyond the board and its firmware to interface to a client’s custom hardware. It’s pretty smokin’ fast too, so processor speed has so far not been an issue.

Interface Breadboard

Interface Breadboard

One of the frustrations with all these big chipmakers is that they are constantly being bought and sold (now NXP is being bought by QualComm), and changing direction. As soon as they begin to work out the bugs in one development tool or philosophy, it seems they radically alter direction. As soon as they get one support forum working, they decide to migrate to another. C’mon people, focus a little?