Would love to…what tool are you using to produce the .elf files? Not the Arduino compliler?
The compiler produces them anyway. To find out the pathname hold down Shift and click the Verify button (top left). Then copy and paste the file name.
… this type of simplification is ‘acceptable’…until one starts doing real work.
You are implying that something like:
PORTD |= B10000000
… is somehow more real than:
digitalWrite (7, HIGH);
I submit that the latter is easier to maintain in the future, and personally I write with a view to re-using my code later on, and having other people understand it.
The digitalWrite version is “real” and would be acceptable in all cases but the extreme ones where you are hitting speed limitations of the hardware. Sometimes this happens, I admit. As an example, a RFID security system I developed is supposed to unlock a door reasonably promptly after you present the correct card. Microsecond speed improvements are not required. So my “simpler” solution is easier to maintain, and just as real.
I don’t shy away from port manipulation when the library doesn’t support something I want to do.
For example, on this page:
I have this line:
TWAR = (MY_ADDRESS << 1) | 1; // enable broadcasts to be received
and this one:
TWBR = 12;
That’s because those functions were not supported by the library. But for the rest, using pinMode, and digitalWrite worked perfectly well, and were easier to follow later on.