找回密码
 立即注册
楼主: 神农鼎

内部做个记录,下次数据手册要更新的地方

[复制链接]

48

主题

1342

回帖

7841

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
7841
QQ
发表于 2023-1-4 20:58:48 | 显示全部楼层
1.png

2.png
32G的ISP软件里和数据手册里寄存器的名字对不上~建议修改
回复

使用道具 举报 送花

已绑定手机

872

主题

1万

回帖

2万

积分

管理员

积分
25428
 楼主| 发表于 2023-1-4 21:21:42 | 显示全部楼层
收到,改 数据手册更方便
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-5 08:40:03 | 显示全部楼层
仿真STC8  MDU16 相关功能, 发现死机!

经跟踪, 发现问题出在这一点上,  上面我做了一个除法, 结果存 MD3-MD0, 下面我移位操作, 未对 MD3-MD0 作任何操作, 运行程序时, 死在移位操作启动后, 循环等待判断完成标志位上.

从而得出结论, 上面 执行 MDU16 相关功能得到的结果输出, 不能直接作为 下一个  执行 MDU16 相关功能 的输入!

尽管寄存器是一样的, 都是  MD3-MD0,可能芯片内部, 输入/输出存放于不同 寄存器中, 仅 地址映像 相同, 为同一名称.

请下一版本加注.

回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-5 08:44:28 | 显示全部楼层
汇编两个 MDU16 相关功能中间, 插入如下代码, 运行就正常了.

                        MOV      DPTR,#MD3                                // MD3-MD0 重装
                        MOVX     A, @DPTR
                        MOVX     @DPTR, A
                        INC      DPTR
                        MOVX     A, @DPTR
                        MOVX     @DPTR, A
                        INC      DPTR
                        MOVX     A, @DPTR
                        MOVX     @DPTR, A
                        INC      DPTR
                        MOVX     A, @DPTR
                        MOVX     @DPTR, A

///////////////////////////////////////////////////////////////

c语言更简单:
         MD3 = MD3 ;
         MD2 = MD2 ;
          .......


回复

使用道具 举报 送花

已绑定手机

51

主题

2750

回帖

9613

积分

论坛元老

积分
9613
发表于 2023-1-5 19:05:04 | 显示全部楼层
LAO*** 发表于 2023-1-5 08:40
仿真STC8  MDU16 相关功能, 发现死机!

经跟踪, 发现问题出在这一点上,  上面我做了一个除法, 结果存 MD3-M ...

根据您的说法我写了一套C语言与一套汇编程序,分别进行了测试,都没有发现卡住死机的现象。



附件是测试代码,请参考:
MDU16.zip (12.74 KB, 下载次数: 259)
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-5 19:59:30 | 显示全部楼层
我是编写库时, 发现的, 在库函数 ULDIV.A51 ( 32位无符号除法及取模) 中

STC8_MDU16_LIB.rar

45.57 KB, 下载次数: 275

回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-5 20:09:00 | 显示全部楼层
你的程序我看了, 我也类拟写法, 在调试中确实死循环中(可能单步用的又点多).

另, 发现 用单步多了, 子程序中无法退出, 全速运行也不行, 程序跑飞. 重新编译 下载 调试, 故障依旧.

后来 Keil 退出, 换个其他项目, 又没事了
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-5 20:34:26 | 显示全部楼层
刚才我测试了, 去掉  MD3-MD0 重装 , 不影响 ULDIV.A51 ( 32位无符号除法及取模) 运行.

我也想不明白什么原因, 只是 当时仿真时, 单步运行有些多.
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-6 10:23:07 | 显示全部楼层
又发现 MDU16命令 此卡死现像!!!

前面调试 浮点数加减法 FPADD_SUB, 一次性通过.

改为调用 浮点数除法 FPDIV, 全速运行, 发现死机, 点停止, 发现死在循环等待上.

.
未命名.JPG
回复

使用道具 举报 送花

50

主题

1219

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-1-6 10:25:40 | 显示全部楼层
本帖最后由 LAOXU 于 2023-1-6 10:28 编辑

这一次原因, 应该是我 漏写了 DPTR +1

不是问题
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-7 14:37 , Processed in 0.083363 second(s), 79 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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