Skip to content

RP2350B, pins on IO block 1 deadlock library #80

@spit4520

Description

@spit4520

Hi Kevin,

First off, great library! Thank you for all of your efforts :)

We were trying to use CAN on pins 38, 39 and assign to PIO 2, but the program enters a deadlock condition after we launch CAN. After reviewing the source code, I think there might be an issue related to the register manipulate for the SIO or the pad.

There are a lot of specific implementation details I would have to work through to determine what is going on with the register assembly, so I figured I would open up a ticket while I try and debug what is going on.

What steps did I do to rule out hardware?

  • Same code, same circuit, just using GPIO's under 32 and PIO 0.
  • Code + hardware worked as expected
  • Tried different pins at or above GPIO 32 with consistent results

What haven't I tested?

  • I have not extensively ruled out PIO 2 as a part of the problem, I think PIO 2 is probably fine, but I am including it in the problem statement.

@KevinOConnor is there a reason that you aren't using the PICO-SDK's functions for SM initialization and GPIO configuration? I understand why you might want to handle them directly, if you can lay out your design goals for the library I can submit a PR to hopefully help patch some of this :)

Thank you again for publishing this library, you are what makes Open Source awesome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions