This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Loss of USB connection after flashing Zephyr image

Hello!

I'd like to briefly introduce what I'm attempting to do: I'm trying to flash some samples from the Zephyr project into a custom board. The custom board is based on the RAK5010 which is supported by the project and uses nRF52840 as the chipset.

I am capable of building the samples from Zephyr and can see them work on the nRF52840-DK. So regarding setup for compiling and flashing, I believe I'm with the right setup.

The issue that I'm seeing is that when flashing a sample to the custom board, I'm "losing" connection with the USB.

For instance, this is what I have before flashing the "hello world" example:


======================================================
$ ls /dev | grep ttyACM
ttyACM0
ttyACM1
$ ls /dev | grep ttyUSB
$
======================================================

As you can see, there are 2 devices connected: ACM0 is the microusb connection with the board, while ACM1 is the connection done via JTAG.

I cannot flash to the custom board directly without a JTAG, as the tool isn't capable of seeing the board with the nrfjprog --ids command.
However, using the JTAG I can flash and the flash is sucessfull as can be seen in the following logs:

======================================================
Flash output
======================================================
$ west flash --erase
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner nrfjprog
-- runners.nrfjprog: mass erase requested
Using board 59400959
-- runners.nrfjprog: Flashing file: /home/rys/Documents/repositorios/poc_nrf52840/zephyr/build/zephyr/zephyr.hex
Parsing image file.
Erasing user available code and UICR flash areas.
Applying system reset.
Checking that the area to write is not protected.
Programming device.
Enabling pin reset.
Applying pin reset.
-- runners.nrfjprog: Board with serial number 59400959 flashed successfully.
======================================================
Now even though the board has been successfully flashed, I cannot check the logs or anything like that as the device is no longer listed:

======================================================
$ ls /dev | grep ttyACM
ttyACM1
======================================================
As can be seen above, only the connection with the JTAG is detected.
As for what I've tried so far: I checked the device tree file and the pin declaration is matching what I have on the board.
I also tried to flash without the JTAG, but the board is never recognized by the nrfjprog tool during "west flash".
Finally, I tried flashing the blinky sample on the board to see if, at least, I could see the LED blink. If so, then I would know that at least the code is running on the board.
However, even though I'm capable of compiling and flashing successfully to the board (at least according to the logs), I cannot see the LED blink.
Do you have any ideas on how I could proceed into debbuging this matter?
Thanks!
Renato
Parents
  • Hello Renato,

    rys said:
    So I created the overlay that your provided, I had to adjust some parts such as removing the address uart@40002000 from the declaration as it was failing the build. I also disabled bg96, which as you said in the first comment, is related to the modem.

    I’m very sorry for being unclear, but the snippet I provided actually was from the original zephyr.dts, which is automatically generated from the devicetree in ../build/zephyr during compilation.

    Do you have an RAK5010 board available? What happens if you flash the "hello world" application to the device? Does this work or do you get the same issue? I’m asking since I’m thinking it would make sense to find out if this is a software or hardware related issue. 

    rys said:
    So I tried creating an overlay with that change and still nothing.

    Have you checked ../build/zephyr/zephyr.dts after re-building? This is a good way to confirm that the modifications you have made in the overlay file actually are considered.

    Regards,

    Markus

Reply
  • Hello Renato,

    rys said:
    So I created the overlay that your provided, I had to adjust some parts such as removing the address uart@40002000 from the declaration as it was failing the build. I also disabled bg96, which as you said in the first comment, is related to the modem.

    I’m very sorry for being unclear, but the snippet I provided actually was from the original zephyr.dts, which is automatically generated from the devicetree in ../build/zephyr during compilation.

    Do you have an RAK5010 board available? What happens if you flash the "hello world" application to the device? Does this work or do you get the same issue? I’m asking since I’m thinking it would make sense to find out if this is a software or hardware related issue. 

    rys said:
    So I tried creating an overlay with that change and still nothing.

    Have you checked ../build/zephyr/zephyr.dts after re-building? This is a good way to confirm that the modifications you have made in the overlay file actually are considered.

    Regards,

    Markus

Children
  • Hi Markus,

    I’m very sorry for being unclear, but the snippet I provided actually was from the original zephyr.dts, which is automatically generated from the devicetree in ../build/zephyr during compilation.

    Sorry, I'm still new with the device tree concept, I thought that you were talking about the file from the boards/ directory.

    Do you have an RAK5010 board available? What happens if you flash the "hello world" application to the device? Does this work or do you get the same issue? I’m asking since I’m thinking it would make sense to find out if this is a software or hardware related issue. 

    Currently, no. But this point makes sense, I'll try to see whether I can test this, thanks!

    Have you checked ../build/zephyr/zephyr.dts after re-building?

    No, I was unaware of this build artifact. I'll check the docs and the zephyr.dts after re-building to see whether my modifications on the overlay were successful or not.

    Thanks!
    Renato

Related