Hi, I am working on PC205 having ARM926ej as a processor in it along with DSPs included in it. Now, I am facing an issue regarding SOFTWARE REBOOT/RESET of the ARM processor as i don't have any WATCHDOG circuit on my board. I got that "When we make PC(program counter) points to ARM's Interrupt vector address base address which lies at 0xFFFF0000 or NOR flash base address (0x20000000 in my case)-- ARM gets rebooted". I have tried this using Assembly code (mov pc, [0x20000000] ) and equivalent kernel API (cpu_reset(0x20000000)) by making sure that interrupts are disabled, MMU is disabled and 1 to 1 memory mapping is been done before releasing. With the mentioned scheme (mov pc, [0x20000000]) -- Reboot works fine sometimes but get hung few times at three stages as below cases: 1) At the point where i am using "mov pc, [0x20000000] / cpu_reset(0x20000000)" itself.2) System reboots and boot loader starts post reboot and hangs when starting kernel.. print arrives 3) System reboots and boot loader starts post reboot and hangs when kernel is being uncompressed...So, Please help me out in this context as i have no other choice but make this soft reset works consistently at the moment. Any hint of help is greatly appreciated and very handy for me indeed. I have also gone through a query where they suggested "the CPU PLL register to fire a hardware reset." I got relative register named as SYS_RESETCTL-Reset Control Register but i am unable to use this register in ARM926ej processor. Thanks in advance, Krishna Kkrishna57k@gmail.com
Hi Krishna K,
I have moved your question to the Software Tools community as they may be best placed to answer your question.
Thanks
Hi Ryan,
I am new and desperate :) Thanks for the same.
Hi Krishna,
Firstly, sorry for the delay in getting a response to you.
The behaviour that you are describing is particular to the development board target that you are using; it is not the general soft-reset behaviour of the Arm 926EJ-S processor.
Are you able to clarify which target development board this is for ?
A quick search for 'PC205' didn't show up anything immediately relevant.
Regards,
Stuart
Ah, is it one of the 'picochip' boards ?
I found a reference in a press release at https://www.businesswire.com/news/home/20060321005541/en/picoChip-Launches-New-Family-Cost-Effective-Multi-Core-DSP where it states :
"..Like the PC203, the PC205 has 248 individual DSPs, and in addition includes a powerful ARM 926EJ-S.."
which fits your description.
This board is in excess of 10 years old and picoChip as they were then no longer exist (I think Intel might own that part of the business)
You will need to look at the programmers guide/Technical Reference Manual for this board, I trust you have it available ?
Hi Stuart,
Many thanks to you for the response and sorry i couldn't able to respond back in time.
As you said, the development i am using Picochip PC205 in which ARM926EJ-S process is present. And rightly said, PICOCHIP is no longer own this and was acquired by Mindspeed and subsequently by Intel.
Can you give me an idea how can't it be ARM926EJ-S processor soft-reset issue, as i believe independent of target board "each ARM processor must has its own soft reset mechanism that can be triggered by one of its internal registers ?" Please correct me if i am wrong as i am curious to understand the dependency of other factors on a soft reset.
Please let me know "How to do trigger a soft reset on ARM926EJ-S processor in generic way? (sequence of instructions) " as i am using the method i mentioned in the very first question.
Thanks,
Krishna K
The reset possibilities of the Arm926EJ-S are described below :
"The ARM9EJ-S core has two reset inputs:
If you were going down the path of a fake reset then you would need to ensure that the data cache(s) had been cleaned before they were invalidated and disabled.
This would be required as you may have dirty data stored in it/them that required writing out to the main memory system.
Thanks again for the quick and useful response :)
This helps a lot.