ΣSigmaStudio Ask AI Русский Log in

BF592 spi slave boot loading

Processors & DSP BFerkovich583 Mar 26, 2019 00:00 1 replies Original on forum ↗
Thread Summary

Thread Summary

The user experiences an issue with the HWAIT signal asserting and not deasserting after sending the first 8 bytes of a loader file to a BF592 in SPI slave boot mode. The final answer explains that HWAIT is used to prevent the host from being overrun with data and should deassert once the boot kernel is ready. The user should verify the boot type, format, and width settings in the Load option, and ensure the loader file is correctly formatted for the selected configuration.
AI Generated Content
Subscribe
BFerkovich583 Question
Mar 26, 2019 00:00

I am trying to use the spi slave boot mode to send a loader file to a BF592. After the first 8 bytes are sent, the HWAIT signal asserts and never deasserts.

I am sending the loader file bytes exactly as they are in the .ldr file.

The first 4 lines of the loader file are:

:020000040000FA
:10000000015025AD0000A0FF00000000189E000078
:2000100001009DAD000080FF400E000000000000B400000000FF000B0C0080FF000000006F
:2000300000000000008000020000000001000000BA06A1FF1C07A1FFA006A1FF4808A1FFD4

I am sending ":" followed by "0" followed by "2" etc. Is that correct? Am I supposed to parse the data somehow? Is the loader file in the correct format?

Thanks for any help!

ADIApproved Reply
Apr 5, 2019 00:00

Hi ,

Regarding, "After the first 8 bytes are sent, the HWAIT signal asserts and never deasserts."

>>The boot kernel first senses the polarity on the respective HWAIT pin. Then it enables the output driver but keeps the signal in its asserted state.
The signal is not released until the boot kernel is ready for data, or when a receive DMA is started. As soon as the DMA completes, HWAIT becomes
active again. The boot host wait signal holds the host from booting in any slave boot mode and prevents it from being overrun with data.

While the HWAIT signal is only used for boot purposes, it may also play a significant role after booting. In slave boot modes, for example, the host
device does not necessarily know whether the Blackfin processor is in an active mode or a power-down mode. For example, the HWAIT signal can be
used to signal when the processor is in hibernate mode.

While the HWAIT signal is mandatory in some boot modes, it is optional in others.If using a pull-up resistor, the HWAIT signal is driven low for the rest of the
boot process (and beyond). If using a pull-down resistor, HWAIT is driven high.

With a pull-down resistor, this feature can be used to simulate an active-low reset output. When the processor is reset, or in hibernate, the
GPIO is in a high impedance state and HWAIT is pulled low by the resistor. As soon as the processor recovers and has settled the PLL again, the HWAIT
is driven high and can alert external circuits.

Regarding,"I am sending ":" followed by "0" followed by "2" etc. Is that correct? Am I supposed to parse the data somehow? Is the loader file in the correct format?"
>> It seems that you are using Hex format in Load option. Loader file will depends on "boot type", "format", and "width" selected in Load option.

Regards,
Lalitha.S