女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Zynq SoC上開始使用FreeRTOS

OpenFPGA ? 來源: OpenFPGA ? 2023-10-18 09:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ZYNQ上運行FreeRTOS

該項目演示如何在 Zynq SoC 上開始使用 FreeRTOS。

介紹

AMD Zynq SoC 器件將典型 FPGA 的可編程邏輯結構和 ARM 處理器內核提供的處理能力組合到單個芯片中,可用作構建各種嵌入式系統應用的平臺??梢栽?PL 中設計專用邏輯結構來處理計算密集型任務,而 PS 可以控制 PL 并提供用戶應用程序。

wKgaomUvOJuAQGCwAAPmDVWtoRk731.jpg

內窺鏡就是可以利用這種功能的產品的一個例子。視頻鏈在 PL 中實現,處理來自攝像頭的圖像信號,并提供視頻保存、分辨率更改、色彩校正等額外功能。然后可以將處理后的視頻發送到顯示接收器。

在本教程中,將展示如何在 Zynq PS 中在 FreeRTOS 內核上運行應用程序。

FreeRTOS 實時操作系統

在了解什么是 FreeRTOS 之前,我們先來看看開發嵌入式系統的三種方式:

wKgZomUvOJuAShMwAAX_-NEmDyM807.jpg

三種方法的區別在于軟件部分的開發方式。軟件可以分為用戶空間(應用程序所在的位置)和內核空間(驅動程序和庫所在的位置)。軟件的大小從裸機到嵌入式操作系統遞增。

FreeRTOS 是一款專用于實時應用程序的開源操作系統。它們提供了可以構建應用程序的內核空間。開發人員能夠定制 FreeRTOS 內核,允許構建具有實時約束的應用程序。不適合 RTOS 的應用程序的一個示例是運行成熟的 GUI。

接下來讓我們深入了解如何在 Zynq PS 上設置 FreeRTOS。

Vivado 中的硬件設計

打開Vivado并在新創建的block design中添加Zynq PS。

wKgZomUvOJuAXgnYAACyriK4PRQ335.jpg

在PS中自定義外設,我們這里主要注意添加 UART 外設。其他諸如GPIO、SD0、USB0 等按照自己的硬件啟用。

wKgaomUvOJuAGciaAAMqKr3n6sE573.jpg

保存并驗證設計。然后創建 HDL wrapper、生成輸出產品并生成比特流。將硬件平臺信息導出為 XSA。

wKgZomUvOJuAJJ8iAAFlNSOeBnU754.jpg

Vitis 軟件開發

啟動 Vitis IDE,并使用 XSA 創建一個新的平臺項目。選擇 freeRTOS 內核作為操作系統。

wKgaomUvOJuAbgUzAAJTDAUmKGI378.jpg

創建平臺項目后,修改其BSP禁用xiltimer軟件庫。

wKgZomUvOJuADeYOAAK8GiGDye4131.jpg

wKgaomUvOJuAKVvdAAMpAjtPffU324.jpg

wKgaomUvOJuAGJxgAAJtQk3jJHc975.jpg

然后搭建平臺?,F在使用 freeRTOS Hello World 模板創建一個新的應用程序項目。

wKgaomUvOJuAe0UdAAC-TUVllv8560.jpg

在解釋主要應用程序代碼之前,我想提一下 freeRTOS 內核內的調度程序需要將計時器配置為默認頻率 100Hz 才能運行。這可以是軟件或硬件定時器。這就是為什么我選擇在 BSP 中禁用軟件定時器及其庫。否則,應用程序運行時會與硬件定時器發生沖突。

主應用程序使用 xTaskCreate() 函數定義兩個 FreeRTOS 任務:

wKgZomUvOJuAUw48AADWV0rt2S4950.jpg

然后,它將硬件定時器配置為 10 秒,之后就會過期。

wKgZomUvOJuAOdJQAACZRmA8ZAA030.jpg

現在重要的是要弄清楚該設計使用的是哪個硬件定時器?請記住,在 Vivado 中自定義 Zynq PS 時,我們沒有啟用任何此類定時器 (TTC/SWDT)。我們可以查看平臺項目中存在的移植代碼。

wKgZomUvOJuARrHCAAGKmOidP0E456.jpg

portZynq7000.c 文件包含有關如何移植 freeRTOS 內核以適應基于 Zynq 7000 SoC 的設備的信息。打開后我們可以看到如下的條件定義:

wKgaomUvOJuAI1baAAB2hOLYsE8485.jpg

因此,在禁用 xiltimer 后,設計依賴于使用 scutimer 生成定時器中斷。此 scutimer 是指每個 ARM-A9 內核內存在的 CPU 專用定時器。

wKgZomUvOJuARjwCAADusCwXb6M240.jpg

如果詳細閱讀 portZynq7000.c,就可以看到如何使用 scutimer 和 scugic 來設置定時器中斷。

定時器啟動后,使用 vTaskStartScheduler() 調用啟動 freeRTOS 內核的調度程序。調度程序將啟動上面定義的兩個任務,并且程序將執行這兩個任務中定義的任何代碼。

最終結果

成功構建軟件后,在板上運行應用程序。就會看到以下文本打印在 UART 控制臺中:

wKgaomUvOJuAMU-zAABZ84XOJkQ620.jpg

結論

就是這樣!您已準備好開始在 Zynq SoC 上運行的 freeRTOS 內核上開發更復雜的程序。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1645

    文章

    22040

    瀏覽量

    618205
  • soc
    soc
    +關注

    關注

    38

    文章

    4386

    瀏覽量

    222686
  • 可編程邏輯
    +關注

    關注

    7

    文章

    526

    瀏覽量

    44750
  • FreeRTOS
    +關注

    關注

    12

    文章

    493

    瀏覽量

    64301
  • Zynq
    +關注

    關注

    10

    文章

    615

    瀏覽量

    48241

原文標題:ZYNQ上運行FreeRTOS

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Vivado HLS視頻庫加速Zynq-7000 All Programmable SoC OpenCV應用

    Vivado HLS視頻庫加速Zynq-7000 All Programmable SoC OpenCV應用加入賽靈思免費在線研討會,了解如何在Zynq?-7000 All Progr
    發表于 12-30 16:09

    Zynq-7000 SoC提供 FPGA 資源

    Cortex-A9 處理器,但該器件的 FPGA 數量存在差別,如表 1 所示:[td]Xilinx Zynq SoC可編程邏輯單元塊 RAM 的容量大小 (Mb)DSP 切片
    發表于 08-31 14:43

    何在Linux開始使用ISE?

    我做了ISE的Web客戶端安裝它無法安裝驅動程序。是否有文檔告訴我如何在Linux開始使用ISE?安裝完成后,我看到了文件夾:/opt/Xilinx/11.1但是為了啟動ISE,我需要
    發表于 11-19 14:36

    freeRTOS 如何移植到zynq芯片

    因為最近要用到zynq芯片,我希望能在zynq芯片使用freeRTOS,但是弄不明白怎么移植進去。一般xillinx sdk在工程里面添加操作系統的方法是,在repository里先
    發表于 06-11 04:35

    何在STM32CubeMX配置FreeRTOS

    何在STM32CubeMX配置FreeRTOS?
    發表于 11-16 07:28

    何在NUC100使用FreeRTOS港口和在FreeRTOS使用示范樣本代碼

    應用:文件介紹了如何在NUC100使用FreeRTOS港口和在FreeRTOS使用示范樣本代碼。 BSP 版本: NUC100系列 B
    發表于 08-31 07:50

    何在AT32F系列MCU使用FreeRTOS

    本指導手冊描述了如何在AT32F系列MCU使用FreeRTOSFreeRTOS是一款開源的嵌入式實時操作系統,目前在各種嵌入式應用中應用廣泛。本指導手冊包括
    發表于 10-24 07:46

    使用教程分享:在Zynq AP SoC設計中高效使用HLS IP(一)

    高層次綜合設計最常見的的使用就是為CPU創建一個加速器,將在CPU中執行的代碼移動到FPGA可編程邏輯去提高性能。本文展示了如何在Zynq AP SoC設計中使用HLS IP。 在Zynq
    發表于 02-07 18:08 ?3974次閱讀
    使用教程分享:在<b class='flag-5'>Zynq</b> AP <b class='flag-5'>SoC</b>設計中高效使用HLS IP(一)

    使用 Zynq SoC 實現計算機視頻實時算法

    Xilinx 高級產品經理Vinay Singh將向您演示如何在Zynq-7000 All Programmable SoC系列中實現計算機視頻實時算法。
    的頭像 發表于 06-04 13:47 ?4300次閱讀

    何在Zynq處理器lwIP實現網絡功能

    了解如何在Zynq處理器使用輕量級IP堆棧(lwIP)來實現網絡功能。 本次會議既包括獨立用例,也包括與流行的輕量級FreeRTOS操作系統的集成。
    的頭像 發表于 11-27 06:17 ?5738次閱讀

    教大家如何在STM32F4freeRTOS

    [導讀] 大家好,我是逸珺。 之前挖了圖解freeRTOS的坑,挖了坑就得填。今天就從使用開始,先把freeRTOS用起來。先聊一聊在STM32F407的如何電燈,如果只用
    的頭像 發表于 07-23 10:21 ?4810次閱讀
    教大家如<b class='flag-5'>何在</b>STM32F4<b class='flag-5'>上</b>跑<b class='flag-5'>freeRTOS</b>

    Zynq SoC 設備的多種用途

    這篇博文特別關注 Zynq SoC 的多用途 IO (MIO, Multipurpose IO) 模塊。
    的頭像 發表于 03-30 11:43 ?2283次閱讀

    Xilinx ZynqFreeRTOS的Tracealyzer

    電子發燒友網站提供《Xilinx ZynqFreeRTOS的Tracealyzer.zip》資料免費下載
    發表于 12-07 14:59 ?5次下載
    Xilinx <b class='flag-5'>Zynq</b><b class='flag-5'>上</b><b class='flag-5'>FreeRTOS</b>的Tracealyzer

    開始使用 NXP Infotainment

    開始使用 NXP Infotainment
    的頭像 發表于 12-29 10:02 ?1103次閱讀
    <b class='flag-5'>開始使用</b> NXP Infotainment

    在MATRIX Voice ESP32開始使用藍牙

    電子發燒友網站提供《在MATRIX Voice ESP32開始使用藍牙.zip》資料免費下載
    發表于 06-20 15:30 ?1次下載
    在MATRIX Voice ESP32<b class='flag-5'>上</b><b class='flag-5'>開始使用</b>藍牙