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

有朋友在用DZ96没?有的话一起讨论下。

有朋友在用DZ96没?有的话一起讨论下。

原DZ60程序移值到DZ96上程序有时会跑飞,采用banked模式
程序编译都完全OK!采用__far, __near操作。能实现分页Flash的访问,但有的程序就跳不出来了。
参考设计AN3730
附方法:
/**
  Copyright (c) 2008 Freescale Semiconductor

  \file             main.c
  \brief            Code example for allocating functions in local and in banked memory in S08 devices
  \author           Freescale Semiconductor
  \author     Rick Li
  \author           Technical Information Center
  \version    1.0
  \date             01/May/2008
  \warning   

*/

#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

#pragma CODE_SEG NON_BANKED
void __near NearFunction(void);
#pragma CODE_SEG DEFAULT

#pragma CODE_SEG PAGED_ROM
void __far FarFunction(void);
#pragma CODE_SEG DEFAULT

void main(void) {

  EnableInterrupts; /* enable interrupts */
  /* include your code here */
     
  NearFunction();
  FarFunction();
  
  for(;;) {
    __RESET_WATCHDOG(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}


#pragma CODE_SEG NON_BANKED
void __near NearFunction(void){
}
#pragma CODE_SEG DEFAULT

#pragma CODE_SEG PAGED_ROM
void __far FarFunction(void){
}
#pragma CODE_SEG DEFAULT
楼主留下联系方式吧. qq之类的
返回列表