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

[讨论]关于使用TBDML,CW3.1编译,CW4.5下载有操作系统程序的问题。

[讨论]关于使用TBDML,CW3.1编译,CW4.5下载有操作系统程序的问题。

问题的环境是:已经在CW4.5中成功建立SMALL模式的PROJECT完成UCOS系统的移植,并有调试信息和成功运行。
但由于手头上只有没有限制的CW3.1的liscence,所以采用了使用TBDML,CW3.1编译,CW4.5下载的方式。
情况如下:在CW3.1中建立PROJECT时,如果选中SMALL模式,则利用CW4.5的HIWAVE下载后的调试界面出现warning:NO Debug Information,但程序能够成功下载并运行。
该PROJECT的.MAP文件中显示

TARGET SECTION
Processor : Motorola HC12
Memory Model: SMALL
File Format : ELF (no debug info)
Linker : SmartLinker V-5.0.22 Build 4047, Feb 17 2004
—————————————疑惑的分割线————————————————————
而在CW3.1中建立PROJECT时,如果选中BANKED模式,则利用CW4.5的HIWAVE下载后的调试界面则会出现调试信息,但程序不能运行,出现Manual Stopped。
该PROJECT的.MAP文件中显示

TARGET SECTION
Processor : Motorola HC12
Memory Model: BANKED
File Format : ELF\Dwarf 2.0
Linker : SmartLinker V-5.0.22 Build 4047, Feb 17 2004
请问版主这是什么问题?我觉得跟ucos的移植是不是有关系,怀疑是OS_CPU_C.C里面的页面保存有关系?

飞思卡尔带我走进神奇的单片机世界
如果只是做一个简单的project,用CW3.1编译然后用CW4.5下载调试,也会有这样的问题吗?
海纳百川  有容乃大
不用操作系统的PROJECT不会出现这个问题 所以我怀疑是移植的时候和这种下载方式有冲突
飞思卡尔带我走进神奇的单片机世界
有可能是操作系统本身不支持分页模式?
海纳百川  有容乃大
确有这个问题,因为OS_CPU_C.C中对页面寄存器的保存是0X30的形式,而分页面存放任务则是利用了页面寄存器作为任务指针传递的方法(清华邵贝贝书上提供的例子),也就是说如果利用现有的移植范例只能建立SMALL类型的PROJECT了,不知版主和各位大侠有何高见??
飞思卡尔带我走进神奇的单片机世界
我记得清华做的uCOS是将不同的TASK放入不同的页面,操作系统本身会进行页面的操作。所以如果用户本身的程序也进行页面的设置和操作的话,可能会发生冲突。
海纳百川  有容乃大
版主说的清华的范例是这么做的,可我现在就是把所有的任务放在一个页面中,可是现在的问题是怎么用SMALL模式建立的工程文件会出现 NO DEBUG INFORMATION 的错误,我怀疑是用CW3.1调试,CW4.5下载,以及TBDML硬件不兼容的问题,不知版主使用的是什么下载器,我想如果是支持CW3.1的Multilink 会不会出现这个问题呢?我能把工程给您发过去吗?谢谢!!
飞思卡尔带我走进神奇的单片机世界
我只有CW4.5和P&E的Multilink。如果需要你可以发给我试试。
海纳百川  有容乃大
这是按照清华的例子做的,能编译通过 也能运行,就是没有调试信息 ,您试一下,麻烦您试一下,拜谢。。。
飞思卡尔带我走进神奇的单片机世界
就是用附件上传吗?呵呵,第一次用,不知收到没有。
飞思卡尔带我走进神奇的单片机世界
没有上传。或者发到strongchen_free@yahoo.com.cn吧。
海纳百川  有容乃大
返回列表