搜索
bottom↓
回复: 30

基于H7的RTX5和FreeRTOS带CMSIS-RTOS V2封装层例程,含AC6和AC5两版

[复制链接]

出0入0汤圆

发表于 2019-4-10 03:12:27 | 显示全部楼层 |阅读模式
本帖最后由 Eric2013 于 2019-4-10 03:12 编辑

说明:
1、使用MDK的RTE环境开发RTX5和FreeRTOS,简单易移植,统一采用CMSIS-RTOS V2封装层。
2、DTCM是H7里面性能最高的RAM,主频400MHz,跟内核速度一样,所以例子的主RAM全部使用DTCM。
其它用到DMA和大数量传输的地方,用AXI SRAM,SRAM1,SRMA2,SRAM3或者SRAM4,主频都是200MHz。
3、硬件异常分析是用的SEGGER的方案。
4、每个例子加入Evernt Recoder支持,方便使用调试组件。
5、RTX4和RTX5都已经是免费的,Apache-2.0授权,几乎随意商用。
6、愿RTX5一直在进行的工业级安全认证和汽车级安全认证早日完成。

注,AC6的强劲性能看帖末。

工程模板:
RTX5和FreeRTOS都是AC5和AC6两个版本。




注意事项:
1、为了保证RTX5和FreeRTOS的调试组件可以正常使用,工程路径不要有中文,路径不可太长,而且退出调试的时候取消所有断点。
2、安装如下软件包的最新版本,使用MDK5.26及其以上版本。


调试组件:
RTX5


  
FreeRTOS的不够稳


  
时间测量:


类似SystemView的RTX5调试组件System Analyzer



根据ARM官方的时间记录,AC6是在2015年发布的。推出到现在已经快三年了,各方面都有了比较大的发展。
1、首先是安全认证,编译器也是有安全认证的,下面是AC5和AC6的对比


2、AC5和AC6的综合PK,根据这个比较,AC6的综合性能提升了14.9%。
    事实上,在一些大型工业和汽车代码体系中,性能比上一代增长超过30%。 这是针对复杂,真实的嵌入式代码进行全面优化的结果,而不是专注于某个芯片测试。


3、AC6,AC5和GCC生成代码量大小的比较


4、随着AC6的不断升级,性能也一代比一代强


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-4-10 06:43:44 来自手机 | 显示全部楼层
感谢楼主分享,棒棒哒

出0入0汤圆

发表于 2019-4-10 07:54:03 | 显示全部楼层
谢谢分享。
后续103,407,429有模板吗?

出0入0汤圆

发表于 2019-4-10 08:08:36 | 显示全部楼层
硬汉不要老熬夜啊。身体要紧
请问是居于5.27开发的吗

出0入0汤圆

发表于 2019-4-10 08:12:48 | 显示全部楼层

谢谢分享。

出500入109汤圆

发表于 2019-4-10 08:18:36 | 显示全部楼层
这个RTX5能在IAR里面像在KEIL里面这么直观方便的调试吗?这个KEIL用起来真的是无爱

出0入0汤圆

发表于 2019-4-10 09:22:15 | 显示全部楼层
不错,现在MDK真是越做越完备齐全了,回头也试下RTX5的,感谢硬汉的分享

出0入0汤圆

发表于 2019-4-10 10:51:55 | 显示全部楼层
谢谢硬汉分享,期待中间件教程早日发布。

出0入0汤圆

发表于 2019-4-10 11:47:28 | 显示全部楼层
越看你的帖子越喜欢

出140入115汤圆

发表于 2019-4-10 13:33:16 来自手机 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2019-4-10 13:58:09 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2019-4-10 14:24:16 来自手机 | 显示全部楼层
哇!这个好!谢谢分享!

出0入0汤圆

发表于 2019-4-10 15:43:12 | 显示全部楼层
momo_li 发表于 2019-4-10 08:18
这个RTX5能在IAR里面像在KEIL里面这么直观方便的调试吗?这个KEIL用起来真的是无爱 ...

就看你的取舍了啊,一个是前突后突貌美肤白但没钱,一个是水缸体活好且有钱。。

出0入0汤圆

 楼主| 发表于 2019-4-10 18:04:21 | 显示全部楼层
Excellence 发表于 2019-4-10 07:54
谢谢分享。
后续103,407,429有模板吗?

做,先把H7的整好

出0入0汤圆

 楼主| 发表于 2019-4-10 18:04:53 | 显示全部楼层
vjcmain 发表于 2019-4-10 08:08
硬汉不要老熬夜啊。身体要紧
请问是居于5.27开发的吗

对,用5.27正式版

出0入0汤圆

 楼主| 发表于 2019-4-10 18:05:33 | 显示全部楼层
momo_li 发表于 2019-4-10 08:18
这个RTX5能在IAR里面像在KEIL里面这么直观方便的调试吗?这个KEIL用起来真的是无爱 ...

爱上了一发不可收拾^_^

出0入0汤圆

 楼主| 发表于 2019-4-10 18:06:11 | 显示全部楼层
JackFrost 发表于 2019-4-10 09:22
不错,现在MDK真是越做越完备齐全了,回头也试下RTX5的,感谢硬汉的分享

出0入0汤圆

 楼主| 发表于 2019-4-10 18:06:43 | 显示全部楼层
rgzdb 发表于 2019-4-10 10:51
谢谢硬汉分享,期待中间件教程早日发布。

嗯,先把基础的整完善了。

出0入0汤圆

发表于 2019-4-12 07:44:16 来自手机 | 显示全部楼层
感谢楼主分享

出500入109汤圆

发表于 2019-4-12 08:06:26 | 显示全部楼层
Eric2013 发表于 2019-4-10 18:05
爱上了一发不可收拾^_^



中文变量,中文文件名,我真的在用,IAR设置了UTF8之后编辑、编译、调试通吃,sourcetree也不乱码。KEIL是不是还是不行啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

发表于 2019-4-12 08:07:55 来自手机 | 显示全部楼层
Can例程有没有

出0入0汤圆

 楼主| 发表于 2019-4-12 10:32:00 | 显示全部楼层
momo_li 发表于 2019-4-12 08:06
中文变量,中文文件名,我真的在用,IAR设置了UTF8之后编辑、编译、调试通吃,sourcetree也不乱码。KEI ...

可以。

options->c/c++->Misc controls 填写“--locale=english”

出0入0汤圆

 楼主| 发表于 2019-4-12 10:32:35 | 显示全部楼层

新版的CAN还没用,老版的在用。

出0入0汤圆

发表于 2019-4-28 13:44:17 | 显示全部楼层
谢谢楼主分享,最近正好移植freeRTOS

出0入0汤圆

发表于 2019-5-6 09:57:19 | 显示全部楼层
谢谢分享,多谢!

出105入79汤圆

发表于 2019-5-6 14:17:05 | 显示全部楼层
GCC运行变慢30%,占用Rom变大30%

不过对比的GCC5,现在GCC7 不知道有没有赶上来。

出105入79汤圆

发表于 2019-5-6 14:19:19 | 显示全部楼层
本帖最后由 qwe2231695 于 2019-5-6 14:21 编辑

希望LLVM Clang能够一战,编译速度更快、编译产出更小、出错提示更友好。

出0入0汤圆

 楼主| 发表于 2019-5-6 14:33:00 | 显示全部楼层
qwe2231695 发表于 2019-5-6 14:17
GCC运行变慢30%,占用Rom变大30%

不过对比的GCC5,现在GCC7 不知道有没有赶上来。 ...

GCC也可以比较小,开LTO连接器优化就行。

比较IAR,MDK的AC5和AC6以及Embedded Studio的CLANG和GCC编译HAL库性能
https://www.amobbs.com/thread-5709400-1-1.html

出0入0汤圆

 楼主| 发表于 2019-5-6 14:34:25 | 显示全部楼层
qwe2231695 发表于 2019-5-6 14:19
希望LLVM Clang能够一战,编译速度更快、编译产出更小、出错提示更友好。

CLANG的错误检测非常不错

下面这种错误都检测出来了。

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32H7xx_HAL_USART_H
#define __STM3H7xx_HAL_USART_H

出0入0汤圆

发表于 2019-5-6 22:15:13 | 显示全部楼层
AC6编译之后,好像还无法跳转查看。考虑这种情况,让AC5编译时不产生BrowseInfo,编译速度是差不多的。
但实时错误检测方面,AC6环境确实要好不少。编译错误提示也是AC6比AC5强不少。

近一年的项目基本上都是用CMSIS-RTOS封装的RTX5,都是把源码加到工程里的。没用过KEIL包创建

出0入0汤圆

 楼主| 发表于 2019-5-6 23:22:24 | 显示全部楼层
Achin 发表于 2019-5-6 22:15
AC6编译之后,好像还无法跳转查看。考虑这种情况,让AC5编译时不产生BrowseInfo,编译速度是差不多的。
但 ...

使用AC6的话,有两个地方要注意。
1、工程路径一定不要有中文,有中文会导致无法跳转。
2、工程代码里面有中文的话,要注意编码类型,推荐用UTF-8,使用ANSI本地编码(GBK,GB2312之类)会有警告。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 14:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表