搜索
bottom↓
回复: 16

学习飞思卡尔遇到的各种问题

[复制链接]

出0入0汤圆

发表于 2013-2-1 11:25:53 | 显示全部楼层 |阅读模式
本帖最后由 liujing8862770 于 2013-2-2 11:14 编辑

我打开演示程序下载进单片机可以正常运行

我把演示程序里面的代码拷贝出来

自己新建一个工程下载到单片机里面就不能运行了
有谁知道为什么吗

这个新建工程拷贝演示程序秒表代码进单片机,单片机不能正常运行
拷贝流水灯代码,单片机[还能正常运行
同一个软件下面的2个工程

一个工程是我自己建的,一个工程师演示代码。里面的程序代码是一样的。但是为什么一个下载到单片机里面可以运行,一个不可以呢!求指教。
有没有谁用中断向量表呢。

中断向量在在头文件里面有详细情况!

用MC9S12NE64,使用中断向量时,提示VECTOR allocated at absolute address 0xffca overlaps with sections placed in segment .abseg0。
矢量分配在的绝对地址0xffca重叠部分放置在段.abseg0。这个是什么情况!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2013-2-1 12:34:52 | 显示全部楼层
你确定你的拷贝方法是正确的?一般的拷贝都是新建工程,让把演示程序里面的source文件下面的代码部分拷贝到新建工程的source文件里面,然后再从CW的工程里面添加文件。。。你是怎么做的?

出0入0汤圆

 楼主| 发表于 2013-2-1 13:18:17 | 显示全部楼层
ryderkun 发表于 2013-2-1 12:34
你确定你的拷贝方法是正确的?一般的拷贝都是新建工程,让把演示程序里面的source文件下面的代码部分拷贝到 ...

直接拷贝main()部分,拷贝流水灯程序能正常运行。用到中断定时器的秒表程序就不能正常运行了

出0入0汤圆

发表于 2013-2-1 13:34:26 | 显示全部楼层
liujing8862770 发表于 2013-2-1 13:18
直接拷贝main()部分,拷贝流水灯程序能正常运行。用到中断定时器的秒表程序就不能正常运行了
...

那你有没有试过直接把中断定时器的秒表程序的工程直接用CW打开,直接烧写呢?

出0入0汤圆

 楼主| 发表于 2013-2-1 13:57:16 | 显示全部楼层
ryderkun 发表于 2013-2-1 13:34
那你有没有试过直接把中断定时器的秒表程序的工程直接用CW打开,直接烧写呢? ...

试过,可以正常运行

出0入0汤圆

 楼主| 发表于 2013-2-1 13:58:49 | 显示全部楼层
ryderkun 发表于 2013-2-1 13:34
那你有没有试过直接把中断定时器的秒表程序的工程直接用CW打开,直接烧写呢? ...

试过,可以正常运行

出0入0汤圆

 楼主| 发表于 2013-2-1 14:50:12 | 显示全部楼层
我已经找到原因了,project.prm里面的中断文件没有拷贝进去。

出0入0汤圆

发表于 2013-2-1 15:46:27 | 显示全部楼层
liujing8862770 发表于 2013-2-1 14:50
我已经找到原因了,project.prm里面的中断文件没有拷贝进去。

嗯,我猜也是这样,你今年参加智能车?

出0入0汤圆

 楼主| 发表于 2013-2-1 17:19:27 | 显示全部楼层
ryderkun 发表于 2013-2-1 15:46
嗯,我猜也是这样,你今年参加智能车?

没有呢,学习学习飞思卡尔而已。

出0入0汤圆

发表于 2013-2-1 17:32:06 | 显示全部楼层
飞思卡尔的编译器  
代码限制非常讨厌。。。。。。。。。。。

出0入0汤圆

发表于 2013-2-1 17:48:04 | 显示全部楼层
楼主是用IAR还是?

出0入0汤圆

 楼主| 发表于 2013-2-1 17:50:57 | 显示全部楼层
peterqiu 发表于 2013-2-1 17:48
楼主是用IAR还是?

飞思卡尔

出0入0汤圆

发表于 2013-2-1 20:52:17 | 显示全部楼层
liujing8862770 发表于 2013-2-1 17:50
飞思卡尔

飞思卡尔自己研发的codewarrir?

出0入0汤圆

 楼主| 发表于 2013-2-2 11:12:30 | 显示全部楼层
peterqiu 发表于 2013-2-1 20:52
飞思卡尔自己研发的codewarrir?

嗯,是的

出0入0汤圆

 楼主| 发表于 2013-2-2 11:46:24 | 显示全部楼层
这个是project.prm文件

/* This is a linker parameter file for the MC9S12NE64 */
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */

SEGMENTS  /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */

/* Register space  */
/*    IO_SEG        = PAGED         0x0000 TO   0x03FF; intentionally not defined */

/* RAM */
      RAM           = READ_WRITE    0x0400 TO   0x1FFF;

/* non-paged FLASHs */
      ROM_4000      = READ_ONLY     0x4000 TO   0x7FFF;
      ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF;
/*   VECTORS       = READ_ONLY     0xFF00 TO   0xFFFF; intentionally not defined: used for VECTOR commands below */
   //OSVECTORS      = READ_ONLY     0xFFA0 TO   0xFFFF;   /* OSEK interrupt vectors (use your vector.o) */

/* paged FLASH:                     0x8000 TO   0xBFFF; addressed through PPAGE */
      PAGE_3C       = READ_ONLY   0x3C8000 TO 0x3CBFFF;
      PAGE_3D       = READ_ONLY   0x3D8000 TO 0x3DBFFF;
/*    PAGE_3E       = READ_ONLY   0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */
/*    PAGE_3F       = READ_ONLY   0x3F8000 TO 0x3FBEFF; not used: equivalent to ROM_C000 */
END

PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */
      _PRESTART,              /* Used in HIWARE format: jump to _Startup at the code start */
      STARTUP,                /* startup data structures */
      ROM_VAR,                /* constant variables */
      STRINGS,                /* string literals */
      VIRTUAL_TABLE_SEGMENT,  /* C++ virtual table segment */
    //.ostext,                /* OSEK */
      NON_BANKED,             /* runtime routines which must not be banked */
      COPY                    /* copy down information: how to initialize variables */
                              /* in case you want to use ROM_4000 here as well, make sure
                                 that all files (incl. library files) are compiled with the
                                 option: -OnB=b */
                        INTO  ROM_C000/*, ROM_4000*/;

      DEFAULT_ROM       INTO  PAGE_3C, PAGE_3D                  ;

    //.stackstart,            /* eventually used for OSEK kernel awareness: Main-Stack Start */
      SSTACK,                 /* allocate stack first to avoid overwriting variables on overflow */
    //.stackend,              /* eventually used for OSEK kernel awareness: Main-Stack End */
    DEFAULT_RAM         INTO  RAM;

  //.vectors            INTO  OSVECTORS; /* OSEK */
END

ENTRIES /* keep the following unreferenced variables */
    /* OSEK: always allocate the vector table and all dependent objects */
  //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart
END

STACKSIZE 0x100

//VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */
////VECTOR 0 Entry  /* reset vector: this is the default entry point for an Assembly application. */
//INIT Entry      /* for assembly applications: that this is as well the initialization entry point */
VECTOR ADDRESS 0xffcc PTH_inter

出0入0汤圆

发表于 2013-2-27 16:11:28 | 显示全部楼层
prm文件设置了中断入口名称,你复制的时候也要把原来的prm文件替换成原来的文件,否则,中断函数会有问题的。

出0入0汤圆

 楼主| 发表于 2013-2-28 15:37:04 | 显示全部楼层
StoneSun 发表于 2013-2-27 16:11
prm文件设置了中断入口名称,你复制的时候也要把原来的prm文件替换成原来的文件,否则,中断函数会有问题的 ...

嗯,知道。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 01:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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