关于飞思卡尔用了监控程序以后出现的向量表移动问题的解决方案。

由于单片机烧写了监控程序,监控程序占用的空间正好是原来放置中断向量表的空间。F000~FEFF。

故我们需要移动向量表的起始地址,于是有了以下一段程序。

const tIsrFunc _InterruptVectorTable[] @0xEF10 = {

由于篇幅限制,表中内容省略。

总之,这段程序的意思就是将中断向量表的首地址强制定位到了EF10从而起到避免与监控程序冲突的作用。

但是链接的时候会出现问题。L1119:Vector allocated at absolute address 0xFFFE overlaps with sections placed in segment .absSeg292 就是地址冲突。如何解决呢。

相信大多数参赛的同学都是用BDM的。于是在工程文件夹下找到prm文件夹,里面有一个project.prm把里面的内容全部修改为如下

NAMES
   
END

SEGMENTS

RAM           = READ_WRITE  DATA_NEAR            0x2000 TO   0x3FFF;

ROM_4000      = READ_ONLY   DATA_NEAR IBCC_NEAR  0x4000 TO   0x7FFF;
      ROM_C000      = READ_ONLY   DATA_NEAR IBCC_NEAR  0xC000 TO   0xFEFF;

//OSVECTORS     = READ_ONLY                        0xFF10 TO   0xFFFF;

EEPROM_00     = READ_ONLY   DATA_FAR IBCC_FAR  0x000800 TO 0x000BFF;
      EEPROM_01     = READ_ONLY   DATA_FAR IBCC_FAR  0x010800 TO 0x010BFF;
      EEPROM_02     = READ_ONLY   DATA_FAR IBCC_FAR  0x020800 TO 0x020BFF;
      EEPROM_03     = READ_ONLY   DATA_FAR IBCC_FAR  0x030800 TO 0x030BFF;
      EEPROM_04     = READ_ONLY   DATA_FAR IBCC_FAR  0x040800 TO 0x040BFF;
      EEPROM_05     = READ_ONLY   DATA_FAR IBCC_FAR  0x050800 TO 0x050BFF;
      EEPROM_06     = READ_ONLY   DATA_FAR IBCC_FAR  0x060800 TO 0x060BFF;
      EEPROM_07     = READ_ONLY   DATA_FAR IBCC_FAR  0x070800 TO 0x070BFF;

PAGE_F8       = READ_ONLY   DATA_FAR IBCC_FAR  0xF88000 TO 0xF8BFFF;
      PAGE_F9       = READ_ONLY   DATA_FAR IBCC_FAR  0xF98000 TO 0xF9BFFF;
      PAGE_FA       = READ_ONLY   DATA_FAR IBCC_FAR  0xFA8000 TO 0xFABFFF;
      PAGE_FB       = READ_ONLY   DATA_FAR IBCC_FAR  0xFB8000 TO 0xFBBFFF;
      PAGE_FC       = READ_ONLY   DATA_FAR IBCC_FAR  0xFC8000 TO 0xFCBFFF;

PAGE_FE       = READ_ONLY   DATA_FAR IBCC_FAR  0xFE8000 TO 0xFEBFFF;

END

PLACEMENT
      _PRESTART,             
      STARTUP,               
      ROM_VAR,               
      STRINGS,               
      VIRTUAL_TABLE_SEGMENT, 
    //.ostext,               
      DEFAULT_ROM, NON_BANKED,            
      COPY                   
                             
                        INTO  ROM_C000;

OTHER_ROM         INTO           PAGE_FE,          PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;

//.stackstart,           
      SSTACK,                
    //.stackend,             
      PAGED_RAM,

DEFAULT_RAM            
                        INTO  RAM;

DISTRIBUTE        DISTRIBUTE_INTO
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;
      CONST_DISTRIBUTE  DISTRIBUTE_INTO
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;
      DATA_DISTRIBUTE   DISTRIBUTE_INTO
                              RAM;
    //.vectors          INTO  OSVECTORS;
END

ENTRIES
   
  //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart
END

STACKSIZE 0x100

//VECTOR 0 _Startup
VECTOR 0 Entry 
//INIT Entry     
编译链接,程序通过。

如何解决飞思卡尔芯片使用监控程序产生的冲突问题相关推荐

  1. 飞思卡尔芯片解密 MC9S08GB60 芯片特点

    MC9S08GB60芯片的特点 ①60K 带块保护和安全机制的可片上在线编程的FLASH 存储器 ②4K 片上随机存储器(RAM) ③8 通道,10 位模数转换器(ATD) ④两个串行通信接口模块(S ...

  2. 飞思卡尔芯片上锁常见原因及解锁方法

    编程环境:飞思卡尔9s12X系列:code warrior 5.1 1.如果你在往芯片中烧写程序时出现如此提示,那么恭喜你~极有可能你的芯片已经上锁了,上锁的最常见原因就是相关地址的错误,总之是代码的 ...

  3. MC56F825X 芯片解密飞思卡尔芯片型号

    MC56F825X 芯片基本特性: •60mhz工作频率 •DSP和MCU功能统一,c高效架构 •芯片上的记忆 56F8245/46: 48kb (24K x 16)快闪记忆体;6kb (3K x 1 ...

  4. 飞思卡尔芯片k66单片机溢出_PWM 初试溢出中断

    /*****************头文件****************************************/ #include /* for EnableInterrupts macr ...

  5. 12.12飞思卡尔芯片的prm mcp和映射理解

    prm文件,是内存的映射地址,用自己写. 1:https://blog.csdn.net/lin_strong/article/details/78127072#commentBox:理解S12(X) ...

  6. 飞思卡尔mc9s08烧录方法_编程器USBDM 读写MC9S08+MC9S12(X)飞思卡尔批量烧录刷写器...

    双氙商品详情 相关推荐 商品标签云 买过的人评价 本品不接受任何理由的退货!购前看好.若想谈价优惠或老客户请按套餐拍,划算且不浪费大家时间!直接点这个链接:https://h5.m.taobao.co ...

  7. Day 1 | 实习第一天 飞思卡尔S12VR

    今天是实习的第一天 , 安装了CodeWarrior 和FreeMaster 两个软件其中第一个是飞思卡尔芯片的编译器,第二个是DeBUG的软件 CodeWarrior  FreeMaster 安装完 ...

  8. 关于飞思卡尔的芯片固件库问题,为什么5.3没有8位芯片固件选择MC9S08DZ60芯片

    描述:关于飞思卡尔的芯片固件库问题:是用(code warrior 5.3)IDE5.3没有找到8位的芯片. 我以前是用(Keil uVision5)MDK5,可以在软件内安装不同的固件F1到F4.所 ...

  9. 芯片解密MC9S08DZ16 飞思卡尔系列芯片解密

    飞思卡尔系列芯片解密型号如下: MC9S08EL系列芯片解密:MC9S08EL16, MC9S08EL32: MC9S08FL系列芯片解密:MC9S08FL8, MC9S08FL16: MC9S08G ...

最新文章

  1. Mysql 索引 事物
  2. 用python画哆啦a梦的身体_用Python画一个哆啦A梦
  3. Macbook全系列详细分析及购机指南
  4. node js 开发网站_使用Node JS开发网站
  5. python写一个类_python3学习笔记--002--写一个类
  6. 蔚来ES8正式交付售价46.8万元起 与Model系相比扛打吗?
  7. Vue2.0入门系列——父子组件间通信
  8. drf 频率组件 META字典详情
  9. ProxyToken:微软 Exchange 服务器中的认证绕过新漏洞,可窃取用户邮件
  10. [转]二阶巴特沃斯(Butterworth)滤波器
  11. 近600个教学学习资料链接(zz)
  12. 知人者智,自知者明——战胜自己才最强大(拥有一颗强大的内心,能量爆棚的内在灵魂)...
  13. alert意为:警告、警报。
  14. FPS游戏UE4逆向视频教程
  15. 弘辽科技:成立仅5年的拼多多是如何一步步“紧逼”阿里的?
  16. 优必选悉尼 AI 研究院王超岳:基于生成对抗网络的图像编辑方法
  17. Stata结果输出:Excel结果表变身LaTeX表格
  18. 苏轼写的是一首八句的七律,这首绝句应该是后人假冒苏轼的作品。
  19. 数字系统设计Logsim实例 自主设计 学号音乐盒
  20. cron的使用(二)

热门文章

  1. linux su -c 命令
  2. Git 常用命令及解释
  3. 【云宏大讲坛】超融合,融合的不仅是基础架构
  4. 计算机二级考试进制转换可以用计算机嘛,2016年计算机二级考试题中有关进制转换和编码问题...
  5. 2005年商业科技盘点:最被高估10大技术
  6. Macbook pro外接显卡实现深度学习
  7. logback高级特性使用(一)
  8. rgb sw 线主板接口在哪_纯白信仰打造RGB主机,四件套提升100%性能-Thermaltake
  9. 计算机大赛指导老师自评怎么写,计算机*学生的简单自我评价
  10. 关于PS课程中字体部分的学习总结