diff options
author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-03-08 14:44:13 -0500 |
---|---|---|
committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-03-08 15:50:32 -0500 |
commit | c37972e81501b0e8024b59e98b16c27a85597492 (patch) | |
tree | bf217f10f276e18a40498f10527f4d4aec083968 /libmaple/usb | |
parent | 8863418f0595c8dfd7d01081be941541539827bb (diff) | |
download | librambutan-c37972e81501b0e8024b59e98b16c27a85597492.tar.gz librambutan-c37972e81501b0e8024b59e98b16c27a85597492.zip |
qa-slave-shield.cpp and test-session.cpp fixes for Mini and RET6 Edition.
There's a bit of a hack on the RET6 NR_DAC_PINS: due to the fact that
PA5 is hooked up to the built-in LED and DAC channel 2, I set
NR_DAC_PINS to 0 for the STM32F103RE (in libmaple.h), so that init()
doesn't dac_init() and mess with the LED.
Not too worried about it since this is just a beta board, but we'll
need to fix this in the design for the real version.
Also, BUT should be moved, since it steals Timer 8's channel 4 CC
connection.
Diffstat (limited to 'libmaple/usb')
-rw-r--r-- | libmaple/usb/usb_callbacks.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libmaple/usb/usb_callbacks.c b/libmaple/usb/usb_callbacks.c index ccb0fdd..375d204 100644 --- a/libmaple/usb/usb_callbacks.c +++ b/libmaple/usb/usb_callbacks.c @@ -88,19 +88,19 @@ void vcomDataRxCb(void) { } if (cmpMatch) { - asm volatile("mov r0, %[stack_top] \n\t" // Reset the stack + asm volatile("mov r0, %[stack_top] \n\t" // Reset the stack "mov sp, r0 \n\t" "mov r0, #1 \n\t" "mov r1, %[target_addr] \n\t" "mov r2, %[cpsr] \n\t" - "push {r2} \n\t" // Fake xPSR - "push {r1} \n\t" // Target address for PC - "push {r0} \n\t" // Fake LR - "push {r0} \n\t" // Fake R12 - "push {r0} \n\t" // Fake R3 - "push {r0} \n\t" // Fake R2 - "push {r0} \n\t" // Fake R1 - "push {r0} \n\t" // Fake R0 + "push {r2} \n\t" // Fake xPSR + "push {r1} \n\t" // Target address for PC + "push {r0} \n\t" // Fake LR + "push {r0} \n\t" // Fake R12 + "push {r0} \n\t" // Fake R3 + "push {r0} \n\t" // Fake R2 + "push {r0} \n\t" // Fake R1 + "push {r0} \n\t" // Fake R0 "mov lr, %[exc_return] \n\t" "bx lr" : |