智能车制作

标题: 关于CodeWarrior的问题 [打印本页]

作者: rollvin    时间: 2008-4-17 07:18
标题: 关于CodeWarrior的问题
<>我用的是4.5版本的CodeWarrior,新建一个项目后只在main.c里面加了两行代码,就是点亮</P><P>其中一个发光二极管,把程序通过串口下到DG128,然后在C029处运行,但是二极管一点</P><P>反应都没有,我听说要修改一下项目里面某个文件的一些代码,但又不知道怎么修改,请高手</P><P>请教一下。</P>
作者: auto    时间: 2008-4-19 17:36
标题: Re:关于CodeWarrior的问题
不用修改的,把你的代码发上来!
作者: rollvin    时间: 2008-4-21 02:35
标题: Re:关于CodeWarrior的问题
<><FONT style="BACKGROUND-COLOR: #c0c0c0">以下是我在网上搜到的:</FONT></P><P>&nbsp;/*************************/</P><P>&nbsp;&nbsp; 工程建立以后,需要定义装载地址。default.prm文件用于定义目标代码的装载地址,用户应当根据使用单片机的内存分配情况修改这个文件。CodeWarrior 自动生成的 .prm 文件默认MC9S12DG128 的RAM 在:<BR>&nbsp;RAM = READ_WRITE 0x0400 TO 0x1FFF;<BR>&nbsp;&nbsp;&nbsp; 这个默认区间必须修改,因为在这一空间有 1K 的I/O 寄存器空间 和2K EEPROM 空间。使用默认定义会丢失1K RAM 和 2K EEPROM。<BR>&nbsp;我们在监控程序中修改RAM空间:<BR>&nbsp;&nbsp;RAM = READ_WRITE 0x2000 TO 0x3FFF;<BR>&nbsp;当然也可以修改到:<BR>&nbsp;&nbsp;RAM = READ_WRITE 0x1000 TO 0x2FFF。<BR>建议用户采用我们的定义。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 另外,我们使用:<BR>&nbsp;&nbsp;&nbsp;&nbsp; STACKTOP 替代 STACKSIZE<BR>&nbsp;&nbsp;&nbsp; 因为STACKSIZE 0x100 在RAM低端留 0x100 空间,而使用 STACKTOP 0x3F00 可以将SP定义到RAM 高端。但是如果采用这种定义的方法,需要在前面定义RAM的时候,定义修改为:RAM=READ_WRITE 0x2000 TO 0x3EFF。 这样,工程连接的时候才不会出现错误。<BR>&nbsp;&nbsp;&nbsp; 另外还需要对于工程文件中 Start12.c中函数 : 原文位置<BR>void __interrupt 0 _Startup(void) 中 原文位置<BR>#ifdef _HCS12_SERIALMON 原文位置<BR>....... 原文位置<BR>....... 原文位置<BR>#endif<BR>两句宏命令注释掉,使得其中的对于EEPROM,RAM起始位置控制寄存器初始化语句有效。这样,下载后程序可以运行正常。<BR>  上述修改在大奖赛的官方网站上已有详细说明。</P><P>/*********************/</P><P>我照着修改但是不行</P><P>&nbsp;</P><P>&nbsp;</P>
作者: superyongzhe    时间: 2008-4-21 20:02
标题: Re:关于CodeWarrior的问题
其实不用改,prm文件改不好的话,晶振会停振,不运行。你看看单片机是否运行了




欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2