Cortex M3 上UCOSII移植存在严重错误

[复制链接]
3044|0
 楼主| yan211 发表于 2008-6-21 09:29 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;从其官方网站下载下来的UCOSII针对Cortex&nbsp;M3的移植存在问题。<br />//NVIC_SYSPRI2&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE000ED20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;System&nbsp;priority&nbsp;register&nbsp;(&nbsp;2&nbsp;).<br />NVIC_SYSPRI2&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE000ED22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;System&nbsp;priority&nbsp;register&nbsp;(yan).<br />//NVIC_PENDSV_PRI&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PendSV&nbsp;priority&nbsp;value&nbsp;(highest).<br />NVIC_PENDSV_PRI&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PendSV&nbsp;priority&nbsp;value&nbsp;(LOWEST&nbsp;yan).<br />&nbsp;&nbsp;问题一:PSV异常地址错误,其二将任务调度的异常设置为最高优先级,这样存在问题。若一个&nbsp;低优先级任务中要求任务调度,PSV异常会立马执行&nbsp;,执行完毕后不是回到原异常处理&nbsp;,而是执行用户任务。这在&ltdefinitive&nbsp;guide&nbsp;of&nbsp;cortex&nbsp;m3&gt中有详细的描述,很基本的问题。不详细是移植者的水平问题,而且从其注释和变量定义来看,估计是有意为之。<br />&nbsp;&nbsp;我认为应将PSV的优先级设置为最低,当然现有代码还要做相应调整。若有异议,请拍砖。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部