Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README improvements: Notes from old documentation #10

Open
phillipjohnston opened this issue Nov 21, 2019 · 0 comments
Open

README improvements: Notes from old documentation #10

phillipjohnston opened this issue Nov 21, 2019 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@phillipjohnston
Copy link
Member

This behavior is real: document it

  • NOTE: We could support instant booting if there was a watchdog reset by checking for that. That way reset is instant but reprogram waits.

Development notes for contributing guide:

  • NOTE: stk500v2 bootloader only needs avrinterruptname.h and avr_cpunames.h if you want to build the monitor
  • NOTE: stk500v2 defines the mcu signature bytes with a comment about that at line ~280. But the are defined also in the includes from <avr/io.h>. Look into it.
  • NOTE: The tablejump instructions use the LPM assembler instruction for access to jump tables. Always use -fno-jump-tables switch, if compiling a bootloader for devices with more than 64 KB of code memory.
    (http://www.nongnu.org/avr-libc/user-manual/using_tools.html)

Converting "sketches" to the right format (ELF SPECIFIC INSTRUCTIONS)

The bootloader accepts raw binary images, starting at address 0x0000.
These can be generated using avr-objcopy, part of WinAVR / AVR-GCC, using the
"-O binary" option.
Example: avr-objcopy -j .text -j .data -O binary [app].elf [app].bin

Flash codes:

  • Rapid blinking: Ethernet bootloader is running.
  • Slow fading: Test application is running.

The bootloader waits for 5 seconds to be flashed. If the board is programmed
after the 5 seconds the bootloader will timeout and start the user application.
Otherwise it will restart the 5 second timeout.

Debugging:

By default the debug interface is disabled. To enable it uncomment the "_DEBUG"
defines in debug.h for the subsystem you want. For any of them to work the plain
"_DEBUG" should be enabled. After flashing the bootloader, helpful messages
will be outputted to the serial port of the Arduino board at 115200 bps speed.
If debugging is enabled the binary image validations are disabled because the
the test applications do not conform with the validation statements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Development

No branches or pull requests

1 participant