LAOXU 发表于 2024-3-22 15:48:19

杨为民 发表于 2024-3-22 12:32
看来你问你老师也没有得到解决方法,那就去看看大家给你支的招吧。

《关于临界区保护和函数可重入的测试 ...

对你老来说, 什么关中断, 上锁 都不在话下, 根本没问题.

我想表达的是对新手, 易犯错.

51OS 和 其他 CPU 的 OS 相比.
要好多地方要特别注意, 需增加特有的命令加以保护, 其他 CPU 不用 !
1. 不可重入特征(包括好多内部库函数)
2. 通过 内部 RAM传递参数
3. 指针函数要指定.

这些都是 51构架特有的缺点(短板)

LAOXU 发表于 2024-3-22 15:55:00

不是特别老练的程序员, 谁知道哪个函数是不重入的 ?

相比其他 CPU 而言, 51用 OS, 所花费的时间成本比较高. 产生 BUG的 概率也高.

想表达的意思就是, 如用 OS, 尽量优先选 251系 (STC32) , 不要选标准 51系 ,251系用 OS, 系统稳定 不易犯错.

LAOXU 发表于 2024-3-22 16:17:47

不是特别老练的程序员, 谁知道 51哪个函数是可不重入的 ? 连我都要经常看 51库函数 反汇编,

确定是否可重入, 是否占用 RAM作为内部临时(局部)变量.

相比其他 CPU 而言, 51用 OS, 所花费的时间成本比较高. 产生 BUG的概率也大.

我想表达的意思就是, 如做产品需用到 OS, 尽量优先选 251系 (STC32) , 不要选标准 51系,

251系用 OS, 系统稳定 不易犯错.

LAOXU 发表于 2024-3-22 16:28:44

像 你老搞的 扩展 X51指令集, 后 2个扩展寄存器 放在 RAM(10H-17H)中, 不但 OS系统要保护 RAM(10H-17H) , 每个中断中使用, 都要特意保护 RAM(10H-17H) .

难道不显麻烦吗?新手不是更容易犯错吗?

放在 受 编译器 保护的 寄存器中 多好啊, 省去一大堆麻烦, 新手也不需要了解这个那个注意事项, 更不容易犯错.
页: 1 2 3 4 [5]
查看完整版本: C51 和 C251 标准库的区别