|
hi,All:
向大家请教一个问题,实在不知道该把此贴放在哪个板块下了
不知道有谁在作ARM开发的时候使用过Jazelle,(应该是研究Java虚拟机的同仁们),偶写了一个Java test程序,程序的主体就是一个infinite loop, 当CPU trap进入 jazelle DBX mode的时候,CPU就开始执行 java bytecode (infinite loop),然后,CPU 就不能从Jazelle mode跳出来了, 我的设计是CPU每执行一段时间就通过一个timer event通知虚拟机(通过设置一个timer),此时虚拟机就yield一段时间,让其他task来占用CPU,但是由于这种状况下(infinite loop),似乎CPU没有触发一个timer event 通知虚拟机挂起,而是一直处于Jazelle的mode执行那个infinite loop,结果,大家应该知道,watch dog 发现VM task一直处于运行,就激发reset circuit导致系统reset.
不知我的表述情不清楚,有哪位研究嵌入式Java虚拟机的同仁遇到过这种问题,看起来这应该是ARM Jazelle的一个well known 的问题. 但是我没有办法找到公开的解决方案. |
|