cupneedles
驱动牛犊
驱动牛犊
  • 注册日期2004-08-03
  • 最后登录2006-04-06
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1163回复:2

菜鸟请教为什么在franklin C51中编译出来的文件不能运行?

楼主#
更多 发布于:2004-09-27 16:42
各们大侠,我想请教一下,franklin C51和KEIL C51有什么区别,为什么把周立功的源码在franklin C51中编译后生成的.hex文件烧到片子上不能运行,我在仿真器中跟踪发现,在主循环中,一旦进入Set_Mode()就出不来了,同样源代码用KEIL C51编译就没有任何问题。
希望得到大侠的指教。谢谢!

[编辑 -  9/27/04 by  cupneedles]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-28 23:55
在早期,franklin和Keil使用同样的内核(编译器和连接器),但后来,两者分道扬镳了。

franklin高版本支持堆栈式临时变量,而Keil似乎不支持。
franklin允许在指定变量地址的同时付初值,而Keil不支持。

但Keil拥有更友好的界面和较稳定的内核,更好用一些。

你的问题,更多应该检查MCU的设置等问题。
A strong man can save himself. A great man can save another.
cupneedles
驱动牛犊
驱动牛犊
  • 注册日期2004-08-03
  • 最后登录2006-04-06
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-29 08:25
再次请问热心的大侠:
1、我用的KEIL是V6.12的,franklin是V6.02的,不知道两者是不是高版本的。
2、两者生成的.hex文件烧进的是同一种片子,一个文件能用,一个文件不能用,这会是哪方面的MCU设置问题。(用的是at89c52)
3、KEIL里在建立项目时,会要求选择MCU的型号,自动加入该片子的头文件,而franklin中没有这一步,是不是有这方面的原因?但我后来把89C52的头文件手动的拷到franklin的项目中,也改了include,再重新编译,还是没用。
注:我是新手,不知怎么给分,请明示。
游客

返回顶部