Does this device worth the effort of €60.00 EUR + €11.40 EUR VAT/MwSt? - Page 1
Forum section: electronics / general

author: Free_WiFi
author_rank: Regular Contributor
timestamp: January 30, 2019, 02:14:43 pm
content: Good morning people.I wanna ask you today,if this "universal" programmerBlack Magic Probe V2.1https://1bitsquared.de/products/black-magic-probeis good enough to be used entirely under linux to develop variouse Mcu's and Fpga's ?Which are the Pros and Cons ?Thanks .P.S If you know some better alternative,then please tell me something,Thanks.

author: Free_WiFi
author_rank: Regular Contributor
timestamp: January 30, 2019, 02:17:03 pm
content: I forget to mention,this programmer is not compatible with Pic microcontrolles,but i think to be fine,because i don't really need pic32 scince i can use stm32 which is more powerful.

author: krish2487
author_rank: Frequent Contributor
timestamp: January 30, 2019, 02:39:10 pm
content: IIRC,that is meant exclusively for ARM targets.But thats not the biggest advantage of the device.It runs a gdb server on the BMP itself. meaning you dont have to run a gdb server locally on your development host. super handy.you can just connect the device to it using openocd and debug away.FWIW, There are plenty of pages on the interwebs where many have converted a cheap stm32 bluepill to work as a BMP.Of course, if you want to purchase for supporting the original author the it is upto you.

author: Free_WiFi
author_rank: Regular Contributor
timestamp: January 30, 2019, 03:00:54 pm
content: Quote from: krish2487 on January 30, 2019, 02:39:10 pmI wish to support the original author.However i'm very new to this world,so basically i got a lot of questions inside my head.For example:i don't want to waste my money on pickit4 etc,so for this reason i wish to go with something more fatty and reliable with 0 headache.I heard that there are a lot of problems with pickit4 and the entire family of this kind of mcu's,so at this i can only hope to make bingo with this choose.

author: janoc
author_rank: Super Contributor
timestamp: January 30, 2019, 03:03:17 pm
content: Quote from: krish2487 on January 30, 2019, 02:39:10 pmYou meant GDB, I presume? AFAIK, BMP opens a virtual serial port that you point GDB at in order to debug your target. If it needed OpenOCD it would be completely pointless - OpenOCD is the bridge that exposes JTAG/SWD to GDB in the form of a debug server.And to OP - if all you want to debug is STM32 then yes, this will work fine. It won't work for FPGAs and may not work for non-Cortex M targets neither (e.g. Atmel AVRs/XMegas that have a JTAG interface). It certainly won't work with anything PIC.I personally prefer using a cheap generic SWD/JTAG adapter and OpenOCD because at least I don't need to reprogram the firmware of the dongle for each type of target - the same dongle will program an FPGA or a microcontroller over JTAG, which isn't the case for BMP. If the BMP doesn't have a driver for your target your are screwed and have to reflash it (assuming someone has made that driver already). With OpenOCD I just change the config file or update my OpenOCD install.You can get a cheap ST-Link clones on AliExpress or eBay for $2 delivered. If you want/need full JTAG (not just SWD - e.g. for programming those FPGAs), there is plenty of cheap tools based on the FTDI chips or even the Dangerous Prototypes BusBlaster (https://www.seeedstudio.com/Bus-Blaster-v4-p-1416.html). Then there are obviously all those Seggers and such - but that's a bit different price category.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 30, 2019, 03:03:33 pm
content: Yeah, AFAIK, it's not an universal JTAG adapter. I think it only supports ARM targets (and I'm not sure all of them either, I think its for Cortex MCUs only).

author: krish2487
author_rank: Frequent Contributor
timestamp: January 30, 2019, 03:06:26 pm
content: You are right. I did not mean to write openocd. You would not need openocd to use it.Quote from: janoc onTodayat 02:03:17 amYou meant GDB, I presume? AFAIK, BMP opens a virtual serial port that you point GDB at in order to debug your target. If it needed OpenOCD it would be completely pointless - OpenOCD is the bridge that exposes JTAG/SWD to GDB in the form of a debug server.And to OP - if all you want to debug is STM32 then yes, this will work fine. It won't work for FPGAs and may not work for non-Cortex M targets neither (e.g. Atmel AVRs/XMegas that have a JTAG interface). It certainly won't work with anything PIC.I personally prefer using a cheap generic SWD/JTAG adapter and OpenOCD because at least I don't need to reprogram the firmware of the dongle for each type of target - the same dongle will program an FPGA or a microcontroller over JTAG, which isn't the case for BMP. If the BMP doesn't have a driver for your target your are screwed and have to reflash it (assuming someone has made that driver already). With OpenOCD I just change the config file or update my OpenOCD install.

author: capt bullshot
author_rank: Super Contributor
timestamp: January 30, 2019, 03:26:18 pm
content: If your device is within the supported devices list, the BMP will do the job. I've some experience with converting outdated ST-Link v1.0 contained on one of their discovery boards into BMP, works a treat with GDB on linux. You'll have to use GDB, nothing else will work. If you've got a ST-Link v2.0 or v2.1 (as provided with most of their boards), there's no point in using BMP, since ST-Link v2 is well supported by all tool chains (including linux, gdb, openocd).I've no experience regarding BMP and other targets than STM32. Clearly not suitable for non ARM Cortex (e.g. PIC, FPGA).

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 30, 2019, 05:11:14 pm
content: From what I know of BMP you can easily flash the Open Source firmware into an STM32.If it works for you then you can decide after trying it out whether you want to kickback some funds to the project or want to buy a professionally made device.I've made a note of BMP, but I haven't even used 10% ow my ST-Link V2's yet.From what I read everybody seems to be enthousiastic about BMP though.

author: tsman
author_rank: Frequent Contributor
timestamp: January 30, 2019, 05:52:55 pm
content: The main benefit of the BMP is that you don't need to run a GDB server but it isn't difficult to get OpenOCD or the st-util GDB server runningBMP does works well if you've got a supported uC though. The main downside for me was the lack of RTOS thread support. The main BMP dev said it won't be supported because it should be GDB that interprets the thread structures. OpenOCD does support it but they said they won't do the same method because it is violation of the layer separation i.e. the lower level debugger shouldn't know anything about the higher level OS.If you want to support the BMP project then buy their official BMP board. It looks to be well made and has some nice features.I've got a couple J-Links now and use those nearly exclusively. My BMP just stays in a drawer. I've reflashed most of the onboard ST-Links with the J-Link firmware that Segger offer. I've kept a standalone ST-Link/v2 running the stock firmware though just in case.