hw7 (A) 
 

request

  • 安裝和設定 QEMU
  • 依據指示,將 00-Semihosting, 00-HelloWorld, …, 07-Threads 均實際測試並研讀程式碼
  • 在 github 上 fork mini-arm-os,並修改 07-Threads (不要增加新的目錄!),提供基本的 shell,然後能夠用新建立的 thread 計算 fibonacci 數列
  • shell 程式碼可參照 rtenv+ 的 main.c,裡頭提供 shell 實做
  • 建立新的 Hackpad,列於「+作業區」,需要標注「開發紀錄 (A)」
 

Add fib to thread

  • 照著以上指示之後,一直沒辦法下make qemu指令 (得到error) @@
  • 再參考其他同學的hackpad之後發現是需要新增path (/home/jingfei/qemu_stm32/arm-softmmu)
  • I use extern void just as hw1 and to_fib to fibonacci function.
  • Add print_int function to print int.
void to_fib(void *userdata){
    int *n = (int *) userdata;
    print_str("The fibonacci sequence at ");
    print_int(*n);
    print_str(" is ");
    print_int(fibonacci(*n));
    print_str("\n");
}
  • but it always has link error, I can't find the problem QAQ
  • Because of memery, it can only run three threads (stack doesn't enough memory) @@