Hello,
I've read the "Serial Boot Loader for CC253x.pdf" document, specifically section 11, "Forcing boot-mode or early jump to Application code". I'm using the UART interface and trying to get it to start faster than the one minute. After one minute passes I see the application start and receive bytes on the UART. I'm not able to get the SBL to boot faster by sending it 0x07. When should this byte be sent? Within X mSec after the pulsing the reset line? Also, is there any way of shortening the 1 minute delay?
Thanks,
Derek
fixituntilitsbroken.blogspot.com
Hi Derek,
I didn't succeed to get the UART interface running. However SPI is working fine so the CC2530 is okay.
Please can you share about your setup ?
Are you connected to:
- P1_4/P1_5/P1_6/P1_7 for CTS/RTS/TX/RX and P1_2/P2_0 for CFG0/CFG1
or
- P0_4/P0_5/P0_3/P0_2 for CTS/RTS/TX/RX and P0_0/P0_1 for CFG0/CFG1
Which ZNP image are you using ?
Many thanks in advance. Best regards, Patrick
I'm connected to P1.4/5/6/7 and am using a modified version of ProdHex; modified to run on that USART. I can see the SYS_RESET_IND message sent 50 seconds after startup, and after that I can send/receive on the UART interface just fine. But can't skip the SBL. Do you have a logic analyzer trace?
I can see on a logic analyzer that the 0x07 is going to the CC2530, but nothing happens. Since the SBL doesn't use flow control, it doesn't matter what those signals are, right?
"Since the SBL doesn't use flow control, it doesn't matter what those signals are, right?"
That's exactly what I thought when I got Dirty Harry's reply about turning handshake off during the boot loading sequence but, although I didn't check with the logic analyzer since it works fine on my side, I suppose the SBL checks the CTS line level to decide what to do.
Under .netmf, this is now what my code does and it works fine:
public void reset()
{
serialPort.Close();
serialPort.Handshake = Handshake.None;
serialPort.Open();
resetPort.Write(false);
Thread.Sleep(100);
resetPort.Write(true);
serialPort.Write(new byte[] { 0x7 }, 0, 1);
serialPort.Handshake = Handshake.RequestToSend;
}
Patrick.