-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Potential /OE timing issues on 29MHz products with 55ns flash #7
Comments
Products possibly affected (29MHz and 55ns flash) that might benefit from this patch include:
|
Also, please note the following information that was included in the PCN (Part Change Notification):
|
In 2024, Digi troubleshot a customer issue on RCM3365 hardware where boards failed to start up when warmed above room temperature. Boards would “cold” boot, but could only get through a reboot sequence if kept off long enough to return to room temperature. The root cause was related to timing issues when executing code on the 10ns SRAM with 0 wait states and 22MHz clock doubled to 44MHz. When running above room temperature, memory reads would fail if early /OE wasn’t enabled. Customers experiencing similar symptoms should try patching CPUPARAM.LIB and StdBios.c in Lib/BIOSLIB with the changes detailed in #8. Those updated files ensure that early /OE is enabled before the clock doubler, regardless of whether the firmware is using the spectrum spreader. |
Due to the obsolescence of the previously qualified 45ns flash memory for select SKUs in the Rabbit family’s product line, Digi qualified 55ns flash from the same supplier and started manufacturing boards with that flash in 2020 Q4.
Calculations from the Rabbit 3000 data sheet and scope captures of flash memory reads show the processor timing meeting the flash memory's timing requirements with a narrow margin. In typical operation, the BIOS startup code enables an "early output enable (/OE)" feature that provides a wider timing margin.
There are two instances when that is not the case, and products are operating with the narrow margin:
ENABLE_SPREADER
set to 0).The text was updated successfully, but these errors were encountered: