Programming SuperMini via NRF52 DK - Could not read a coherent value from ctrl-ap idr registers

Hey all,

I try to flash the SuperMini nRF52840 using my NRF52-DK over Debug HW (SWDIO pins). I try to flash the Zephyr blinky example.

I think I already got it (at least the connection) working as I was able to read out the flash regions with the nRF Connect for Desktop (Programmer) and the SuperMini has the Adafruit Bootloader which I seem to have erased as well (LED is not blinking anymore).

However, I suddenly face issues flashing the SuperMini. When I try to flash it (based on the Build Configuration of the NRF52832) I get the following error: 


And another question I have is, the SuperMini came preflashed with the Adafruit Bootloader. I think I already ereased that one as no LED are flashing anymore.
When I build and flash using the Connect SDK (Zephyr) via VS Code, will the MCUBoot be automatically flashed as well? And is it a separate binary or is it part of the main image?
The following default devicetree:


boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 0xc000>;
};
slot0_partition: partition@10000 {
label = "image-0";
reg = <0x000010000 0x30000>;
};

Suggests that this would be two images, but where can I find it? Also, I strangely do not see the gap between 0xc000 and 0x10000 when using nRF Connect for Desktop (Programmer), but only one flashed region, why?

  • So I got it working. It's important to use the VDD pin of the SuperMini instead of the VCC if SWDIO is used.
    Also MCUBoot seems to be flashed as well, but still not sure if its one or two images/partitions.

    One strange thing I noticed: I cannot use the UART pass through on PIN 0.6 / 0.8 of the DK (I tested both, connect TX of SuperMini to DK TX and RX). But what was working is using an Arduino as Serial plotter of the SuperMini.

  • I was also able to get UART pass through by connecting PIN 0.6 from SuperMini to PIN 0.6 from the NRF52 DK. (No changes made to UART in the overlay)

  • 你好!您使用的是 Nice!nano v2 兼容板,还是 ProMicro(以前称为 Supermini)?我还有一个相同的开发板。前几天,我尝试使用 Arduino 进行编程,不小心点击了 Arduino 软件上的“Burn Bootloader”选项。从那时起,开发板就无法再被识别为 USB 闪存驱动器,甚至 Windows 设备管理器也无法检测到它的存在。我尝试短接 RST 和 GND 引脚,但设备管理器或微控制器上的 LED 都没有响应。现在,开机时,蓝色 LED 会一直闪烁。我怀疑 bootloader 已损坏。您能告诉我如何解决吗?

Related