原创 FreeRTOS --(13)任務管理之空閒任務

創建完畢任務,啓動調度器,任務控制,系統 SysTick 來臨後判斷是否需上下文切換; 如果沒有其他任務執行的情況下,FreeRTOS 的 Idle 任務將被調度投入運行; 在啓動調度器的時候,Idle 任務就被創建了,優先級爲最低 0;

原创 FreeRTOS --(12)任務管理之任務切換

現在創建任務(xTaskCreate)、啓動調度器(vTaskStartScheduler),任務控制(xTaskDelay),以及Tick 中斷(xPortSysTickHandler),都分析完成了,SysTick,PendSV 中斷

原创 FreeRTOS --(11)任務管理之系統節拍

前面有了創建任務、啓動調度器、任務控制,接下來便開始分析一個 Tick 到來之後,FreeRTOS 即將有什麼行爲; 在啓動調度器的時候,就已經配置好了 SysTick,它作爲 OS 的心跳,每隔一個固定週期來一次 SysTick 中斷

原创 FPGA 靜態時序分析 STA(概念篇)

目錄 1、背景知識介紹: 1.1 啓動沿(launch)和鎖存沿(latch): 1.2 建立(setup)和保持(hold)時間​ 1.3 數據到達時間(DAT:Data Arrival Time) 1.4 數據建立需要時間(DRTsu

原创 AMBA 系列之 APB 協議

目錄 1、簡介 2、端口說明(Ports) 3、狀態機(FSM) 4、傳輸時序(Timing) 4.1、Write 4.1.1、Write transfer with no wait states 4.1.2、Write transfer

原创 ZYNQ 簡介

傳統的嵌入式集成電路應用級芯片常見的 DSP,ARM,PowerPC,MIPS, FPGA 等,FPGA 有靈活性好,資源豐富,可反覆編程(Programmable)速度快(並行)的優勢。在以往的應用中,常有場景需要使用 ARM 作爲主控

原创 FreeRTOS --(0)簡介

FreeRTOS 是一個嵌入式實時操作系統,具有相對(相對 Linux、Windows等)較小的體積,使用精簡的代碼實現了簡單的進程調度,內存管理,消息發送,等,常常用在一些需要支持多任務的 MCU 上; 在沒有 RTOS 的嵌入式小系統

原创 XILINX BMG (Block Memory Generator)

目錄 1、BRAM 簡介 2、Block Memory Generator Feature 2.1 Type 2.1.0、Signals Descriptions 2.1.1、Single-port RAM 2.1.2、Simple Du

原创 FreeRTOS --(5)內存管理 heap4

目錄 1、內存大小 2、對齊 3、內存塊 4、內存初始化 5、內存分配 6、內存釋放 6.1、合併   FreeRTOS 中的 heap 4 內存管理,可以算是 heap 2 的增強版本,在 《FreeRTOS --(3)內存管理 hea

原创 XILINX FPGA 7系之 Shift Register

目錄 一、移位寄存器 二、 移位寄存器的功能與應用 三、XILINX FPGA 中 LUT 中移位寄存器的複用情況   一、移位寄存器 SLICEM 函數發生器也可以配置爲32位移位寄存器,而無需使用 slice 中可用的觸發器。 以這種

原创 FreeRTOS --(4)內存管理 heap3

heap3 來說,是直接使用了 malloc 和 free 來直接替代自己的策略: 分配內存如下所示: void *pvPortMalloc( size_t xWantedSize ) { void *pvReturn; vTask

原创 XILINX FPGA 7系之 CLB/LUT/FF/Multiplexers

目錄 1、CLB 2、Slice 2.1、SLICEM 2.2、SLICEL 2.3、SLICEL Vs SLICEM 3、LUT 4、FF 5、Multiplexers 5.1、MUX(4:1 ) 5.2、MUX(8:1 ) 5.3、M

原创 FreeRTOS --(6)內存管理 heap5

FreeRTOS 中的 heap 5 內存管理,相對於 heap 4《FreeRTOS --(5)內存管理 heap4》 只增加了對非連續內存區域的管理,什麼叫非連續區域內存呢?比如一款芯片,它即支持了內部的 RAM,也支持了外掛 RAM

原创 FreeRTOS --(9)任務管理之啓動調度器

目錄 1、vTaskStartScheduler 2、xPortStartScheduler 3、vPortSetupTimerInterrupt 4、prvStartFirstTask 5、vPortSVCHandler   在使用 F

原创 FreeRTOS --(1)鏈表

Based On FreeRTOS Kernel V10.3.1 1、相關文件 鏈表結構是 OS 內部經常使用到的,FreeRTOS 自然也不例外,在深入分析各個模塊的工作原理之前,首先來分析 FreeRTOS 的鏈表結構,和鏈表相關的代