Board level debugging of the NXP i.MX 8M evaluation kit (MCIMX8M-EVK)
First, we needed to decide on the board. I wanted to use a 96boards board because of the support they give and get from my friends over at Linaro. Bad news right off the bat from the customer, they want a quad ARM® Cortex®-A53 board and using an ARM big.LITTLE will not be a good replacement for them. They give us a few choices with the NXP being the top of the list. Great news this time, they have the MCIMX8M-EVK over at Arrow (I love the free overnight shipping). Ouch it’s $449… I continue to wish that I could use a 96Boards board. Oh well.
Next, need to find a JTAG. It has been a while since I’ve looked and let me tell you the landscape has changed quite a bit. So, what to use? After looking around I decided that I would use the Open Source Bus Blaster JTAG from Dangerous Prototypes. Great! An Open JTAG! This one turned into a mixed bag though. The JTAG needs to be ordered from Seedstudio, and they ship out of China. I put the order in and hold my breath. If it isn’t delayed, and setup doesn’t take too long, and everything goes smoothly I’ll have a good demo. Since I have other things the customer wants demoed I’ll have some stuff to do to fill in the time gap anyway (more on those things in a different blog).
Ok, time flies by and quicker than I expected (and quicker than Seeedstudio expected) and the JTAG arrives. So now it is time to put together all the parts and try and wow the customer with a great demo!
Here is the list of hardware I needed to create the demo:
- NXP i.MX 8M evaluation kit (MCIMX8M-EVK)
- Dangerous Prototypes Bus Blaster v4 (probably could have used v3)
- Olimex ARM-JTAG-20-10 ARM Micro JTAG adapter (micro ribbon cable included)
- Bag of 6in male to female jumper wires (22AWG, UL1007, mates with 0.025in pin)
Time to wire things up:
As with most new things I start out by creating a VM with my favorite Linux distro, Ubuntu. I know, I know… let the rants begin (I hear Tim screaming at me about the wonders of Fedora). I also use vim, so let’s get that out of the way too. Anyhow, I setup an Ubuntu 18.04.01 VM with 4 CPUs, 2GB of RAM, lots of disk space, and USB (for the JTAG).
OS all setup and ready to start:
The version of OpenOCD included with Ubuntu does not support our board, so we need to build from source. First thing to do is clone the git:
Well that is it! JTAG connected and running! Demo complete and customer happy! I think in the next howto I’ll cover setting up a u-boot build environment with Eclipse (hint, I’ve already done it). I hope you’ve enjoyed, if so please share with others. Your feedback is also appreciated, so send me a note firstname.lastname@example.org