首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于分页重叠问题

如果你不改这一句的话,执行goption = 0x12345678;指令时,其实它是试图往0x208001里写的;改过之后,它就往0x008001里写了。但是,你的问题还在,就是p = &goption这一句:p只是一个16位的地址。在这里执行*p = 0x11;时,PPAGE的值为当前的0x20,而不会自动改成0x00。结果是往ROM里写数据,当然不对。
海纳百川  有容乃大
我的邮箱:
strongchen_free@yahoo.com.cn
海纳百川  有容乃大
p = &goption这句只是测试用的,是跟后面的那个长调用指针做个对比的,
真正的赋值语句在goption = 0x12345678,当执行这句的时候,就开始向0x8000写数据
迷途的羔羊!
[upload=image/pjpeg]uploadImages/DEBUG_1.jpg[/upload][upload=image/pjpeg]uploadImages/DEBUG_2.jpg[/upload][upload=image/pjpeg]uploadImages/DEBUG_3.jpg[/upload]
迷途的羔羊!
对呀,现在这没错。问题是你读RAM的值时,也应该看到类似的操作,PPAGE的值变为0x00才行。此时Memory窗口的值要与PPAGE联系起来看。
海纳百川  有容乃大
哦,那我这边还有个问题:一个工程里面有很多个文件,在主程序定义的全局变量,按照需求把他们定义到外部去,那在其他文件调用到这些全局变量的时候,是不是也要在各个文件的开头申明一下这些外部全局变量分别在哪个段里面。
迷途的羔羊!
应该不用了。
海纳百川  有容乃大
好象要申明,如果没申明的话,要把外部的全局变量赋给内部的全局变量,就会出错。他没有跳到分页程序那边。
迷途的羔羊!
你是对的,在声明外部变量的同时,也要声明它是PPAGE控制的外部变量。
海纳百川  有容乃大
返回列表