This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

сс1110 flash write

Other Parts Discussed in Thread: CC2510

Hello!

 I use flash_dma.c from cc1110_cc2510_Basic Software_Examples.

I have a problem with the recording and subsequent reading.
I use 27MHz quartz. Here is my piece of code to initialize:

extern void quartz_up_set_HS_XOSC (void)
{
  // Power up unused oscillator (HS XOSC).
    SLEEP &= ~0x04;

    // Wait until the HS XOSC is stable.
    while( !(SLEEP & 0x40) );

    // Change the system clock source to HS XOSC and set the clock speed to 27 MHz.
     CLKCON = (CLKCON & ~(CLKCON_CLKSPD | CLKCON_OSC)) | CLKSPD_DIV_1;

    // Wait until system clock source has changed to HS XOSC (CLKCON.OSC = 0).
    while (CLKCON & 0x40);

    // Power down the HS RCOSC, since it is not beeing used.
    // Note that the HS RCOSC should not be powered down before the applied
    // system clock source is stable (SLEEP.XOSC_STB = 1).
    SLEEP |= 0x04;

     
    CLKCON = (CLKCON & ~CLKCON_TICKSPD) | TICKSPD_DIV_1;

    // Clear and set prescaler divider value to 1
    T1CTL = (T1CTL & ~T1CTL_DIV) | T1CTL_DIV_1;
 
}


I understand I need to correctly set the FWT?
My FWT = 0x24;

Or need something else?

In the Smart RF Flash programmer as the impact on the work:
  Write protect boot block,
  Block debug commands (incl. Read access)?

Please help. Thank you in advance.

  • Hi
    Please read the errata when it comes to Premature XOSC_STB Assertion, and implement the fix described there.
    I have tested the flash_dma example but modified it to run on the 26 MHz XOSC (FWT = 0x22), and it works as expected. For a 27 MHz crystal you should set FWT to 0x23 or 0x24.
    If you do not get it to work, please be more specific as to what problems you are experiencing.
    BR
    Siri