Assuming you leave them be (no connections to Vcc/Gnd), is there any difference at all between making the pins outputs, and making them inputs with pull-ups enabled?
Leave them be. If the pin is connected to GND and you accidentally configure it as an output and set it HIGH, you've fried the processor. If the pin is connected to GND and you accidentally enable the internal pull-up, you're wasting electricity. If the pin is connected to VCC and you accidentally configure it as an output and set it LOW, you've fried the processor.Ideally, you will configure the unconnected pins as inputs with the internal pull-up resistor enabled.
Ideally, you will configure the unconnected pins as inputs with the internal pull-up resistor enabled.
Ideally you would just leave them as Atmel does, in their default condition.
13.2.6 Unconnected PinsIf some pins are unused, it is recommended to ensure that these pins have a defined level. Even though most of the digital inputs are disabled in the deep sleep modes as described above, floating inputs should be avoided to reduce current consumption in all other modes where the digital inputs are enabled (Reset, Active mode and Idle mode).The simplest method to ensure a defined level of an unused pin, is to enable the internal pull-up. In this case, the pull-up will be disabled during reset. If low power consumption during reset is important, it is recommended to use an external pull-up or pull-down. Connecting unused pins directly to VCC or GND is not recommended, since this may cause excessive currents if the pin is accidentally configured as an output.
Or even more ideal, follow Atmel's guideline for unconnected pins...
So we agree that when he designs his board he just leaves the pins unconnected
or better yet brings them out to an accessible pad
The enabling of the internal pull-ups could be done, if desired, by any program when the board is actually used.
This enabling would have to be part of each individual program since the enabling is undone at every reset.