第二次作業U201410699趙巨集偉

2022-09-13 20:18:17 字數 2035 閱讀 7685

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萬。他想買這套房子,多大的 率能夠忍受...