精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

HPM SDK 1.6.0 FreeRTOS LTS更改及適配指南

先楫半導體HPMicro ? 2024-07-06 08:17 ? 次閱讀

1、HPM_SDK FreeRTOS LTS特性總覽

HPM SDK V1.6.0中FreeRTOS升級前后特性支持對比:

特性

V10.4.4

LTS 202210.01

中斷搶占

RISCV浮點擴展支持

RISCV中斷向量模式支持

×

Tickless mode支持

×

DSP擴展支持

×

二、FreeRTOS新特性適配

2.1 支持tickless模式

HPM_SDK1.6.0中使能了FreeRTOS的tickless模式,根據(jù)SOC進入低功耗模式的級別不同,分為wait模式和stop模式。

使能wait模式:在CMakeLists.txt中增加set(CONFIG_FREERTOS_TICKLESS 1),參考例程:samples\rtos\freertos\freertos_tickless_wait_mode

set(CONFIG_FREERTOS 1)

set(CONFIG_FREERTOS_TICKLESS 1)

使能stop模式:在CMakeLists.txt中增加set(CONFIG_FREERTOS_TICKLESS 1)以及set(CONFIG_FREERTOS_TICKLESS_USE_STOP_MODE 1)參考例程:samples\rtos\freertos\freertos_tickless_stop_mode。

Set(CONFIG FREERTOS 1)

Set(CONFIG FREERTOS TICKLESS 1)

Set(CONFIG FREERTOS TICKLESS USE STOP MODE 1)

兩種模式區(qū)別:

1. Wait模式下,只有CPU會進入低功耗模式,CPU核心時鐘會被關閉。但在收到中斷時 CPU 能夠立即喚醒進行處理。不會影響外設和SOC其他模塊的工作狀態(tài)。理論上會影響中斷響應的實時性,除此外不會有其他影響。

2. Stop模式下,CPU會進入低功耗模式,并且會觸發(fā)SOC的低功耗狀態(tài),允許關閉更多的資源,且提供靈活的配置選項。除了會影響中斷響應的實時性外,一些外設的功能可能會受影響。

關于低功耗兩種模式差異的詳細解釋,開發(fā)者可以查看UM手冊的低功耗管理章節(jié)。

2.2riscv中斷向量模式

在CMakeLists.txt中將

sdk_compile_definitions(-DUSE_NONVECTOR_MODE=1)

改為sdk_compile_definitions(-DUSE_NONVECTOR_MODE=0)或者將其注釋掉或刪除即可。

向量模式支持gcc、segger、IAR。

2.3臨界段接口更改

FreeRTOS LTS202210.01 在RSIC-V中取消了vTaskEnterCriticalvTaskExitCritical接口,取而代之的是portENTER_CRITICALportEXIT_CRITICAL。用戶需要將用戶層代碼進行修改以適配FreeRTOS的升級。

3059dd44-3b2d-11ef-a655-92fbcf53809c.png

2.4 增加了對DSP上下文的保存和恢復

在HPM_SDK V1.6.0中,可以在FreeRTOS中正常使用dsp擴展了。參考samples/dsp中CMakeLists中的配置。

2.5 portCRITICAL_NESTING_IN_TCB宏的值從1改為0

此改動是FreeRTOS的riscv port部分的改動,它會使任務TCB中原有的變量uxCriticalNesting被刪除。如果用戶的代碼中使用了此變量,或者有手動解析TCB內容的代碼,那么需要進行代碼修改工作,使用全局變量xCriticalNesting可以替代TCB中的uxCriticalNesting;反之不需要進行修改。

307ef340-3b2d-11ef-a655-92fbcf53809c.png

三、在HPM_SDK1.6.0中使用之前版本的FreeRTOS

在HPM_SDK V1.6.0中使用之前版本的FreeRTOS,有兩種方式:


方式一

直接將middleware/FreeRTOS目錄替換成老版本的middleware/FreeRTOS目錄。


方式二

在middleware目錄下增加老版本的源碼,此時SDK中同時存在兩個版本的Free RTOS,依靠工程CMakeLists.txt中的配置進行選擇。

1. 將老版本的middleware/FreeRTOS文件夾重命名為middleware/FreeRTOS_old,并復制到V1.6.0目錄下。

2.修改middleware/CMakeLists.txt,在文檔末尾增加add_subdirectory_ifdef(CONFIG_FREERTOS_OLD FreeRTOS_old)

3. 修改工程目錄下的CMakeLists.txt,將set(CONFIG_FREERTOS 1)修改為set(CONFIG_FREERTOS_OLD 1),其他地方不需要修改。

3089c5fe-3b2d-11ef-a655-92fbcf53809c.png

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

    關注

    12

    文章

    483

    瀏覽量

    62018
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1029

    瀏覽量

    45782
  • HPM
    HPM
    +關注

    關注

    1

    文章

    23

    瀏覽量

    7732
收藏 人收藏

    評論

    相關推薦

    如何使用XR806適配最新鴻蒙3.0_LTS

    如何使用XR806適配最新鴻蒙3.0_LTS
    發(fā)表于 12-29 06:06

    具有高性能MCU配套的HPM SDK使用指南

    HPM SDK使用指南
    發(fā)表于 06-05 07:51

    HPM SDK Linux開發(fā)環(huán)境搭建指南

    HPM SDK是一個基于寬松使用許可(BSD 3-Clause)完全開源的綜合性軟件支持包,幫助用戶使用先楫半導體基于RISC-V內核的MCU簡化和加快應用開發(fā)。 HPM SDK
    發(fā)表于 06-08 13:59

    先楫hpm_sdk使用vscode開發(fā)

    一、概述 先楫的hpm_sdk,對于習慣用keil的開發(fā)者可能不太習慣,但是從開發(fā)角度上看,是比較靈活的,可以給開發(fā)者一定的發(fā)揮空間。該sdk支持cmake構建,可以在多個支持cmake的平臺構建
    發(fā)表于 06-24 20:19

    FreeRTOS實時內核使用指南-中文

    FreeRTOS實時內核使用指南-中文版,Using the FreeRTOS Real Time Kernel - A Practical Guide的中文版本
    發(fā)表于 07-13 15:11 ?122次下載

    FreeRTOS 使用指南

    FreeRTOS 使用指南
    發(fā)表于 10-24 13:37 ?25次下載
    <b class='flag-5'>FreeRTOS</b> 使用<b class='flag-5'>指南</b>

    UM-WI-046 DA16200 DA16600 FreeRTOS SDK 程序員指南

    UM-WI-046 DA16200 DA16600 FreeRTOS SDK 程序員指南
    發(fā)表于 01-09 19:16 ?0次下載
    UM-WI-046 DA16200 DA16600 <b class='flag-5'>FreeRTOS</b> <b class='flag-5'>SDK</b> 程序員<b class='flag-5'>指南</b>

    HPM SDK指南 | 我的板子我做主!

    本文介紹了基于HPMSDK如何新建一個新的工程供用戶項目開發(fā),包括HPMSDK代碼結構介紹,新BOARD適配驅動運行以及新工程的建立和注意事項。先楫半導體面向用戶同時提供HPMSDK的集成工具集
    的頭像 發(fā)表于 12-12 17:56 ?4991次閱讀
    <b class='flag-5'>HPM</b> <b class='flag-5'>SDK</b><b class='flag-5'>指南</b> | 我的板子我做主!

    UM-WI-046 DA16200 DA16600 FreeRTOS SDK 程序員指南

    UM-WI-046 DA16200 DA16600 FreeRTOS SDK 程序員指南
    發(fā)表于 06-30 19:09 ?2次下載
    UM-WI-046 DA16200 DA16600 <b class='flag-5'>FreeRTOS</b> <b class='flag-5'>SDK</b> 程序員<b class='flag-5'>指南</b>

    [HPM雜談]你想要了解的先楫hpm_sdk開發(fā)都在這里系列 (二)

    一、概述在上一篇雜談文章《[HPM雜談]你想要了解的先楫hpm_sdk開發(fā)都在這里系列(一)》,大概分析了先楫通用單片機開發(fā)與其他國產單片機的開發(fā)差異,以及開發(fā)優(yōu)劣勢。剛好在這個月底,先楫官方發(fā)布了
    的頭像 發(fā)表于 10-12 08:18 ?1626次閱讀
    [<b class='flag-5'>HPM</b>雜談]你想要了解的先楫<b class='flag-5'>hpm_sdk</b>開發(fā)都在這里系列 (二)

    先楫半導體hpm_sdk v1.5.0正式發(fā)布!

    可以將當前app所使用到hpm_sdk的文件復制到app本地, 同時更新app的CMakeLists.txt使之使用本地化之后的hpm_sdk
    的頭像 發(fā)表于 04-08 10:02 ?873次閱讀
    先楫半導體<b class='flag-5'>hpm_sdk</b> v1.5.0正式發(fā)布!

    先楫半導體 hpm_sdk v1.5.0 正式發(fā)布

    先楫半導體 hpm_sdk v1.5.0 正式發(fā)布
    的頭像 發(fā)表于 04-12 08:17 ?531次閱讀
    先楫半導體 <b class='flag-5'>hpm_sdk</b> v1.5.0 正式發(fā)布

    先楫半導體hpm_sdk v1.6.0上線

    HPMSDKv1.6.0上線啦!百度網盤鏈接:https://pan.baidu.com/s/1RaYHOD7xk7fnotmgLpoAlA?pwd=xk2n提取碼:xk2n版本更新概況新增產品支持
    的頭像 發(fā)表于 07-02 08:17 ?521次閱讀
    先楫半導體<b class='flag-5'>hpm_sdk</b> v<b class='flag-5'>1.6.0</b>上線

    RT-Thread BSP v1.6.0 發(fā)布 | 拓展連接

    增加了對SD3.0和eMMC5.1速度模式的支持版本更新(相對于BSPv1.6.0)適配hpm_sdkv1.6.0新增HPM6E00EVK開發(fā)板支持更新了如下驅
    的頭像 發(fā)表于 07-26 14:37 ?393次閱讀
    RT-Thread BSP v<b class='flag-5'>1.6.0</b> 發(fā)布 | 拓展連接

    先楫半導體hpm_apps v1.6.0上線

    先楫半導體hpm_apps v1.6.0上線
    的頭像 發(fā)表于 08-02 08:18 ?653次閱讀
    先楫半導體<b class='flag-5'>hpm</b>_apps v<b class='flag-5'>1.6.0</b>上線