为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/24 11:28:02
为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么实际作用的啊
'中断函数置于非分页区内'这是什么意思啊,非分页区是什么啊
'中断函数置于非分页区内'这是什么意思啊,非分页区是什么啊
![为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么](/uploads/image/z/547141-13-1.jpg?t=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E5%86%99%E4%B8%AD%E6%96%AD%E5%87%BD%E6%95%B0%E6%97%B6%E8%A6%81%E5%86%99%23pragma+CODE_SEG+__NEAR_SEG+NON_BANKED%E8%BF%99%E5%8F%A5%E8%AF%9D%2C%E6%98%AF%E4%B8%8D%E6%98%AF%E6%B2%A1%E4%BB%80%E4%B9%88)
是这样的,飞思卡尔单片机.拿s12系列的来说,NON_BANKED一般位于0xc000-0xffff区域,而这个区域是16位单片机可以直接寻址的区域,而__NEAR_SEG告诉编译器函数放在固定页中,只有固定页中的函数才能访问其他页的数据,同时CODE_SEG定义了一个代码段.
所以,你可以这样理解:中断函数存放在CPU可以直接寻址的范围内,这样就可以节省中断函数的访问时间,方便调用中断函数(因为中断函数要求的就是实时性)...顺便再多说一句,如果你不写这一句,默认的是将函数存放在分页的flash里面,此时函数为far函数,访问far函数是相当耗费时间的一件事,中断函数毫无实时性可言.
一般只有中断函数时才用__NEAR_SEG,对于一般函数来说__NEAR_SEG毫无作用...
回答你的问题:非分页区是不能进行分页的区域(不需要设置PPAGE寄存器),cpu可以直接对其进行访问,访问速度快...
所以,你可以这样理解:中断函数存放在CPU可以直接寻址的范围内,这样就可以节省中断函数的访问时间,方便调用中断函数(因为中断函数要求的就是实时性)...顺便再多说一句,如果你不写这一句,默认的是将函数存放在分页的flash里面,此时函数为far函数,访问far函数是相当耗费时间的一件事,中断函数毫无实时性可言.
一般只有中断函数时才用__NEAR_SEG,对于一般函数来说__NEAR_SEG毫无作用...
回答你的问题:非分页区是不能进行分页的区域(不需要设置PPAGE寄存器),cpu可以直接对其进行访问,访问速度快...
为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么
"#pragma CODE_SEG __NEAR_SEG NON_BANKED"这句有什么用?
这句话是不是没什么道理?
为什么中断函数中会有P1=~P1这句,请问他有什么作用啊
STM32为什么进入了中断函数还要检查中断标志位啊?
C语言中断函数和普通的C语言函数的区别在哪里?中断函数主要用于什么操作
请分条指出为什么中华文明差点在本土中断,而又没有中断的原因.
位错线为什么不能在晶体内中断呢
为什么中华文明是唯一没有在本土中断的古文明
为什么中华文明没有中断
这句话是不是倒装句?为什么?
为什么为什么y=x/2在定义域上是减函数这句话为什么是错的.