打印
[ZLG-MCU]

呼叫hotpower,zlg.C++和ucos

[复制链接]
1896|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xingliu200|  楼主 | 2008-3-13 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xingliu200|  楼主 | 2008-3-13 16:33 | 只看该作者

自己搞定了。

zlg真该搞个例子。花了我半天。
原来是OSpendSV 这个中断向量没有放进去。
实在还是太不熟悉了。哈哈。
另:IAR调试真麻烦,没有VC++调试程序方便。差得太远。

使用特权

评论回复
板凳
zlgarm| | 2008-3-14 08:37 | 只看该作者

zlg已有成熟的UCOS模板

   我们已有成熟的UCOS模板,可在以下地址下载 http://www.zlgmcu.com/download/downs.asp?ID=2578 
    分别是KEIL和IAR版本,可不必花时间去移植。

   (zlgarm_zsg)

使用特权

评论回复
地板
xingliu200|  楼主 | 2008-3-15 15:16 | 只看该作者

我是说在C++下。

使用特权

评论回复
5
xingliu200|  楼主 | 2008-3-18 17:04 | 只看该作者

还是有问题

有时候编译好可以运行的程序,再注释掉一行或加一个函数,UCOS又起动不了了。OSpendSV这个中断似乎就不能产生了。

使用特权

评论回复
6
AIRWILL| | 2008-3-18 21:43 | 只看该作者

呼叫转接中, 请稍候...

使用特权

评论回复
7
xingliu200|  楼主 | 2008-3-19 16:59 | 只看该作者

终于又前进了一步

哈哈。原来是用了hotpower的__low_level_init()里面return 0
UCOS里面的__entersum未初始化,开始就是1.osInit()的时候调用了
enter_critical后,basepri值改为32,exit_critical不能改回来到0。这样中断始终打开不了。
这个调试器,看着执行了 MSREQ BASEPRI R1(0),但是BASEPRI中的值始终在32.
简直昏死。我把return 0改为return 1之后就好了。
怪不得注释一行或添点代码就不行。原来__entersum在随机位置未初始化。
搞了我几天。实在是书也还没看明白、调试器也用不来。
这下运行的总算还可以。

这下想来有点不明白,为何这么重要的参数要靠编译器去初始化,而不是显式的初始化。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

28

帖子

1

粉丝