- fix minor issues with PIT timer code
- make new led blinkcode implementation work
git-svn-id: https://svn.openpcd.org:2342/trunk@257 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
- add a comment about this strange fact
- some code cleanup
- add missing 'break' after end of GET_DESCRIPTOR USB_DT_DEVICE
git-svn-id: https://svn.openpcd.org:2342/trunk@253 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
- port debug unit, watchdog timer, periodic interval timer to system_irq.c
git-svn-id: https://svn.openpcd.org:2342/trunk@252 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
- move req_ctx_find_get into ram, since this is frequently used within
interrupt handlers and thus ought to be as fast as possible
- correctly initialize req_ctx size (bugfix!)
git-svn-id: https://svn.openpcd.org:2342/trunk@232 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
- Build UTF-16LE USB String descriptors from ASCII File
- Introduce USB String Descriptor to DFU and runtime firmware
git-svn-id: https://svn.openpcd.org:2342/trunk@227 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
we can now reflash without any buttons or replugging of the device
git-svn-id: https://svn.openpcd.org:2342/trunk@222 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
- add more fine-grained debugging macros in pcd_enumarate.c
- resolve race conditions between main-loop ep_refill and irq-triggered
ep_refill by adding one irq-[b]locking variant
- consolidate endpoint reset code into reset_ep()
- add code to handle correct transmission and reception of usb transfers
larger than endpoint size
- use new jump address (0x104000) in DFU Cstartup.S
- move main_usb to pcd subdirectory
- fix include/compile.h make dependencies
- make usb benchmark code use new large req_ctx
git-svn-id: https://svn.openpcd.org:2342/trunk@219 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
SAM7S128 and SAM7S256 being restricted to 16k lock region size. If we want
to lock the bootloader, it has to be 16k aligned. This wastes a lot of
memory, since a non-debug DFU implementation fits currently into less than
4k. But anyway, we have lots of flexibility for the future given that amount
of space.
- The DFU size change introduces also a change in dfu_api location to 0x103fd0
- Allow GETSTATE and GETSTATUS from runtime mode (optional in DFU spec)
- Make dfu_status a .data.shared variable, since it is used from GETSTATUS
which we already support in runtime mode
- do some led switching while flashing via DFU
- disable all non-usb/dbgu interrupts when switching to DFU mode
- fix interrupt-storm problem when dbgu is used in DFU loader
- add missing linker script for SAM7S128
git-svn-id: https://svn.openpcd.org:2342/trunk@218 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
all the req_ctx state changes from within pcd_handler.c and only expose the
refill_ep() functions.
It's questionable whether we need to keep calling those functions all the time
either. Once kicked off, the tx completion interrupts of the UDC will refill
the pipe as long as there is data available.
So realistically speaking, we'd only need to trigger tx once (and keep
triggering until no EBUSY or other error is signalled anymore). Some form of
state machine would be fine for doing this, one that registers a timer with
the core OS timer (once we have something equivalent to 'struct timer_list'.
git-svn-id: https://svn.openpcd.org:2342/trunk@217 6dc7ffe9-61d6-0310-9af1-9938baff3ed1