先楫半导体HPM SDK 1.6.0 FreeRTOS LTS更改及适配指南
1、HPM_SDK FreeRTOS LTS特性总览
HPM SDK V1.6.0中FreeRTOS升级前后特性支持对比:
二、FreeRTOS新特性适配
2.1 支持tickless模式
HPM_SDK1.6.0中使能了FreeRTOS的tickless模式,根据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)
两种模式区别:
1. Wait模式下,只有CPU会进入低功耗模式,CPU核心时钟会被关闭。但在收到中断时 CPU 能够立即唤醒进行处理。不会影响外设和SOC其他模块的工作状态。理论上会影响中断响应的实时性,除此外不会有其他影响。
2. Stop模式下,CPU会进入低功耗模式,并且会触发SOC的低功耗状态,允许关闭更多的资源,且提供灵活的配置选项。除了会影响中断响应的实时性外,一些外设的功能可能会受影响。
关于低功耗两种模式差异的详细解释,开发者可以查看UM手册的低功耗管理章节。
2.2 riscv中断向量模式
在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中取消了vTaskEnterCritical和vTaskExitCritical接口,取而代之的是portENTER_CRITICAL和portEXIT_CRITICAL。用户需要将用户层代码进行修改以适配FreeRTOS的升级。
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;反之不需要进行修改。
三、在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),其他地方不需要修改。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自先楫半导体 微信公众号,原文标题为:HPM SDK 1.6.0 FreeRTOS LTS更改及适配指南,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】先楫半导体MCU HPM6750使用JLINK调试下如何进行串口打印配置
在使用JLINK调试先楫半导体HPM6750EVK2开发板调试时遇到不知如何使用SEGGER Embedded Studio (以下简称SES)内置的虚拟串口打印工具,本文介绍正确配置串口打印工具的步骤。
先楫HPM5361EVK开发板测评
上海先楫半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。HPM5361EVK是基于先楫HPM5300系列高性能RISC-V内核MCU的一款开发板。本文介绍先楫HPM5361EVK开发板测评。
基于OpenSBI的linux nommu实现
先楫半导体介绍了基于OpenSBI的Linux no mmu实现,支持RISC-V处理器在S模式下工作,涉及内核配置、Loader和BuildRoot设置,以及编译和烧录过程。
先楫半导体hpm_sdk v1.6.0全新上线!新增HPM6E80产品支持
先楫半导体hpm_sdk v1.6.0上线!新增HPM6E80产品支持。HPM6E00系列MCU是一款高性能、高实时以太互联,RISC-V双核微控制器。HPM6E00系列提供多达4端口千兆以太交换模块,支持TSN,并且支持3端口EtherCAT从站控制器,以及32路高分辨率PWM输出,高精度运动控制系统,可以在工业自动化领域实现基于高实时性,低延时以太网的高性能伺服电机控制,机器人运动控制等应用。
HPM6800EVK 用户使用手册
描述- 本手册为上海先楫半导体HPM6800系列高性能微控制器HPM6800EVK的用户使用手册。内容包括HPM6800EVK的硬件电路介绍、软件开发套件(SDK)的使用指南、调试出错常见原因及解决方案等。手册详细介绍了HPM6800EVK的硬件设计、电路模块、软件开发环境搭建、开发工具使用、调试方法等,为用户提供了全面的使用指导。
型号- HPM6800EVK,HPM6800 系列,HPM6800
【IC】先楫半导体最新款高性能MCU HPM5301,搭载单核32位RISC-V处理器,主频高达360MHz
先楫半导体于2023年11月24日宣布推出高性能HPM5300系列MCU最新款——HPM5301芯片。这款MCU搭载单核32位RISC-V处理器,采用QFN48封装,是迄今为止先楫推出的最简单易用的产品。该芯片的开发板HPM5301EVKLite也同步上市。
HPM6E00EVK 用户使用手册
描述- 本手册为上海先楫半导体HPM6E00EVK系列高性能微控制器用户手册。内容涵盖HPM6E00EVK简介、硬件电路、软件开发套件等。手册详细介绍了HPM6E00EVK的硬件设计、电路模块、软件开发环境、开发工具、调试方法等,旨在帮助用户了解和使用该产品。
型号- HPM6E00 系列,HPM6E00EVK,HPM6E00
媒体视角 | 先楫半导体HPM6E00系列MCU填补国内空白,EtherCAT中国首授权
2023年12月先楫半导体正式推出中国首款拥有德国倍福公司正式授权EtherCAT从站控制器的高性能MCU产品HPM6E00系列。先楫半导体HPM6E00系列产品采用国际流行的RISC-V架构,主频高达600MHz,有单双核选项,集成了德国倍福公司授权的EtherCAT从站控制器,具备高性能运动控制、高实时工业以太网互联的特性。
先楫半导体(HPMicro)HPM6000家族MCU选型指南
目录- HPM6000家族MCU
型号- HPM6320IEP,HPM6454IAN,HPM6754IAN,HPM6450,HPM6750IAN,HPM6350,HPM6754IVM,HPM6300系列,HPM6450IAN,HPM6454IVM,HPM6320IPA,HPM6750IVM,HPM6000家族,HPM6360IPA,HPM6360IEP,HPM6364IPA,HPM6430IVM,HPM6300,HPM6400,HPM6320,HPM6364,HPM6364IEP,HPM6700,HPM6430IAN,HPM6350IPA,HPM6340,HPM6000,HPM6340IEP,HPM6360,HPM6730IAN,HPM6730IVM,HPM6350IEP,HPM6340IPA,HPM6700系列,HPM6450IVM,HPM6454,HPM6730,HPM6400系列,HPM6430,HPM6750,HPM6754
以Tamagawa协议为例,详解SEI在异步通信中的用法
SEI(Serial Encoder Interface)串行编码器接口,是先楫半导体创新性设计的一个针对串行绝对值编码器通信的外设。本文以Tamagawa协议为例,对SEI在异步通信中用法进行讲解,同时对slave例程进行修改,增加对Tamagawa协议中EEPROM指令的支持,使读者对SEI的用法有进一步的认识与了解。
【HPMicro Inside】先楫半导体携手劲臣科技发布电感式编码器
冉敏电感式编码器基于先楫HPM5301平台构建,融合先进算法,精准定位高精度、高可靠性的非接触式测量领域,是一款极具专业性的产品。冉敏信息科技依托深厚的技术底蕴与卓越的创新能力,赋予该编码器出色的数据处理效能与强劲的抗干扰特性。于复杂工况环境下,其依然能够精准、稳定地达成信号采集与输出任务,信号传输精准度偏差控制在极小范围内,抗干扰性能符合工业级高标准要求。
先楫半导体MCU选型表
先楫半导体提供高性能MCU选型,:主频最高达816MHz,高性能外设:包括JPEG编解码器,有16位和24位LCD,4×8通道PWM,2×8通道PWM,最高有千兆以太网,CAN FD等通讯接口,高速12位和高精度16位模数转换器,工作温度:-40℃-105℃Ta/-40℃-125℃Ta
产品型号
|
品类
|
内核
|
最高主频(MHz)
|
SRAM(KB)
|
CAN
|
USB
|
SPI
|
I²C
|
UART
|
比较器
|
封装形式
|
HPM5301IEG1
|
高性能微控制器
|
32 位 RISC-V 处理器
|
360MHz
|
288KB
|
CAN FD
|
USB HS 带 PHY ×1
|
4
|
4
|
9
|
2
|
6*6 QFN48 P0.4
|
选型表 - 先楫半导体 立即选型
先楫半导体HPM 16 位ADC+ENET开发案例:以2MSPS进行采样,通过ENET LWIP TCP方式发送到上位机
本文以先楫半导体 HPM6300 开发板为例介绍以 2MSPS 采样率进行 16 位 ADC 采样并将采样数据通过 ENET LWIP TCP 的方式发送到上位机的应用,ADC 采样使用抢占转换模式、PWM 触发的方式,ENET LWIP TCP 每次发送 1024 个 16 位采样数据。在HPM6300EVK 上进行测试验证,验证结果表明该方案是可行的。
先楫半导体HPM APPS v1.7.0上线啦!
先楫半导体发布了HPM APPS v1.7.0,包含多项更新和新功能,如HPM双网口环网通信方案、Ethercat主站应用方案、I2S DMA CHAIN应用方案、hpm_monitor服务、SPI控制器操作Nor flash应用案例等。这些更新旨在提升微控制器性能,简化开发过程,并加速程序开发。
电子商城
登录 | 立即注册
提交评论