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

世上(也是史上)功能最全的STC8 MDU16应用 LIB

[复制链接]

31

主题

181

回帖

538

积分

高级会员

积分
538
发表于 2023-1-10 06:17:25 来自手机 | 显示全部楼层
做得不错,还不是很敢用,不知道有没有bug,项目程序效率很重要,更重要的是可靠性,抽空仔细学习下楼主库的源代码。
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
 楼主| 发表于 2023-1-10 06:36:34 | 显示全部楼层
xhbw*** 发表于 2023-1-10 06:17
做得不错,还不是很敢用,不知道有没有bug,项目程序效率很重要,更重要的是可靠性,抽空仔细学习下楼主库 ...

因为基本上都是数学函数库, 测试也比较简单...... 看最后运算结果.

楼上可将MDU16库, 挂上和不挂上分别编译运行, 即生成两个不同的 Hex文件, 下载芯片中, 试试效果.
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
 楼主| 发表于 2023-1-10 06:51:37 | 显示全部楼层
建议楼上,  挂MDU16库 和 不挂库, 分别编译生成Hex ,下载芯片作对比运行试试

实行对C51内库自动替换,无缝嵌入,其中最具有特色的是float型和long型的除法运算,
回复

使用道具 举报 送花

31

主题

181

回帖

538

积分

高级会员

积分
538
发表于 2023-1-10 08:30:21 | 显示全部楼层
LAO*** 发表于 2023-1-10 06:51
建议楼上,  挂MDU16库 和 不挂库, 分别编译生成Hex ,下载芯片作对比运行试试

实行对C51内库自动替换,无缝 ...

我一个项目,不算很小的代码量,挂载了您的库,编译代码大了百十个字节,不过运行速度手头没有板子没做测试,相信应该有改善的。

没用库

没用库

使用库

使用库
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
 楼主| 发表于 2023-1-10 12:17:52 | 显示全部楼层
xhbw*** 发表于 2023-1-10 08:30
我一个项目,不算很小的代码量,挂载了您的库,编译代码大了百十个字节,不过运行速度手头没有板子没做测 ...

尽管程序我都用汇编作了优化, 但代码还是偏长, 这个我暂时没办法做到, 原因是由于 STC8 硬件设计的关系, 把MDU16所有的指令寄存器,

都放在了片外 RAM中, 而 51的片外寻址功能(DPTR)很弱, 大量的数据 , 必须 由 片内 R0-R7寄存器 送到  MDU16 所属的片外RAM 地址中,

计算好后, 再从 MDU16(片外RAM) 中 读入 片内 R0-R7寄存器 , 可想而知, 这个效率.......

当然, 这一现像在 STC32上, 是不存在的( 数据通过 DMA 自动装载 和返回 R0-R7中)

我已对 宏晶提过建议,  详见: 对STC8H硬件MDU16所用寄存器的建议


https://www.stcaimcu.com/forum.php?mod=viewthread&tid=371&extra=page%3D1
回复

使用道具 举报 送花

24

主题

546

回帖

2625

积分

荣誉版主

积分
2625
发表于 2023-3-8 12:19:16 | 显示全部楼层
LAO*** 发表于 2023-1-10 12:17
尽管程序我都用汇编作了优化, 但代码还是偏长, 这个我暂时没办法做到, 原因是由于 STC8 硬件设计的关系,  ...

建议您百忙之中拨冗将math.h库的三角函数,利用MDU16给优化一下。不胜感激。
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
 楼主| 发表于 2023-3-10 09:03:53 | 显示全部楼层
社区*** 发表于 2023-3-8 12:19
建议您百忙之中拨冗将math.h库的三角函数,利用MDU16给优化一下。不胜感激。 ...

听取你的意见, 作下一步改开进优化

1. 上一版本 STC8H硬件MDU16 库, 是速度优先, 编译后代码长度较长.

2. 改进后的 下一版本 STC8H硬件MDU16 库, 以代码长度优先, 尽量相同模块用子程序, 这样, 编译后代码长度可缩短, 执行速度会慢点(但也比执行原 51通用代码要快).
回复

使用道具 举报 送花

24

主题

546

回帖

2625

积分

荣誉版主

积分
2625
发表于 2023-3-10 09:22:41 | 显示全部楼层
还是速度优先为好,不介意代码长度。
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
 楼主| 发表于 2023-3-10 09:43:48 | 显示全部楼层
社区*** 发表于 2023-3-10 09:22
还是速度优先为好,不介意代码长度。

那第一版本就可以用.

STC8H硬件MDU16 库, 可优化了 math.h库的 浮点加减乘除运算, 而其他 三角函数, 对数 等, 都是调用 这 四个基本运算作进一步运算的, 所以, 也等于 优化了 math.h库的 所有函数
回复

使用道具 举报 送花

24

主题

546

回帖

2625

积分

荣誉版主

积分
2625
发表于 2023-3-10 10:04:44 | 显示全部楼层
我测试一下。谢谢先。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-9 08:58 , Processed in 0.081281 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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