I'm working on a project where I'm building an instrument that I want to access via TCP/IP. I'm using two STM F4DISO boards to implement control algorithms and a RPi to do all the network comms and datalogging. Ideally I'd like to be able to update the firmware in the DISCO boards remotely as well so I can work on new control schemes remotely.
I could have written a bootloader, but I thought the stlink interface would be an easier (more robust?) option.
After a bit of pain (I'm not a linux guru by any means) I've got OpenOCD compiled on the RPi and surprisingly it works well. I can happily fire it up through SSH and connect GDB within Eclipse. So if I was using a single board I'd be completely set and happy.
Now, I can open a telnet session into OpenOCD and issue the targets commands, and I only see a single board.
Open On-Chip Debugger
> targets
TargetName Type Endian TapName State
-- ------------------ ---------- ------ ------------------ ------------
0* stm32f4x.cpu hla_target little stm32f4x.cpu unknown
If I unplug that board and restart OpenOCD I can now see the other board, so both boards are functionally fine, but I can't work out how to see them both (and hence be able to switch openocd between them.)
running lsusb returns
Bus 001 Device 005: ID 0483:3748 SGS Thomson Microelectronics ST-LINK/V2
Bus 001 Device 006: ID 0483:3748 SGS Thomson Microelectronics ST-LINK/V2
So they're both recognised by the system.
From what I can gather from the manual, it should work.
Any ideas?