Multicore ARM SBC with JTAG - suggestion - Page 1
Forum section: electronics / general

author: crispus
author_rank: Regular Contributor
timestamp: August 24, 2017, 12:04:29 pm
content: Hi,I would like to experiment some linux kernel debugging / BSP.I'm looking for a multicore ARM board, preferable something based on some TI/ex Freescale/etc (they have good documentation)I know that BBB can have jtag, but it is single core (I would like multi-core). Nice to have 1GB+ RAM, CPU speed 1GHz+Any suggestion?Thanks.

author: daveshah
author_rank: Unknown
timestamp: August 24, 2017, 12:06:37 pm
content: How about something Zynq based? They have JTAG support, good documentation and lots of avenues for experimentation...

author: brucehoult
author_rank: Super Contributor
timestamp: August 24, 2017, 01:55:26 pm
content: Quote from: daveshah on August 24, 2017, 12:06:37 pmThey top out at 1 GHz, but the cheap boards are 650 MHz. And only dual core.

author: andersm
author_rank: Super Contributor
timestamp: August 24, 2017, 02:26:28 pm
content: There's lots of i.MX6 boards, eg.BD-SL-i.MX6,Wandboard Quad,iMX6 RexandAR6MXQare just from the first page of Google hits. Though if this is specifically for experimenting with kernel development and distro building, the exact specifications shouldn't matter that much. More important is IMO mainline kernel and bootloader support, and BSP availability in whatever environment you're planning on using (Yocto, PTXdist etc.)JTAG is AFAIK rarely used after board bringup, the kernel has its own debugging facilities. Lauterbach have some fancy tools they will tell you are absolutely essential, but they will cost about as much as a small car.

author: stmdude
author_rank: Frequent Contributor
timestamp: August 24, 2017, 04:39:00 pm
content: Quote from: andersm on August 24, 2017, 02:26:28 pmThis is something I actually used to work with. We used JTAG up to a point where we got the bootloader to print on UART, and then it was UART debugging from there on.I've used JTAG a (very) few times to debug memory-corruption (to verify that the memory changed without the CPU actually writing to it), but in reality it's not used very much.The whole process is basically:1. Get UART working in the bootloader2. Get flash-memory working in the bootloader3. Get USB working in the bootloader( Now you're at a state where you can work very quickly. Build, flash, test, repeat )4. Build a kernel configured the way you think it should work, and enable EARLY_PRINTK5. Build, flash, test, observe, repeat until the kernel boots fully

author: crispus
author_rank: Regular Contributor
timestamp: August 25, 2017, 03:15:58 pm
content: Thanks for the replies. I am well aware about Lauterbach, but I'm nowhere near that type of budget.I will look on all suggestions.I tried in the past debugging via UART, but didn't go very well, also when the kernel crashes, UART is uselessStill want some board that works with JTAG. I would like to take it step by stem from power up.I was hoping that someone had a successful hands-on experience with a satisfactory combination of board + JTAG.

author: nctnico
author_rank: Super Contributor
timestamp: August 25, 2017, 04:29:49 pm
content: Quote from: andersm on August 24, 2017, 02:26:28 pmI agree. Running the Linux kernel from a debugger won't do much good anyway because the kernel is OO-in-plain-C and almost every module is linked at runtime.