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