一个BUG(HiFive RevB 移植 uCOSII)

我在实现uCOII的移植的时候,发现了一个现象,就是在最低优先级的任务(不是Idle)开始运行的时候,OSIntNesting(一个全局变量)变成了536937460(0x200103F4),这是一个地址,然后我发现这是和任务堆栈初始化设置有关,第一个栈元素是任务函数的开始地址PC,然后,在OSIntNesting变化之前的一条指令的二进制码是0xCE061101,也就是说在mret和0xCE061101执行之后OSIntNesting就产生了变化。但是其他高优先级的任务第一次运行的时候并不会影响,所以我认为是一个访问存储器问题。希望能得到大家的帮助。因为造成BUG的原因可能是我的移植得不对。
我英文不太好,所以英文版的文字都是我利用百度翻译翻译过来的。

When I implemented the migration of ucoii, I found a phenomenon: when the task with the lowest priority (not the idle) started to run, OSIntNesting (a global variable) became 536937460 (0x200103f4), which is an address. Then I found that this is related to the initialization settings of the task stack. The first stack element is the start address PC of the task function, and then, The binary code of an instruction before the change of OSIntNesting is 0xce061101, that is to say, OSIntNesting changes after mret and 0xce061101 are executed. But other high priority tasks will not be affected when they are run for the first time, so I think it is a memory access problem. I hope I can get your help. Because the cause of bug may be that my migration is wrong.
My English is not very good, so I use Baidu to translate the English version of the text.