| поискавой системы для электроныых деталей |
|
AP0100CS датащи(PDF) 52 Page - ON Semiconductor |
|
|
|||||||||||||||||||||||||||||
AP0100CS датащи(HTML) 52 Page - ON Semiconductor |
|
52 / 73 page ![]() AP0100CS HDR: Image Signal Processor (ISP) Start-up Host Command Lock-out AP0100CS/D Rev. 6, Pub. 1/16 EN 52 ©Semiconductor Components Industries, LLC,2016. Start-up Host Command Lock-out The AP0100CS firmware implements an internal Host Command ‘lock’. At start-up, the firmware obtains this lock, which prevents the Host from successfully issuing a host command. All host commands will be rejected with EBUSY until the lock is freed. The firmware releases the Host Command lock when it completes its start-up configura- tion processing. The time to do this is dependent upon the configuration mechanism. It is recommended that the Host poll the device with the System Manager Get State command until ENOERR is returned. Once the host can send serial commands it should perform the following sequence. 1. POLL command_register[15] until it clears (This is called the doorbell bit). 2. Continuously issue the SYSMGR_GET_STATE command (0x8101) until the result sta- tus is not EBUSY Below is some pseudocode that a host could use to implement the above sequence: def systemWaitReadyFollowingReset(numRetries=10): """API function: waits for the system to be ready following reset (or powerup) - first wait for the doorbell bit to clear - this indicates that the device can accept host commands. - then wait until the system has completed its configuration phase; the system is ready when the SYSMGR_GET_STATE command does not return EBUSY. - note the time for the system to be ready is dependent upon the active system configuration mode. - numRetries is the number of retries before timing-out - returns result status code """ # Wait for doorbell bit to clear (indicates device can receive host commands) retries = numRetries while (0 != retries): if (reg.COMMAND_REGISTER.DOORBELL.uncached_value == 0): break # ready to receive commands retries -= 1 if (0 == retries): # device failed to respond in time return printError(ResultStatus.EIO, 'systemWaitReadyFollowingReset failed (doorbell failed to clear)') # Wait for the System Manager to complete the System Configuration phase retries = numRetries while (0 != retries): res, currentState = sysmgrGetState() if (ResultStatus.ENOERR == res): break # we're done if (ResultStatus.EBUSY != res): return printError(res, 'systemWaitReadyFollowingReset failed (sysmgrGetState failed)') retries -= 1 if (0 == retries): # device failed to respond in time return printError(ResultStatus.EAGAIN, 'systemWaitReadyFollowingReset failed (device busy)') return res |
|
ссылки URL |
| Вашему бизинису помогли Аллдатащит? [ DONATE ] |
Что такое Аллдатащит | реклама | контакт | Конфиденциальность | Ссылка на техническое описание | обмен ссыками | поиск по производителю All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |