Board logo

标题: 将某个函数放入分页FLASH里后如何访问?[讨论] [打印本页]

作者: 碧落星空    时间: 2006-3-21 09:15

编译器应该是自动加上页面切换的吧
作者: seuafu2005    时间: 2006-3-21 10:04

你用什么语句调用函数的?
如果是C语言的话,编译器应该是自动切换PPAGE的
如果是汇编,用call语句调用函数
作者: yuccacl    时间: 2006-3-21 12:01     标题: 将某个函数放入分页FLASH里后如何访问?[讨论]

我将一个函数单独放入S12D64单片机的3D页上,然后直接调用这个函数,程序无法运行。


然后我又在调用函数前加上PPAGE=0x3D,然后再调用就和原来一样了。

补充:使用的是C语言,codewarrior编译


疑问:


1 必须这样访问和调用函数吗?


2 如果不使用分页FLASH,我把PPAGE发送出来,这个值是0,对不对?

[此贴子已经被作者于2006-3-21 12:01:18编辑过]


作者: yuccacl    时间: 2006-3-21 17:00

补充:使用的是C语言,codewarrior编译


作者: strongchen    时间: 2006-3-23 10:50

你可以在仿真界面上看一下这句C语言对应的汇编代码。另外,你是如何定义这个函数的地址的?
作者: yuccacl    时间: 2006-3-23 22:28

我是在prm文件中定义了一个页,例如CanCode INTO PAGE_3C
然后在Can()函数前后,加上#pragma SEG_CODE CanCode 和 #pragma SEG_CODE DEFAULT

另外,在向s12d64中移植ucosII的过程中,在prm文件中,必须添加

ENTRIES
TaskStart
Task1
Task2
END

系统才能运行,请问上面的代码表示什么意思? 

[此贴子已经被作者于2006-3-23 22:28:16编辑过]






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0