basic scheduling, basic syscall, (added .data copy)
[cortex-from-scratch] / lib / regfunc.c
index 2928694..38bc23a 100644 (file)
@@ -105,11 +105,9 @@ uint32_t hextoreg(char * a) {
  * 0xFFFF * (1/8,000,000) * 3 = 24.58ms 
  * 0xFFFFFFFF * (1/8MHz) * 3 = 1610ms
  * */
-static void __block(uint32_t count) {
+/* static void __block(uint32_t count) {
 
-       asm volatile("b1: subs %0, %1, #1" "\n\t"
-               "bne b1" : "=r" (count) : "r" (count));
-}
+} */
 
 /* Delay us microsecond
  * Note: delay includes setup time (about 4 clockcycles), so is quite
@@ -117,7 +115,9 @@ static void __block(uint32_t count) {
 void _block(uint32_t us) {
        
        uint32_t count = (us/3) * CLKSPEED_MHZ; // x cycles 
-       __block(count);
+       asm volatile("b1: subs %0, %1, #1" "\n\t"
+               "bne b1" : "=r" (count) : "r" (count));
+       //__block(count);
 
 }