找回密码
 立即注册
楼主: LAOXU

STC32F FPMU 数学函数库 的功能验证(第三方,力求全面完整)

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-9-10 00:38:17 | 显示全部楼层
zxcv*** 发表于 2023-9-9 21:49
关键是C251的编译器只有KEIL一家,还只能去适应他,STC要能搞出自己的C251编译器最好了,还能不断增加新 ...

(1)Keil的C251编译器在设计时早就考虑到对第三方扩展指令集的支持了,具体的方法是L251在做连接时,对于某个函数名,如果项目中用户的模块中(包括用户自己的库)有这个定义,就使用用户函数进行连接,不会再去用C251本身的标准库里面的函数了。这样第三方厂商只要重新编写使用到自己扩展指令的这部分库函数,以库的形式提供给用户包含在自己的项目文件中,就实现了对第三方扩展指令的兼容。

(2)对于STC32G/F系列的32位单片机的扩展指令,以及MDU32和FPMU等单元,STC在设计时已经考虑了与C251的高效对接,而且早已经提供了对应的库函数给用户(在STC-ISP软件工具上),见下图:
STC函数库.jpg

所以目前STC32G/32F系列单片机早就已经与KEIL的C251无缝接轨了,并且STC推出库函数从STC16就开始了。
(3)目前可以看到的STC32位系列单片机的特性均与C251接轨了,而Keil和C251是一款非常优秀的美国的IDE和C语言编译器。我个人觉得唯一不等于不好,同时目前还看不出C251对STC32单片机发展的限制,所以在未来一段时间内我估计C251仍然会是STC32单片机的主流编译器。等到哪一天C251人家不让你用了,或者C251真正成为STC32单片机的瓶颈的时候,自然会有新的编译器出来,而且会是遥遥领先的那一种
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-9-10 00:45:07 | 显示全部楼层
LAO*** 发表于 2023-9-10 00:25
STC32 FPMU & MDU32 数学函数库来了!!!

使用须知:

/*--------------------------------------------------------------------------
STC32F_FPMDU.H

Prototypes for mathematic functions for C251 Version 4.
Copyright (c) 1995-2004 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

哇?!楼主真是KEIL公司的卧底,吓死我了

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-10 07:31:16 | 显示全部楼层
杨*** 发表于 2023-9-10 00:45
/*--------------------------------------------------------------------------
STC32F_FPMDU.H

头文件格式直接拷贝过来的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-9-10 07:57:01 | 显示全部楼层
杨*** 发表于 2023-9-9 20:32
楼主大言不惭:
“哪怕 KEIL 的方法是非标非主流的,也应该向她靠拢。”
“但无论 KEIL的编译器,是正标还 ...

没有编译软件的强有力支持,硬件再硬也火不起来!

例如现在的 RISC-V,  免费开源低成本, 优点集一身, 现在怎么样? 不死不活, 距离 Cortex_mx系列的火, 还有很长一段路要走.

相反, X宝上看到一款 m0, 无牌无印字, 软件及硬核 D版 ARM公司的, 我好奇的是引脚布局(电源脚), 直接抄 最红火的 STC布局(老姚不找他算帐? ), 不出任何版权费用, 卖价低至 4毛几, 还卖的火热(我是不敢用)
回复 支持 反对

使用道具 举报 送花

2

主题

185

回帖

1048

积分

金牌会员

积分
1048
发表于 2023-9-10 11:28:12 | 显示全部楼层
杨*** 发表于 2023-9-10 00:38
(1)Keil的C251编译器在设计时早就考虑到对第三方扩展指令集的支持了,具体的方法是L251在做连接时,对 ...

这种通过库函数的第三方扩展方式虽然已经很好了,但与底层编译器支持指令集比起来效率还是太低,比如32位乘法需要3个时钟,但调用和返回就需要6个时钟,浪费达2倍。还有如果底层编译器支持的话,STC32能增加两个32位偏移寻址传送指令,那么对程序特别是RTOS和可重入函数执行效率和代码密度就能大大提升

点评

是的,你的看法完全正确  详情 回复 发表于 2023-9-10 12:21
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-9-10 12:21:16 | 显示全部楼层
zxcv*** 发表于 2023-9-10 11:28
这种通过库函数的第三方扩展方式虽然已经很好了,但与底层编译器支持指令集比起来效率还是太低,比如32位 ...

是的,你的看法完全正确
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-9-10 13:42:14 | 显示全部楼层
CISC 主频要上去成本会很高  !
STC后续分 【CPU 指令+普通外设】时钟,【硬件三角函数+硬件浮点+部分高速外设】时钟,各自独立,完美
===要运算,用高主频的独立专业数学运算器
===要普通控制,32位8051 CPU 足够了

===有些指令的增加会影响 CPU 主频提示

老许和杨老师都是我尊重的专家:
杨老师为人谦和,维护国家形象,是我们尊重的权威计算机专家,大侠风范
老许是心高气傲,才气横溢,放荡不羁,适当收敛,当为国之重器

截图202309101342369826.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-9-10 13:54:31 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-01 04:31:49

24

主题

515

回帖

986

积分

荣誉版主

积分
986
发表于 2023-11-23 18:20:18 | 显示全部楼层
希望增加floor函数。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 01:56 , Processed in 0.145433 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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