1
0
mirror of https://github.com/Optiboot/optiboot.git synced 2025-09-03 00:41:12 +03:00
Commit Graph

164 Commits

Author SHA1 Message Date
WestfW
e9af37fef0 Bumb to Version 8.0: add DO_SPM code
This is not quite the same as MCUdude's code, but it has the same
calling conventions.  This version doesn't use do_spm from the bootloading
code itself, since that recently went to some effort to use more of
the standardized boot.h calls.  That means that this code is a bit
bigger than it really needs to be.  (Still small enough to fit within
the 512byte limit, given recent compilers.)
Sadly, the compiler options that barely fit SUPPORT_EEPROM in 512bytes
are incompatible with DO_SPM, so you have to choose.  Since do_spm was
supported by the MCUDude platforms, and not 512byte version of optiboot
has ever supported EEPROM, the do_spm code wins, for backward compatibility!

Also standardize the "makeall" shell script names, and update the release script.
2018-09-20 01:19:15 -07:00
Bill Westfield
b10ce15298 Merge pull request #246 from majekw/travis-4
Travis-CI: targets update, compilation matrix with sizes, documentation
2018-09-15 03:56:30 -04:00
WestfW
20a79ce310 Add code and comment about resetting watchdog.
Which is needed if the bootloader will be invoked by the
sketch as a service ('J' command.)
2018-09-14 02:48:09 -07:00
Bill Westfield
e0f998df41 Merge pull request #249 from Mm7/master
Fix baud rate setting for single speed mode
2018-09-05 01:35:10 -04:00
Marco Milanese
97ae2a52f4 Fix baud rate setting for single speed mode
Baud rate is calculated using the hardcoded formula:
	( (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 )
While this is correct for double speed mode, this value is wrong
for single speed mode and leads to corrupted communications.

The issue is fixed by reusing the BAUD_SETTING value.
2018-09-04 14:10:11 +02:00
Bill Westfield
9b8e1f9a8b Merge pull request #248 from majekw/appstart
Save 2-6 bytes on appStart function.
2018-08-19 02:42:05 -07:00
majekw
bf652ba9c0 Save 2-6 bytes on appStart function.
2 bytes on moving code out of function (saves one rcall),
0-4 bytes on using rjmp/jmp instead of ijmp (depends on target).
2018-08-17 17:03:20 +02:00
majekw
66fdd11ebb Travis-CI: targets update, compilation matrix with sizes, documentation 2018-08-17 02:22:32 +02:00
WestfW
862e9dd5e8 Help Text for tinyxx7 7.0-180815 2018-08-14 21:43:19 -07:00
WestfW
d8f209a544 Add ATtiny87 base (untested) 2018-08-14 21:38:42 -07:00
WestfW
2fd356ff5d Add basic ATtiny167 support. (LIN UART) 2018-08-14 19:45:20 -07:00
WestfW
1f961dfb93 Fix comments 2018-08-07 13:12:58 -07:00
WestfW
b263cada08 Merge in the MCUdude platforms. Don't do baudcheck, and don't warn
about moderate baud errors, if PRODUCTION is set.  (this reduces
clutter in the output and should make things a bit quicker.
developers are supposed to check all the warnings prior to setting
PRODUCTION)
2018-08-07 02:09:01 -07:00
WestfW
4eb02969bc __wr_spmcsr was wrong for cpus where it was out of the io space. 2018-08-07 01:56:21 -07:00
WestfW
a70f090eb9 Add make help for AVR_FREQ and SINGLESPEED 2018-08-05 18:55:59 -07:00
WestfW
b30d32e152 Finish SINGLESPEED option support 2018-08-05 18:51:42 -07:00
WestfW
ee87d274df More ATtiny fixes. optiboot.c needed the FOURPAGEEASE stuff.
Add ATtiny828, fix some errors in Makefile.tiny.
Make "attiny84" actually a compileable target.
Actually test on live ATtiny84 and ATtiny1634 chips!
2018-08-05 02:42:23 -07:00
WestfW
57bb015c48 Add ATtiny1634 and ATtiny841, via Makefile.tiny
These are the non-LIN based tinys,
based on https://github.com/SpenceKonde/ATTinyCore/
(Except: segregate and modernize the make instructions!)
2018-08-04 03:08:32 -07:00
WestfW
8eb696369a Add build info to BIGBOOT images. Fix some minor bugs. 2018-08-03 17:06:24 -07:00
WestfW
9b83da3489 Update some .hex/.lst files to v7, delete some others
as per https://github.com/Optiboot/optiboot/issues/78
2018-07-30 23:02:59 -07:00
WestfW
0eb655a0fb Reorganize Makefiles slightly; implement "make help"
Make things reasonably self-documenting.
Group related options together (LED, COMM, extra features.)
Group similar targets together.  Or less randomly, anyway.
2018-07-29 01:35:54 -07:00
WestfW
565a9b6bbc Include a version number in the .zip file name. 2018-07-27 22:30:58 -07:00
WestfW
ea848cfc33 Add makeoptions to test various compile options.
Remove use of "error" in Baudcheck not-quite errors, to make searching test logs for actual errors easier.
2018-07-27 22:29:20 -07:00
WestfW
a97ae13cc4 Better error checking for LED values.
Make formatting prettier and easier to modify.
7.0 v7.0
2018-07-27 01:23:28 -07:00
Bill Westfield
70bd967c3c Fix some problems with the AtmelStudio Build capability.
Handle recursive Makes, copy the .hex and .lst in the right direction
2018-07-26 20:12:10 -07:00
WestfW
5e0a6a0031 Fix recursive Makes from Atmel Studios on Win64
Apparently $(MAKE) expanding to something containing "(x86)" is bad!
2018-07-26 02:13:08 -07:00
WestfW
34c1d2f6ed Makefile options can be set to zero to leave them off.
https://github.com/Optiboot/optiboot/issues/83
2018-07-26 01:46:48 -07:00
WestfW
a2e1f3b69f Update (and fix) the chaucer* sketches (for testing big uploads.)
update progmem usage (const char instead of prog_char)
use pgm_read_byte_far() where needed.
reset counter i in between segments when printing.
2018-07-25 23:04:59 -07:00
WestfW
5803649901 More options for testing RESET/MCUSR behavior 2018-07-25 00:39:37 -07:00
WestfW
b109eb2615 Check for incoming UART data in ledBlink.
Improves reliability, especially with larger LED_START_FLASHES values.
2018-07-24 18:12:31 -07:00
WestfW
808d68513b Use boot_opt.h instead of boot.h
boot_opt.h includes the standard boot.h, defining only the few _short
versions that optiboot needs.  It also makes these compile-time compatible
with targets that do NOT have SPMCSR accessible with the OUT instruction
(this edit causes no binary changes to any of the makeall targets)
2018-07-24 15:46:45 -07:00
WestfW
c8d7b03d78 Spelling fix. 2018-07-24 01:41:07 -07:00
WestfW
a50f47b8ac Version 7.0
(Finally) commit the MarkG55/majekw mcusr patches.
Optimize a bit by implementing a union for the
 various 16bit address values used (based on
 observation by "aweatherguy", but different.)
Slightly optimize math in VIRTUAL_BOOT code
Add some virboot targets, fix some fuses.
Implement LED_START_ON; less code than flashes

"atmega328 SUPPORT_EEPROM=1 LED_START_FLASHES=0 LED_START_ON=1"
now fits (barely) in 512 bytes.
2018-07-24 00:40:48 -07:00
WestfW
9e7396e1f9 More test content: .hex file with pages of 0xFF's, eeprom data, eeprom test sketch, and improved reset test sketch 2018-07-24 00:24:13 -07:00
WestfW
2b4e9d40ac Add SUPPORT_EEPROM make option, virboot8 target
Fix the virboot328 targets.
2018-07-22 23:21:51 -07:00
WestfW
8fdda0b256 This .hex file contains large blocks of 0xFF in the middle, and at the end.
It's used to check whether avrdude is optimizing away the upload of these "ersased" pages.
2018-07-19 01:59:34 -07:00
WestfW
1c94ee2f2f Merge branch 'master' of https://github.com/Optiboot/optiboot 2018-07-19 00:34:44 -07:00
WestfW
bb41e8f844 Fix BIGBOOT start address on m328.
change unused bits of EFUSE of m328 to ones.
2018-07-19 00:33:32 -07:00
Bill Westfield
3c6446f7b1 Merge pull request #212 from majekw/travis
Add support for test compilation using Travis-CI
2018-07-16 19:40:05 -07:00
WestfW
31cd92f1c9 It turns out that the "-nostdlib" switch that we've been using
has been unncessary for quite a long time.  It turns out that if
we don't call and stdlib functions, then no stdlib bloat gets
added (duh.)  Thanks to matthijskooijman for finally noticing this.
It fixes bugs related to using the EEPROM functions (from stdlib)
in spite of library name changes between compiler versions.
(Now compiles with gcc 3.4.x though gcc 5.2.x, AFAICT.)
https://github.com/Optiboot/optiboot/issues/233
https://github.com/Optiboot/optiboot/issues/177
2018-07-08 19:48:34 -07:00
WestfW
b70f830785 Update comments in test_reset sketch 2018-07-08 00:55:10 -07:00
Bill Westfield
ee098cb7ee Merge pull request #159 from majekw/m2560
Add generic support for devices with more than 128KB flash, and atmega2560
2018-07-07 20:49:57 -07:00
WestfW
29bca68f13 Fixes for 64bit windows. In particular, shorten all the directory names added to the path to the 8.3 format, so they don't contain inconvenient characters like "()" that break the way cmd.exe parses commmand lines. 2017-12-12 01:02:44 -08:00
WestfW
18547280a5 Merge branch 'master' of https://github.com/WestfW/optiboot 2017-12-09 18:15:59 -08:00
WestfW
46948cbf40 Update windows omake.bat to use fancy "search for avr-gcc" algorithms from https://github.com/WestfW/Arduino-avr-tools-install 2017-12-09 18:10:20 -08:00
majekw
808bc45b53 New Arduino version (1.8.5) and small 'echo' fix. 2017-10-12 11:41:03 +02:00
majekw
b284cf74c4 Arduino 1.8.4 is out 2017-09-15 10:15:19 +02:00
majekw
8e7c9f225a Fix for spoiling Travis cache 2017-06-21 22:31:33 +02:00
majekw
53aa364c67 Don't use --ignore-missing in md5sum because it's too new for Travis 2017-06-21 21:09:19 +02:00
majekw
f69900ea8c Add support for test compilation using Travis-CI
This is very basic support, it compiles Optiboot using
avr-tools only from one Arduino version, currently 1.6.9.
Attiny84 is in 'allow_failures' as it currently doesn't
compile on any version of tools.
2017-06-21 14:37:40 +02:00