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.

LCDK-C6748 Boot Config (DIP Switch) and PLL configuration

Hi,

I have been usigng my LCDK6748 board with UART-2 Boot Option.

(DIP Switch was OFF-ON-OFF-ON- ....)

I wanted to try NOR boot option, so I changed the DIP switch  into OFF-OFF-OFF-ON-...

After that, I found the that UART baud rate went to somthing else.

With UART2 boot option, UART clock divider 104 makes 115200 baud rate,
But with another boot option, UART clock divider 85 makes 115200 baud rate,

UART initialization code was not changed and PLL initialization code was not changed.

My program always reinitializes PLL, when it starts.

I use JTAG connection to run the program without GEL file support.

My PLL initialization is :

 PLL0Init(0, 24, 0, 1, 0, 2, 5);
 PLL1Init(24, 1, 0, 1, 2);

I don't know why UART baudrate depens on boot-config regardless of the same PLL initialization.

How can I get same UART baud-rate with the same initialization code, among the various boot configurations?

  • JungBai Park,

    The Boot ROM is intended to implement whichever boot mode has been selected, and only that boot mode. Any peripherals which must be initialized for a selected boot mode, those peripherals will be initialized but no others.

    If you select the UART2 boot mode, then the device's components and the UART2 peripheral will be initialized according to the Bootloader Application Note and according to the various boot configuration pins. No other interfaces will be initialized in the course of the primary RBL (ROM Boot Loader) execution.

    If you select the NOR boot mode, then the device's components and the EMIFA peripheral will be initialized according to the Bootloader Application Note and according to the various boot configuration pins. No other interfaces will be initialized in the course of the primary RBL (ROM Boot Loader) execution.

    You must do all other initialization in your own initialization code, or in a secondary bootloader if you use one.

    Regards,
    RandyP

  • RandyP,

    Thank you for your reply.

    I found that my UART initialization code doesn't set MDR register which has 16x/13x oversampling control.

    Only with UART-2 boot mode MDR was set to 1, Otherwise it was set to 0 by default.

    That's why I got different UART baud rate.

    Your reply was very helpful to find the problem.

    Regards.