最近又開了新坑,在學過stm32後,我選擇去學學嵌入式作業系統,就從ucosiii開始好了。
我看的是正點原子ucosiii的課程。
第一節主要是介紹了下裸機跑程式和加作業系統跑程式的區別:
裸機的話,乙個程式可分為前端和後端。後端就是乙個大迴圈,通過乙個死迴圈,不斷的呼叫hadeware裡函式的api,前端就是當有中斷出現,處理中斷就是前端。
加上作業系統的話如下圖
每乙個小任務都是乙個死迴圈,在主函式裡是任務的管理,最後加乙個死迴圈(目前我的理解,區別在於,乙個是用while迴圈調api,另乙個是創造任務,讓任務去調api(剛開始學,這個理解不一定對))。
ucosiii先執行最高優先順序的任務,一級一級向下降,最低執行完後,重複。
為什麼用ucosiii:裸機跑程式,對cpu利用率不高,小的還好,到大的程式,成本高,使用作業系統,可以提高cpu的利用率,降低成本,加快速度,達到實時性(實時性)
ucos的性質:可剪裁(這個目前還不懂),可剝奪:就是可以直接去執行更高優先順序的任務,跳過目前任務到目標任務中間的任務,但是回來的時候要一級一級降(這個不確定),多工(字面意思)。
FPGA學習筆記 正點原子FPGA按鍵消抖筆記
出自正點原子 開拓者fpga開發指南v1.3 第九章按鍵控制蜂鳴器實驗 暫存器 key flag 按鍵資料有效訊號 暫存器 key value 按鍵消抖後的資料 暫存器 delay cnt 延時計數 系統時鐘 50mhz 思路 一直檢測按鍵狀態,一旦按鍵狀態發現變化,給delay cnt計數器賦初值...
正點原子 IMX6ULL學習
啟動檔案.global start 全域性標號 描述 start函式,程式從此函式開始執行,此函式主要功能是設定c 執行環境。start 進入svc模式 mrs r0,cpsr bic r0,r0,0x1f 將r0暫存器中的低5位清零,也就是cpsr的m0 m4 orr r0,r0,0x13 r0或...
正點原子Mini Linux UART串列埠簡單介紹
二 部分例程 uart,也就是非同步序列收發器,使用uart與外界相連最少只要三條線 txd 傳送 rxd 接收 和gnd 地線 uart串列埠的介面電平有ttl和rs 232兩種,在正電原子的這款mini linux開發板上有ch340晶元,可以實現usb和串列埠ttl訊號之間的轉換,這裡用到的是...