nRF5 action!

  • Hardware Contributor

    I can't help you with blackmagic probe unfortunately.
    Just personal opinion, I prefer Segger probe.
    For example, Segger EDU mini is cheap. for the price don't bother with clones..

    • very affordable
    • compatible with a lot of IDEs, and when you use it with Segger IDE then you get best integration
    • segger provides lot of tools for debugging for free
    • easy updates and drivers install

    The only cons to a jlink probe could be no additional uart, but I don't need uart for debug&prints (segger ozone and rtt tools), and nor uploading sketch.

    Or a nrf5dk board is a nice alternative too, a little bit more expensive than EDU Mini but you get jlink+devboard+ later you could hook a power profiler kit on it πŸ˜‰
    Still a jlink mini at hand is quite useful.

    Like I said just personal, I'm sure BMP is nice too, I guess you'll get it working before you can get a jlink πŸ™‚

  • @sergio-rius I too have struggled to flash st-link clone with bmp firmware, but eventually I managed to do it. Unfortunately I don't remember what exactly I did, but I remember that I came to a solution when decided to try another st-link as a destination. If I remember correctly, there are different stm32 chips on these boards and some of them have insufficient amount of flash memory for bmp firmware.

    arm-none-eabi-gdb package is not available in ubuntu's repositories starting from 18.04. You can either download toolchain from eclipse's github archive or try to install older package as described here.

    Also, I used info from this blogs when flashed my st-link:

    As for buying stuff, don't forget you can buy ready to use BMP from their creators too πŸ˜‰

  • Hero Member

    Maybe this will help: I once looked into the Black Magic Probe, but came to the conclusion that it was basically a PC program that they crammed onto the "probe." Therefore, unless I'm mistaken, you could run the very same source software from either a PC or a linux box and get the same results. I don't recall any advantage to running it on the so-called "probe" that the authors picked.

  • @neverdie and how do you suggest connecting SWD and SWCLK lines from MCU to computer, not using the "probe"?

  • @monte I guess he means taking the debugger program to the computer layer and leave only the com channel to a TTL device.

  • @sergio-rius but debugger is running on a computer side anyway, as far as I understand. And BMP is the "thing" that connects it to MCU via SWD.

  • @monte I may be wrong, but from what I understand while reading on it, it seems that the debugger is implemented in the probe. The program you run is an interface.
    I see it like a Ilogger interface that you implement in a program.

  • @sergio-rius well, I guess you are right. I revisited description of BMP and it says, that it runs GBD server on itself and eliminates need for STlink server. So I guess you could do all the same with just an st-link...however it seems that it would require more setup and I don't think that it will be easier than flashing BMP firmware πŸ™‚
    Just a snippet from their wiki:
    "There are a few advantages of the Black Magic Probe. BMP is open-source, meaning that you can look inside it if you need or want to. We are getting support for new ARM Cortex-M based chips on a regular basis, so you are not limited to just the STM32. We have preliminary support for Cortex-A this will result in the ability to use the probe with Raspberry PI and Beagle Bone Black and many others. The Black Magic Probe also supports JTAG not only SWD, because not all microcontrollers use SWD. Also JTAG makes it possible to chain together more than one microcontroller. The GDB server is implemented on the probe itself, this means we do not use some proprietary protocol to talk to your debugger software, making the setup more repeatable and removing the need for custom config files."

  • Hardware Contributor

    "BMP is open-source, meaning that you can look inside it if you need or want to"

    "The GDB server is implemented on the probe itself, this means we do not use some proprietary protocol to talk to your debugger software"

    sounds so useful when you simply want to upload fw and debug πŸ˜…
    open-source does not mean better quality than proprietary imho, it can be a burden too. I prefer mature product for working.

    is BMP compatible/integrated with as many IDE as a proprietary probe?
    If for instance someday you want to use it with Segger IDE+nordic sdk, is it compatible? I don't think so.
    I "compared" probes recently and decided to stick to jlink. The second probe in my list is cmsis-dap/daplink, looks nice too, but don't need it (at least, not so far)

    I use many different toolchains and CLI too. So when there is a tool that just needs download and exec to install driver, autoupdates etc, without spending life in CLI, I don't hesitate.

    struggling or working..

  • @scalz well, that's nice that you know what you want and can get it, but that doesn't mean that's suitable for everybody else. That's good to have a choice, but when you need it done, you better find a way to get it done easier and faster.
    So I went to local store, bought second st-link clone for 4$ and then spent a few hours figuring out, how to properly flash it. The day after I could unlock my Ebyte e73 board, with newly acquired BMP.
    If I'd took the route suggested by you, I would spend minimum 30$ and 1-2 weeks of waiting time. And then I would still need to figure out how to work with that proprietary software.
    I am far from experienced programmer, so I can't get use of BMP's full potential, but now I have a very useful tool in my arsenal, that can be used with variety of different chips.
    Also, in my opinion, the main advantage of opensource not the software itself, but a community. Your experience may vary, but I'd say you have better chances finding solution in opensource community, than on commercial software forum, unless you have some kind of paid support subscription.

  • Hero Member

    @monte said in nRF5 action!:

    @neverdie and how do you suggest connecting SWD and SWCLK lines from MCU to computer, not using the "probe"?

    st-link. Roger Clark previously had a youtube video showing this setup, but it looks as though he has since deleted all his videos:

    Anyhow, I'm not trying to dissuade anyone from using BMP. If you want a probe that has a command line interface built into it, then AFAIK it's still available.

  • Hardware Contributor

    @monte said in nRF5 action!:

    @scalz well, that's nice that you know what you want and can get it, but that doesn't mean that's suitable for everybody else. That's good to have a choice, but when you need it done, you better find a way to get it done easier and faster.

    Why so much impatience πŸ™‚ So many things to tinker.. I mean you can get a jlink in 2days if you need it. I ordered mine while I was waiting for stuff coming from China..and in my case, there is no close-door store for geeks.
    Do you mean you would suggest a nrf5 newcomer to diy a BMP for mcu flashing??

    When I got my jlink, I didn't have to flash it to make it working.. I just had to donwload win drivers, install them, and voilΓ .
    Which proprietary sw do you think you need to learn?? I don't use any special sw for flashing..just regular IDEs like arduino/vs studio, or more advanced like Segger (free) or Keil. For all these IDEs, I just click on a button to upload fw, simple. There is nordic windows apps, or nrfjlink in CLI too.

    I know the power of oss and its flaws, same for commercial, in practice it's not rare to see communities sitting/waiting for updates (not hard to find examples on github), whereas money makes commercial products live.
    No need to debate on this, it's useless debate I think
    The reality is different here, I think you'll find more subscriptions-free resources on internet about Jlink than BMP, and for a reason πŸ˜‰ I agree that you'll find lot of howtos save a few bucks by diy-ing and flashing a BMP..
    everyone acts in one's own interest πŸ™‚
    Just to sum up my thought, I think for a newcomer it's easier to get started with a Jlink vs diy probe that you need to flash with what, a probe ??

    Below is a screenshot of a running nrf5 test, stability test.. but for example you can see, I don't use any additional uart for debug printing, and fw is just uploaded by a click in IDE.

  • Banned

    This post is deleted!

  • @scalz I'm not trying to dismiss your point, I get it. It just surprises me that you stand against "diy'ing a probe" while still being a part of DIY community which gathered around idea of making things fast and cheap. Why bother with mysensors, if we can buy all the same from Ikea, Xiaomi of Philips, or many other manufacturers, sometimes not even much pricier?
    To sum up what I'm trying to say, and finish this debate. I've spoken about my experience as nrf5 newcomer. And exactly as a newcomer I've found this way being better for me. I don't use Segger, Keil or Windows, nor I am planning to use them in future, and if I will, I would probably be able to afford buying myself a J-link.
    To get "DIY" version of BMP you need either ST-link v2 or any STM32 board, bluepill for example. And to flash one of those you obviously need another ST-link. That's all.
    BMP supports SWO which have it's own specifics compared to RTT, but basically does the same thing.

  • Hero Member

  • @neverdie that seems to be for folks who are against STM32 chips πŸ™‚

  • Hardware Contributor

    it's not standing against diy'ing etc..really you didn't understand my point, it's just about user friendly and easily repetable getting started for MySensors nrf5 newcomers, for simply flashing their sketch.. even if a diy BMP is certainly a good probe too. and a genuine BMP is more expensive than a jlink mini. Compare both a jlink vs a blank diy probe, and with a stopwatch, you'll see which method is faster and easier for a noob..

    But ok, I won't insist anymore, if you prefer to get me wrong, really don't mind.. I should better let user with not much xp manage all alone so no debate, as this just makes me less active, see you next year 😁

    Just don't forget future newcomers will read your advices. In the meantime, we'll try to update docs for MySensors nrf5.

    Have fun with your probe

  • @scalz C'mon, would you leave the forum with just one hit? πŸ˜„
    In fact I understand your point completely. Open source has become more and more caotic. Internet is atemporal, and often people has the bad habit of not putting the complete date at the top of their "articles" that makes that search engines cannot filter and order properly.
    Everyone has a blog and writes whatever gets out him. The majority of people uses that as a remainder for themselves and... whynot getting reward. So there are zillions of howtos made anyhow. They are not written for helping people.

    If the sources and destination are always one, why there aren't the binaries available and all writeups talk about messing the computer and compiling? I think that's because nowadays people seek praise for having achieved it.

    Scalz point is about economy of time. Because time is money, even if it's spare time, and yes, a paid/proprietary probe becomes cheap, giving the documentation on the internet, today.

    Also the point of view depends in the situation of everyone and its age. Someone at the 5thies feels earlier that it's wasting time, and there comes frustration, and complaining posts, unfortunately πŸ™„
    Just buy a probe, forget about it until it gets delivered.

    @monte BTW, I was trying to program an stm32 board with a jlink. Not a Jlink. Maybe if there was a way to get an already compiled binary (to avoid all those dependencies errors) and program the jlink with a normal serial ttl...

  • @sergio-rius well, I've gotten majority of my computer knowledge and almost everything I know about programming MCU from such blog posts and articles. Some of them where better, some worse, maybe 10% were complete garbage. But anyhow I can't and won't complain. Because no person is obliged to write something that everyone will understand, and not everyone is naturally born teacher, to prepare information in suitable for wide variety of people way. But all of them were people, who thought it will be helpful to share their experience with others, to show them that this can be done, and maybe give at least hints to how to achieve it. I think there is not much use if you just follow steps, written by someone, without any thought process, or trying understand what you are doing. And thus when you try to achieve something that, won't work from the beginning and guide seems to be outdated, or not complete, you teach yourself and this is most precious in thewhole process.
    I don't think it is correct to blame those, who made a guide for that you can't replicate all the steps. Time goes, libraries an packages evolve, and in few moths fully functional guide can become obsolete if you can't make some adaptations.
    Anyway, here is more recent guide, but written with older ubuntu version in mind. You may look at it, if you want:

  • You know... Great power comes with a great responsibility 😊

  • Hero Member

    I happened just now to notice that ON Semiconductor has released their own (non-Nordic) version of an integrated Bluetooth + ARM Cortex + antenna with all passives:

    What's remarkable is that the entire thing, including the antenna and all the passives (which are built into it) is just 8mm x 6mm in size. As a result, it's very easy for them to make a very small sensor beacon:
    alt text

    "The RSL10 SIP features an onβˆ’board antenna, RSL10 radio SoC,
    and all necessary passive components in one package to help minimize
    overall system size. Already fully qualified to FCC, CE, and other
    regulatory standards; RSL10 SIP removes the need for additional
    antenna design considerations or RF certifications."

    Personally, I don't currently have the skill to solder anything that small, but maybe with the PCBA services that are becoming available.....

    I post this here merely as an illustration of what's truly possible. I can only guess, but I presume Nordic will probably (?) release something similar in the future. It would be nice not having to rely on module vendors but instead just mount the chip directly.

  • Hero Member

    By the way, maybe the Black Magic Probe can function as a kind of "universal" JTAG interface? For instance, would it work well o an ESP32 and/or anything else that relies on JTAG for debugging and/or burning firmware? Or would an ST JTAG probe work just as well?

    Is this right? I'd prefer to consolidate on a single thing rather than having a different JTAG interface device for every different kind of hardware that might need programming/debugging:

  • Hardware Contributor

    afaik BMP officially targets ARM mcus, whereas ESP32 is not ARM, it's Tensilica.

  • Hero Member

    @neverdie On the other hand, I bet that tiny RSL10 integrated radio+antenna package has very limited range. What I noticed from the various nRF52840 modules that I've tried is that the smaller the module, the worse the radio range. I haven't yet encountered any exceptions to that generalization.

  • @waspie just to follow up, 24hr reboot() is working perfectly. Appreciate the help.

  • @ncollins good news

    I wonder if this has anything to do with it?

  • @waspie Given that all of my interrupt nodes stopped triggering after 36 hrs (before your reboot workaround), it has to be related. It’s just weird that my nodes would continue to wake up and broadcast battery level.

    Is the LPCOMP interrupt method dependent on the wdt? Maybe resetting/restarting the wdt every 24hrs would suffice? Or maybe you have to reactivate LPCOMP every 36 hr wdt cycle?

  • Hero Member

    When are we going to see newer nRF52 modules featuring antenna diversity?

    Somewhere I still have this prototype module that I purchased a few years ago:

    alt text

    I got it working and wrote about it at the time, but I haven't seen any more up-to-date modules featuring antenna diversity since then. Definitely nothing featuring an nRF52840, for instance. What gives?

  • Hello guys. I wished I have found this forum earlier. I'm currently trying to extract/dump a firmware from nRF51. Using OpenOCD and ST-Link V2. I am facing some problems and have posted it on stackexchange and stackoverflow. Here are the posts:

    Hopefully someone here could help me. Thanks in advance

  • Hero Member

    @Calvin-Khung a black magic probe would allow you to do that.

  • @NeverDie What is the difference with a ST-Link? I mean, I've read the features on GitHub but I don't really get the differences though πŸ˜… Sorry, as stated in both links, I'm still a noob.

  • Oh, is the command mass erase the same as dump image? If I mass erase, will the bin file appear in the bin folder?

  • @Calvin-Khung Hi Calvin, I read your comments here and on Stackoverflow/exchange. I honestly think that you dont have the right skills to do this. The exploited vulnerability in the blog is quite sofisticated. I think you have to start getting your debugger configured correctly. Your say you have an st-link v2 which lets me to belive you have a cheap chinese clone.
    This clone has not all debugging features included, as you might saw in my posts earlier. You are much better of with a Black magic probe or a J-Link.
    Have you got a halted NRF51 yet?

  • @mr_red If it's a clone then that would probably explain why it wasn't successful. I've read a thing or two about the BMP. Do you think its a good idea to convert the cheap ST-Link V2 to a BMP? Found a blog about it.

    J-Link is way too expensive so I won't even bother considering it. And I don't quite get what you mean but yeah, I did halt it during the process.

  • @Calvin-Khung you can convert st-link clone into BMP. The only problem would be if there is not enough flash on the chip. If I remember correctly, BMP firmware needs more than 64kb. But you will know for sure, if you'll try.

  • @monte For sure, I'll give it a try. Thanks for helping out guys!

  • Calvin, You cam buy a Nordic Development kit for about $50 dollars or less. It has the J-Link OB device on it for swd programming and debugging.

  • Hardware Contributor

    @Jokgi said in nRF5 action!:

    Calvin, You cam buy a Nordic Development kit for about $50 dollars or less. It has the J-Link OB device on it for swd programming and debugging.

    Best solution imho, never had a problem with it programming the nrf5 modules, just drag & drop from Windows file explorer.

  • @Calvin-Khung
    Jokgi about 2 hours ago

    Calvin, You can buy a Nordic Development kit for about $50 dollars or less. It has the J-Link OB device on it for SWD programming and debugging.

  • Hero Member

    I agree with Jokgi, but nonetheless for anyone interested in the Black Magic Probe alternative, here's an article on how to make a BMP from a $2 Blue Pill board:

  • i use $10 replica Jlink from aliexpress works ok with the latest firmware without an issue. i use it just to flash bootloaders to cortex m0-m4 and nrf52's but it should work for any task that a genuine jlink can do.

  • There also is an "Education" version of the Jlink for $20 if you want an official one with access to nRF Command Line Tools.

  • @Jon-Raymond Correct. It is a nice product for the price and the intended user. As Jon mentioned, you can use the command line tools as well as nRFconnect and also has direct hooks into the Segger Embedded Studio which is a fully functional IDE / compiler/ Debugger and is free when used with Nordic Semi devices.
    Plus there is no license conflict as there is when using one of these cheap overseas j-link knock offs. (Which could "break / brick" anytime doing a "official" Segger update on these clones.)

  • @orhanyor good to hear! i ordered that as well since just to try it out in hope that it would work. now that you've said that, maybe i shouldn't worry too much then.

  • @Calvin-Khung Well im actually surprised that it still works because people are reporting they might stop working after a firmware update so you might wanna hold back on that other than that it works surprisingly well. i bought another as my back up plan which im expecting it in these days. its abit different than the one i have. this one is much cheaper and looks like jlink edu mini rather than a normal j link with a black box.. i ll see if it works when i receive it, here it is.

  • i just received this little thing, tested it with atmel studio just to flash some M4 boards and it worked nicely. i wanted to update its firmware via jlink(playing with fire) but it didnt let me saying its up to date so its all ok i guess. it only has 4 pins 3v, gnd, swdio, swclk. for $2.50 in total with shipping its a steal πŸ™‚

  • @orhanyor Is it just me or does that micro usb connector look like it should be mounted upside down so it actually nests into the cutout in the board below it? Of course the pinout would be mirrored but it seems like a layout issue that they just ran with.

  • usb connector is actually nested as far as i can see but it dips 1-2 mm only. weird but it works so its all good πŸ™‚

  • This post is deleted!

Log in to reply

Suggested Topics

  • 1
  • 496
  • 3
  • 17
  • 2
  • 17
  • 1