原创 freertos源碼解析-3任務和任務創建

任務 任務通常是一個類似以下代碼的一個函數。 void vATaskFunction( void *pvParameters ) { for( ;; ) { /*-- 應用程序代碼放在這裏. --*

原创 20190820 大疆嵌入式 一面 面試經驗

一面 自我介紹 內核移植的具體細節【非常有深度】 DDR3的頻率,帶寬,通道,容量等等 nor flash和nand flash的對比 虛擬地址和物理地址的轉換過程,幾級頁表,頁表基地址,等等 ARM處理器的核心數,工作頻率,位數等等 m

原创 Linux read系統調用的處理過程

轉載:https://www.cnblogs.com/tcicy/p/8454740.html Read 系統調用在用戶空間中的處理過程 當調用發生時,庫函數在保存 read 系統調用號以及參數後,陷入 0x80 中斷。這時庫函數工作結束

原创 freertos源碼解析-5調度器控制

第四章講了調度器和任務切換 調度器和任務切換 爲了保證操作系統和任務安全運行,有時候需要 void vTaskSuspendAll( void ) { /* A critical section is not required

原创 freertos源碼解析-4調度器和任務切換

調度器 調度器就是使用相關的調度算法來選擇任務,並安全切換任務運行的代碼。基本功能:(1)調度器可以區分就緒態任務和掛起任務;(2)調度器可以選擇就緒態中的一個任務,然後激活它;(3)不同調度器之間最大的區別就是如何分配就緒態任務

原创 freertos源碼解析-3任務和任務創建和任務切換

任務 任務通常是一個類似以下代碼的一個函數。 void vATaskFunction( void *pvParameters ) { for( ;; ) { /*-- 應用程序代碼放在這裏. --*

原创 freertos源碼解析-1啓動過程分析

freertos啓動過程分析 啓動過程流程圖 啓動過程完成的事情 1.創建必要的任務:空閒任務和軟件定時器任務(後者可選) 2.初始化系統的全局變量 3.初始化systick中斷 PendSV中斷 SVC中斷 4.啓動調度器 5

原创 freertos源碼解析-2內存管理

內存管理 freertos支持動態分配內存和靜態分配內存 Freertos的內存分配是在portable層中實現,與內核實現分開。目錄:Source/Portable/MemMang 靜態內存管理 特點 對象可以分配在特定