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

8H8K上能否使用函数指针

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-30 19:27:38 | 显示全部楼层
_奶*** 发表于 2024-12-30 08:51
那也就是说除了 不用OS以外还是会出问题啊

任何cpu 都有一定的编程规范, 比如固定地址寻址的特殊功能寄存器, 你在多个入口(如中断, OS) 程序 中, 去读写, 都会出问题.

m0/m3 也不例外.
回复 支持 反对

使用道具 举报 送花

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

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-30 19:37:01 | 显示全部楼层
xuze*** 发表于 2024-12-29 09:05
Keil C51中的函数指针和编译器有关系,它把函数参数和局部变量放到了寄存器中,没有放入堆栈。而且无相互 ...

不是寄存器, 无论 os 还是中断, 切换进入时都会先保护寄存器, 而是放在ram中的局部变量(非重入函数), 好处是程序精练, 缺点是回收分配必须依造调用树,
51把局部变量放在 堆栈中(重入函数), 不是做不到, 而是代价太高, 程序不够精练, 占 code多, 执行速度慢等缺点.
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 00:06 , Processed in 0.102280 second(s), 49 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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