Hi, I am Ramakrishna.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Hi, I am Ramakrishna.

Jump to solution
1,424 Views
ramakrishnadutt
Contributor I

Currently I am doing the Bootloader work for this controller.

When I am trying to change the linker file of application code, I am facing problems.

Is there any security password for the DSC that it will lock the controller when proper things are not written into the linker file.

Kindly help on this issue.

Also, please help me how to change the command file of application code.

I am not understanding.

Labels (1)
0 Kudos
1 Solution
1,219 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

Unfortunately, the security feature is related to the Flash technology, for the DSC family with DSP56800EX core for example MC56F84xxx and MC56F82xxx, the two families use the same flash technology as that of Kinetis. If you want to DISABLE the security feature, just do not write any value to the WORD address from P:0x200 to 0x207, in other words, keep the address section as the values shipped from factory.

The following is the memory allocation for MC56F82748. Pls do not touch the program flash address:

.p_reserved_FCF  (RWX) : ORIGIN = 0x00000200, LENGTH = 0x00000008

it is okay, the DSC will be in unsecure mode.

This is the security mechanism. After Reset, the Low byte value saved in P:0x206 will be copied to the byte register FTFA_FSEC, if the SEC bits is 10 in binary, the DSC will be in unsecure mode, the user  can write/read flash via JTAG.

MEMORY {

        # I/O registers area for on-chip peripherals

        .x_Peripherals (RW)   : ORIGIN = 0xC000, LENGTH = 0

        # List of all sections specified in the "Build options" tab

        .p_Interrupts  (RWX) : ORIGIN = 0x00000000, LENGTH = 0x000000DE

        .p_Code  (RWX) : ORIGIN = 0x00000208, LENGTH = 0x00007DF8

        .x_Data  (RW) : ORIGIN = 0x00000000, LENGTH = 0x00001000

        .p_reserved_FCF  (RWX) : ORIGIN = 0x00000200, LENGTH = 0x00000008

        .x_internal_ROM  (RW) : ORIGIN = 0x000040DE, LENGTH = 0x00000122

        # p_flash_ROM_data mirrors x_Data, mapping to origin and length

        # the "X" flag in "RX" tells the debugger flash p-memory.

        # the p-memory flash is directed to the address determined by AT

        # in the data_in_p_flash_ROM section definition

        .p_flash_ROM_data  (RX) : ORIGIN = 0x00000000, LENGTH = 0x00001000

  }

BR

XiangJun Rong

View solution in original post

0 Kudos
3 Replies
1,220 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

Unfortunately, the security feature is related to the Flash technology, for the DSC family with DSP56800EX core for example MC56F84xxx and MC56F82xxx, the two families use the same flash technology as that of Kinetis. If you want to DISABLE the security feature, just do not write any value to the WORD address from P:0x200 to 0x207, in other words, keep the address section as the values shipped from factory.

The following is the memory allocation for MC56F82748. Pls do not touch the program flash address:

.p_reserved_FCF  (RWX) : ORIGIN = 0x00000200, LENGTH = 0x00000008

it is okay, the DSC will be in unsecure mode.

This is the security mechanism. After Reset, the Low byte value saved in P:0x206 will be copied to the byte register FTFA_FSEC, if the SEC bits is 10 in binary, the DSC will be in unsecure mode, the user  can write/read flash via JTAG.

MEMORY {

        # I/O registers area for on-chip peripherals

        .x_Peripherals (RW)   : ORIGIN = 0xC000, LENGTH = 0

        # List of all sections specified in the "Build options" tab

        .p_Interrupts  (RWX) : ORIGIN = 0x00000000, LENGTH = 0x000000DE

        .p_Code  (RWX) : ORIGIN = 0x00000208, LENGTH = 0x00007DF8

        .x_Data  (RW) : ORIGIN = 0x00000000, LENGTH = 0x00001000

        .p_reserved_FCF  (RWX) : ORIGIN = 0x00000200, LENGTH = 0x00000008

        .x_internal_ROM  (RW) : ORIGIN = 0x000040DE, LENGTH = 0x00000122

        # p_flash_ROM_data mirrors x_Data, mapping to origin and length

        # the "X" flag in "RX" tells the debugger flash p-memory.

        # the p-memory flash is directed to the address determined by AT

        # in the data_in_p_flash_ROM section definition

        .p_flash_ROM_data  (RX) : ORIGIN = 0x00000000, LENGTH = 0x00001000

  }

BR

XiangJun Rong

0 Kudos
1,219 Views
ramakrishnadutt
Contributor I

Ok, I understood, but can u please tell me how to write/modfiy the linker file.

Because i am using bootloader project & application project.

I want to link the application project to the bootloader project.

0 Kudos
1,219 Views
TICS_Fiona
NXP Employee
NXP Employee

Hello Ramakrishna

For how write the link command file, please refer to <Chapter 7 ELF Linker> in the DSC build tools reference, which locates under CW10.6 folder:

C:\Freescale\CW MCU v10.6.4\MCU\Help\PDF\MCU_DSC_Compiler.pdf

For how to modify the link command file in application project so that it can be supported by bootloader, please refer to section 5 in this AN:

http://cache.nxp.com/files/microcontrollers/doc/app_note/AN4759.pdf

>> Is there any security password for the DSC that it will lock the controller when proper things are not written into the linker file.

To change the security state, please program the security byte of the flash configuration filed. The chip can be unsecured by using the backdoor key access feature. For details, please refer to the Reference Manual for your DSC.

I’m confused with your request, how does the DSC know whether proper things are written into the linker file?

Best Regards

Fiona Kuang

Technical Information & Commercial Support

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos