diff --git a/platformio.ini b/platformio.ini index 522db27..b0874a4 100644 --- a/platformio.ini +++ b/platformio.ini @@ -17,7 +17,7 @@ upload_protocol = stlink ; 1.80201.181220 ; 921kb/sec ; 1.90201.191206 ; 912kb/sec ; 1.90301.200702 ; default - 955kb/sec -platform_packages = toolchain-gccarmnoneeabi@1.60301.0 +platform_packages = toolchain-gccarmnoneeabi build_unflags = -Os diff --git a/src/BlueSCSI.cpp b/src/BlueSCSI.cpp index 3b5a5a7..bfce7b0 100644 --- a/src/BlueSCSI.cpp +++ b/src/BlueSCSI.cpp @@ -857,7 +857,7 @@ void readDataPhase(int len, byte* p) /* * See writeDataLoop for optimization info. */ -void readDataLoop(uint32_t blockSize) __attribute__ ((aligned(8))); +void readDataLoop(uint32_t blockSize) __attribute__ ((aligned(16))); void readDataLoop(uint32_t blockSize) { register byte *dstptr= m_buf; @@ -878,7 +878,7 @@ void readDataLoop(uint32_t blockSize) REQ_OFF(); *dstptr++ = ~(ret >> 8); // Move wait loop in to a single 8 byte prefetch buffer - asm("nop.w"); + asm("nop.w;nop"); WAIT_ACK_INACTIVE(); REQ_ON(); // Extra 1 cycle delay