返回该小组首页 回复主题
yan211

yan211

小组等级:     E币:84  (E币换礼)

#1楼主:Cortex M3 上UCOSII移植存在严重错误

文章发表于:2008-06-23 11:57

从其官方网站下载下来的UCOSII针对Cortex M3的移植存在问题。
//NVIC_SYSPRI2    EQU     0xE000ED20                              ; System priority register ( 2 ).
NVIC_SYSPRI2    EQU     0xE000ED22                              ; System priority register (yan).
//NVIC_PENDSV_PRI EQU           0x00                              ; PendSV priority value (highest).
NVIC_PENDSV_PRI EQU           0xFF                              ; PendSV priority value (LOWEST yan).
  问题一:PSV异常地址错误,其二将任务调度的异常设置为最高优先级,这样存在问题。若一个 低优先级任务中要求任务调度,PSV异常会立马执行 ,执行完毕后不是回到原异常处理 ,而是执行用户任务。这在<definitive guide of cortex m3>中有详细的描述,很基本的问题。不详细是移植者的水平问题,而且从其注释和变量定义来看,估计是有意为之。
  我认为应将PSV的优先级设置为最低,当然现有代码还要做相应调整。若有异议,请拍砖。

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

浏览该小组的用户还看过...

设计资源与分销