-
公开(公告)号:US09348730B2
公开(公告)日:2016-05-24
申请号:US11669776
申请日:2007-01-31
CPC分类号: G06F11/3644 , G06F11/3628 , G06F11/3648
摘要: A system in which firmware residing in ROM may be upgraded without re-spinning silicon. A one-bit flag may be assigned for each patchable function representing a firmware upgrade. The first statement of each function may check its associated flag and determine if patch-code should be executed in place of the current function residing in ROM. If the flag is not set, the code may continue executing normally. If the flag is set, a function identifier may be placed into a global memory location, and an assembly language “jump” instruction may be executed, redirecting program control to a specified location in a volatile Scratch Read Only Memory (SROM) where the corresponding patched code may be stored. If more than one function is patched, the global identifier may be used to determine which patched function to execute. Using an assembly language “jump” instruction to redirect control results in the patched function's returning normally to its calling function once it has completed executing.
摘要翻译: 驻留在ROM中的固件可以升级而不需要重新硅芯片的系统。 可以为表示固件升级的每个可修补功能分配一位标志。 每个功能的第一个语句可以检查其关联的标志,并确定是否应该执行补丁代码来代替驻留在ROM中的当前功能。 如果未设置标志,则代码可能会继续正常执行。 如果标志被设置,则可以将功能标识符放置到全局存储器位置中,并且可以执行汇编语言“跳转”指令,将程序控制重定向到易失性的只读存储器(SROM)中的指定位置,其中相应的 可以存储修补代码。 如果修复了多个功能,则可以使用全局标识符来确定要执行的修补功能。 使用汇编语言“跳转”指令重定向控制结果,修补后的函数在完成执行后正常返回到调用函数。
-
公开(公告)号:US20080184072A1
公开(公告)日:2008-07-31
申请号:US11669776
申请日:2007-01-31
IPC分类号: G06F11/07
CPC分类号: G06F11/3644 , G06F11/3628 , G06F11/3648
摘要: A system in which firmware residing in ROM may be upgraded without re-spinning silicon. A one-bit flag may be assigned for each patchable function representing a firmware upgrade. The first statement of each function may check its associated flag and determine if patch-code should be executed in place of the current function residing in ROM. If the flag is not set, the code may continue executing normally. If the flag is set, a function identifier may be placed into a global memory location, and an assembly language “jump” instruction may be executed, redirecting program control to a specified location in a volatile Scratch Read Only Memory (SROM) where the corresponding patched code may be stored. If more than one function is patched, the global identifier may be used to determine which patched function to execute. Using an assembly language “jump” instruction to redirect control results in the patched function's returning normally to its calling function once it has completed executing.
摘要翻译: 驻留在ROM中的固件可以升级而不需要重新硅芯片的系统。 可以为表示固件升级的每个可修补功能分配一位标志。 每个功能的第一个语句可以检查其关联的标志,并确定是否应该执行补丁代码来代替驻留在ROM中的当前功能。 如果未设置标志,则代码可能会继续正常执行。 如果标志被设置,则可以将功能标识符放置到全局存储器位置中,并且可以执行汇编语言“跳转”指令,将程序控制重定向到易失性的只读存储器(SROM)中的指定位置,其中相应的 可以存储修补代码。 如果修复了多个功能,则可以使用全局标识符来确定要执行的修补功能。 使用汇编语言“跳转”指令重定向控制结果,修补后的函数在完成执行后正常返回到调用函数。
-