summaryrefslogtreecommitdiffstats
path: root/firmware/main.c
Commit message (Collapse)AuthorAgeFilesLines
* firmware: style fix - use spaces for indentationBluebie2013-12-171-18/+18
|
* Release notes, hex files and readmecpldcpu2013-12-151-2/+3
|
* more cleaning upcpldcpu2013-12-151-29/+8
|
* Source clean upcpldcpu2013-12-071-140/+40
| | | | | | -inlining all function that are only called once -sei/cli without memory barrier - size optimizations
* custom crt, remove tiny85flashinit, UNTESTEDcpldcpu2013-12-061-4/+5
|
* removed redundant code - untestedcpldcpu2013-12-011-34/+20
|
* Move Usbinit, using wdt nowcpldcpu2013-11-271-3/+9
| | | | make micronucleus more similar to littlewire
* update version numbercpldcpu2013-11-251-3/+3
|
* clean up, added LED, NO USB exit delaycpldcpu2013-11-251-34/+32
| | | | | | | Work towards v1.10 - Clean up bootloaderconfig.h - Included option for LED - Included second timout if no USB connected
* minorcpldcpu2013-11-181-6/+8
|
* Dont wait for writes - CPU is halted anyways.cpldcpu2013-11-181-2/+3
|
* Freebie: Removed unused code for 6 byte gaincpldcpu2013-11-041-19/+1
|
* Updated USB Driver, nanite, oscalcpldcpu2013-11-041-14/+21
|
* Bugfixes to make micronucleus reentrantcpldcpu2013-10-251-0/+3
|
* Revert changes to writeFlashPage()cpldcpu2013-10-251-24/+28
| | | | | | Revert changes to writeFlashPage() - the changes introduced some inconsistency and only saved 4 bytes anyways. This version is verified and works.
* tiny85FlashInit(); only checks on byte nowcpldcpu2013-10-091-5/+2
| | | | 20 bytes less
* moved vector functions to writeFlashPage(), fixed RESTORE_OSCCALcpldcpu2013-10-091-22/+25
|
* Reduce accesses to global variable idlePollscpldcpu2013-10-071-1/+0
| | | | saves 8 bytes
* Do modulo only on lower byte - saves 24 bytescpldcpu2013-10-071-3/+28
| | | | | | | | | | | | | | | | | | | | GCC generated some quite weird code from the module operations. Although highly optimized, most of the instructions are redundant. Is this a bug? The current solution is a bit hacky, but should also work when the pages size is changed in future devices. uchar isLast = (((currentAddress&0xff) % SPM_PAGESIZE) == 0); 1e02: 80 91 69 00 lds r24, 0x0069 1e06: 90 91 6a 00 lds r25, 0x006A 1e0a: 8f 73 andi r24, 0x3F ; 63 1e0c: 99 27 eor r25, r25 // definitely need this if! seems usbFunctionWrite gets called again in future usbPoll's in the runloop! if (isLast) fireEvent(EVENT_WRITE_PAGE); // ask runloop to write our page 1e0e: 89 2b or r24, r25 1e10: 39 f0 breq .+14 ; 0x1e20 <main+0x1ee> 1e12: 0d c0 rjmp .+26 ; 0x1e2e <main+0x1fc>
* Use delay routines without NOP padding. this saves 16 bytescpldcpu2013-10-071-0/+3
|
* A single write is sufficient to invalidate magic word - saves 4 bytescpldcpu2013-10-071-2/+2
|
* Use a local pointer in eraseApplicatoin() - saves 18 Bytescpldcpu2013-10-071-9/+8
|
* some small mistakes I noticed while going through the code with a ↵Louis Beaudoin2013-06-061-1/+1
| | | | | | | | | | fine-toothed comb: main.c - POSTSCRIPT_SIZE should be 6, not 4, now that there's a word to store OSCCAL micronucleus_lib.c - bcdUSB referring to USB Spec 1.1 is used, instead of bcdDevice, referring to the device release number
* fix interrupt enable during application erase (via andihofmeister)Bluebie2013-05-261-3/+7
|
* Firmware & Upgrade: Released 1.06! yet to add -jumper release tho. Fixes ↵Bluebie2013-03-041-6/+12
| | | | clock speed thing - always starts at 16.5mhz now!
* firmware: added osccal store and retrieve code, untestedBluebie2013-03-041-6/+11
|
* remove a little pointless code..Bluebie2013-02-081-1/+1
|
* revert timing to be like 1.02 - 5 sec wait, 8ms write delayBluebie2013-02-081-2/+2
|
* Firmware Release! 1.04 is now out.Bluebie2012-10-051-1/+1
|
* Reduced default WRITE_SLEEP value from 8 to 6, for 25% faster writing and ↵Bluebie2012-10-051-1/+1
| | | | erasing
* Added low power mode, for chips which need to start with clkdiv8 and only ↵Bluebie2012-10-041-1/+30
| | | | switch to 16.5mhz when usb connection is detected somehow.
* idle polls now resets on any usb request, so you can hold on to the ↵Jenna Fox2012-10-031-8/+12
| | | | bootloader by polling it with info requests. a couple times per second.
* Cleaning up some comments and old references to previous µBoot name.Jenna Fox2012-09-301-12/+14
|
* simplified some code, shaving off a few bytesJenna Fox2012-09-301-7/+12
|
* Remove finish flash writes method, brings code down to 2090 bytes = 33 pages ↵Jenna Fox2012-09-301-25/+16
| | | | = 2.062kb in avr-gcc 4.3.3
* remove writeLengthJenna Fox2012-09-301-4/+5
|
* Fixed severe bug in microboot.rb where final 64 byte chunk of user program ↵Jenna Fox2012-09-271-1/+2
| | | | wouldn't upload correctly
* More commentsJenna Fox2012-09-271-4/+5
|
* Adding more comments mostly - no functional changesJenna Fox2012-09-261-2/+5
|
* Added check to make sure BOOTLOADER_ADDRESS aligns with SPM_PAGESIZEJenna Fox2012-09-261-0/+5
|
* More comments for firmware/main.cJenna Fox2012-09-251-4/+16
|
* Switched to new digistump vid/pid, removed string manufacturer and product ↵Jenna Fox2012-09-251-12/+20
| | | | | | name to try shave some more bytes off also adding better comments to firmware/main.c for future hackers
* Crammed bootloader up against the edge while keeping it aligned to a page (I ↵Jenna Fox2012-09-251-24/+36
| | | | hope!)
* Making progress fixing issue where it never properly erases first pageJenna Fox2012-09-241-6/+20
|
* revert damn you!Jenna Fox2012-09-241-20/+16
|
* get rid of writeLength variable, free up another 32 bytes for user program ↵Jenna Fox2012-09-241-16/+20
| | | | space, make the finish mechanism more sensible
* Trying to bring in lous' eraseApplication mechanism.Jenna Fox2012-09-241-12/+20
|
* Added hex file supportJenna Fox2012-09-241-2/+2
|
* remove redundant UBOOT_VERSION part of :get_info usb functionJenna Fox2012-09-241-9/+9
|
* remove reference to my debug LEDJenna Fox2012-09-241-27/+3
|