社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 2574|回复: 1

[求助] HCS12 分页区常量该如何读取呢?

[复制链接]

179

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2012-9-27 20:33:05 | 显示全部楼层 |阅读模式
硬件平台:MC9S12HY64   
开发环境: CODEWARRIOR V5.0

编译模式是 BANK模式,  代码如下:

const  UINT8  __far  fardata @0xe8000 = 0xaa;  //分页区的数据
const  UINT8 *__far  farpt;  //指向分页区的指针
UINT8  a;
void read_far(void)
{

        farpt = &fardata;
        a = *farpt;        //这里始终都不能正确读到数据

}

调试的时候,分析了一下,是因为PPAGE的值没有改变或者说是内核内部没有进行PPAGE的切换。

假如read_far函数在另一个分页区,比如0x0C,而不是0xe8000中的0x0E区,这样读取的值,就是0XC8000的值

相当于PPAGE没有切换,而直接读到了当前PPAGE页的8000地址的值。

如果read_far函数也在0X0E区,则可以正确读取到,因为本身的PPAGE就是0x0e。

我想问的是,在一个分区中用什么办法可以读取到另一个分区的常量呢?


[ 本帖最后由 liufan 于 2012-9-27 20:42 编辑 ]


回复

使用道具 举报

155

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

荣誉会员勋章

发表于 2014-2-25 14:46:59 | 显示全部楼层
刚刚用飞思卡尔的芯片,感觉飞思卡尔自带的程序很少,不像TI有库可以调用。你有mc9s12hy64的官方例程么?比如定时器什么的。谢谢楼主分享!


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-7-16 10:36 , Processed in 0.081540 second(s), 17 queries , Gzip On, Redis On.

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