杨为民
发表于 2023-9-10 00:38:17
zxcv1973 发表于 2023-9-9 21:49
关键是C251的编译器只有KEIL一家,还只能去适应他,STC要能搞出自己的C251编译器最好了,还能不断增加新 ...
(1)Keil的C251编译器在设计时早就考虑到对第三方扩展指令集的支持了,具体的方法是L251在做连接时,对于某个函数名,如果项目中用户的模块中(包括用户自己的库)有这个定义,就使用用户函数进行连接,不会再去用C251本身的标准库里面的函数了。这样第三方厂商只要重新编写使用到自己扩展指令的这部分库函数,以库的形式提供给用户包含在自己的项目文件中,就实现了对第三方扩展指令的兼容。
(2)对于STC32G/F系列的32位单片机的扩展指令,以及MDU32和FPMU等单元,STC在设计时已经考虑了与C251的高效对接,而且早已经提供了对应的库函数给用户(在STC-ISP软件工具上),见下图:
所以目前STC32G/32F系列单片机早就已经与KEIL的C251无缝接轨了,并且STC推出库函数从STC16就开始了。
(3)目前可以看到的STC32位系列单片机的特性均与C251接轨了,而Keil和C251是一款非常优秀的美国的IDE和C语言编译器。我个人觉得唯一不等于不好,同时目前还看不出C251对STC32单片机发展的限制,所以在未来一段时间内我估计C251仍然会是STC32单片机的主流编译器。等到哪一天C251人家不让你用了,或者C251真正成为STC32单片机的瓶颈的时候,自然会有新的编译器出来,而且会是遥遥领先的那一种
杨为民
发表于 2023-9-10 00:45:07
LAOXU 发表于 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公司的卧底,吓死我了
LAOXU
发表于 2023-9-10 07:31:16
杨为民 发表于 2023-9-10 00:45
/*--------------------------------------------------------------------------
STC32F_FPMDU.H
头文件格式直接拷贝过来的 {:lol:}{:lol:}{:lol:}
LAOXU
发表于 2023-9-10 07:57:01
杨为民 发表于 2023-9-9 20:32
楼主大言不惭:
“哪怕 KEIL 的方法是非标非主流的,也应该向她靠拢。”
“但无论 KEIL的编译器,是正标还 ...
没有编译软件的强有力支持,硬件再硬也火不起来!
例如现在的 RISC-V,免费开源低成本, 优点集一身, 现在怎么样? 不死不活, 距离 Cortex_mx系列的火, 还有很长一段路要走.
相反, X宝上看到一款 m0, 无牌无印字, 软件及硬核 D版 ARM公司的, 我好奇的是引脚布局(电源脚), 直接抄 最红火的 STC布局(老姚不找他算帐? ), 不出任何版权费用, 卖价低至 4毛几, 还卖的火热(我是不敢用{:smile:})
zxcv1973
发表于 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:16
zxcv1973 发表于 2023-9-10 11:28
这种通过库函数的第三方扩展方式虽然已经很好了,但与底层编译器支持指令集比起来效率还是太低,比如32位 ...
{:4_250:}是的,你的看法完全正确
神农鼎
发表于 2023-9-10 13:42:14
CISC 主频要上去成本会很高!
STC后续分 【CPU 指令+普通外设】时钟,【硬件三角函数+硬件浮点+部分高速外设】时钟,各自独立,完美
===要运算,用高主频的独立专业数学运算器
===要普通控制,32位8051 CPU 足够了
===有些指令的增加会影响 CPU 主频的提示
老许和杨老师都是我尊重的专家:
杨老师为人谦和,维护国家形象,是我们尊重的权威计算机专家,大侠风范
老许是心高气傲,才气横溢,放荡不羁,适当收敛,当为国之重器
神农鼎
发表于 2023-9-10 13:54:31
老许和杨老师如有时间,帮忙把关下这个:uC/OS-II for STC32G12K128
C251 - UCOS2.91 移植 - FreeRTOS/实时操作系统/文件系统/嵌入式系统软件,TFT-GUI/uGFX - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
社区闲人
发表于 2023-11-23 18:20:18
希望增加floor函数。