1、在github上,fork例程專案( 到自己的個人賬號。
2、clone專案到本地電腦的ubuntu虛擬機器中(虛擬機器環境在第一次作業中已搭建)。
開發環境搭建同第一次:
3、按照/projects/demo1/readme.md中的提示編譯demo1例程並通過qemu執行例程。
(3)測試qemu能否正常執行,如正常則會顯示版本資訊為2.8.0。
(4)在demo1目錄下執行make,生成hello_rtos.elf檔案
(5)在demo1目錄下執行指令碼檔案,在彈出的gui中看到程式執行的效果。
(6)安裝gdb-arm-none-eabi工具
(7)在demo1目錄下執行qemu_gdb指令碼檔案,該檔案中新增了--gdb tcp::1234 -s
qemu啟動後等待來自gdb的除錯指令,開啟另外乙個終端視窗,執行
在gdb介面內執行:
(gdb)target remote localhost:1234
(gdb)continue
可以看到qemu開始執行程式,gui介面上可以看到程式執行效果:
4、在demo1的框架基礎上完成自己的本次程式設計作業
具體要求:
建立三個任務:sender_task,receiver_task, monitor_task
sender_task的任務執行週期為2ms,receiver_task的任務執行週期為1000ms, monitor_task的任務執行週期為10000ms。
sender_task在每個執行週期向receiver_task傳送乙個32位無符號整數,第一次傳送1,然後依次傳送2,3,4......,傳送完10000後再從1開始傳送。同時對傳送的資料進行計算 累加計算並儲存當前累加結果。
receiver_task對接收到的資料進行和sender_task同樣的累加計算並儲存當前累加結果。
monitor_task在每個執行週期檢查sender_task傳送的每個資料是否都被receiver_task正確的接收和處理,請自行設計一種檢查機制並實現。
可利用stm32f429i discovery開發板的相關硬體(led/lcd/串列埠)來輸出相關狀態資訊。
使用freertos的任務間通訊和同步api完成上述功能。
也不知道為啥,結果好像不對,我已經崩潰了。。。。。
我在github上直接在倉庫上upload上傳main.c檔案,如圖可見:
第二次作業
execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...
第二次作業
第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...
第二次作業
檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...