Using non-existent pins on smaller package microcontrollers

09 Sep 2013

What happens if I try to use a pin that exists on a larger package of a microcontroller (Like the 64-pin QFP version of the LPC11U24) on a smaller package of the same microcontroller (Like the 32-pin QFP version of the LPC11U24)? I realize of course that the pin will be unusable, but can I count on nothing happening? Here's a example of where this could be useful: I could prototype a product using an LPC11U24 mbed (which has the 64-pin QFP version) and provide a number of debug LEDs on pins that don't exist on the 32-pin QFP version. Then, when I go to production, I could use the exact same code for both boards, only the production board doesn't have any debug LEDs. Another example would be two products, one with more buttons than the other. Could I write the same code for both boards, knowing that on Board A, functions X and Y will never be activated because the pins don't exist?

10 Sep 2013

I guess it should be OK,

I would guess, that the die is the same, and only the appropriate wires are connected to the outside world.

However:

I have some code for 48 pin LPC11U24, that bricks an LPC11U24 MBED !!

But I think that is because my code, uses the Magic chip's I/O lines.

If I can find the project, then I will add some moer info.

Cheers

Ceri

10 Sep 2013

I agree with ceri that it shouldn't be a problem.

Regarding code that bricks the LPC11U24 mbed, doesn't it 'unbrick' in the normal way then? So keep reset pressed while connecting the mbed to your computer, remove all bin files, release reset button? Then user code should not be able to start since the 11u24 should be kept in reset.

10 Sep 2013

ceri clatworthy wrote:

I guess it should be OK,

I would guess, that the die is the same, and only the appropriate wires are connected to the outside world.

However:

I have some code for 48 pin LPC11U24, that bricks an LPC11U24 MBED !!

But I think that is because my code, uses the Magic chip's I/O lines.

If I can find the project, then I will add some moer info.

Cheers

Ceri

That's what I thought, but the manual states that the GPIO-related registers for unavailable pins are reserved, whatever that means. I wrote a simple test app that toggles P1_20, and it didn't seem to break anything on the 32-pin QFN... As for the "Magic chip's I/O lines", coincidentally I'm also reusing the SWD pins and even the RESET pin on my target board. I've just been VERY careful about not running that code on an actual mbed. I'm using the RESET pin to generate a Power-on-Reset signal for devices that need it (Like my SSD1306-based OLED display), and then converting it back to an input right away. That way I can still reset the board, it's only an output for 1ms.