Bootloader for KL26

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

Bootloader for KL26

Jump to solution
3,289 Views
sunilkumar_sing
Contributor III

Hi,

 

I downloaded kinetis bootloader from here Kinetis Bootloader|Freescale .

We found that bootloader is available for many MCU like(K22,K64,KL25) but not for  KL26.

 

Where we can grep it or it is required customization in available bootloader of others MCU ?

 

Thanks,

Sunil

Labels (1)
0 Kudos
1 Solution
2,271 Views
mjbcswitzerland
Specialist V

Hi

Just a heads up for people requiring proven loaders for (almost) all Kinetis parts and boards (can build out-of-the-box with KDS or various other compilers/IDEs).

Compatible with KBOOT and AN2295 UART/USB but with more features (like Ethernet for parts with EMAC or via SPI controller, or USB-MSD, and SD card or USB memory stick as well as encrypted loading).

From the amount of posts about porting to other devices (which looks to take weeks or months of effort in many cases) there are many opportunities for professional developers to save huge amounts of their time and sponsor's costs, as well as relieving Freescale support, knowing that there is no need to re-invest the wheel so many times. The solutions are tested (over 3'000 registers users), fully documented, and intensively supported in case of any need for help. A single code base runs on all processor so no porting ever needed - neither between devices nor between tool chains.

Any application can still be used - there are many MQX application users for example.

Note - as mentioned in the previous post - don't start with K22 code base for K20DX100, use a K60D100 instead since it is virtually compatible otherwise. The K22 has various differences which would make a traditional port from it a much larger task.

Regards

Mark

Kinetis: http://www.utasker.com/kinetis.html

KL26: http://www.utasker.com/kinetis/FRDM-KL26Z.html / http://www.utasker.com/kinetis/TEENSY_LC.html

K22: http://www.utasker.com/kinetis/FRDM-K22F.html / http://www.utasker.com/kinetis/TWR-K22F120M.html

K60: http://www.utasker.com/kinetis/TWR-K60N512.html / http://www.utasker.com/kinetis/TWR-K60D100M.html / http://www.utasker.com/kinetis/TWR-K60F120M.html

Serial Bootloader (Ethernet, USB, MSD, KBOOT, AN2295, SREC, SD-card): http://www.utasker.com/forum/index.php?topic=1873.msg6796#msg6796 / http://www.utasker.com/docs/uTasker/uTaskerSerialLoader.PDF

For the complete "out-of-the-box" Kinetis experience and faster time to market

View solution in original post

13 Replies
2,271 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Sunil,

Unfortunately the KL26 MCUs are not supported by the Kinetis Bootloader 1.2, but you can port the bootloader from the KL25 MCU to the KL26 following the steps described in the chapter 10 "Kinetis bootloader porting" of the Kinetis Bootloader v1.2.0 Reference Manual:

http://cache.freescale.com/files/soft_dev_tools/doc/ref_manual/KBTLDR120RM.pdf#page=96

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

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

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

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

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

Yes, I am preferring the same just I was looking for the solution.

Can you please help me out into the following we are customizing the bootloader.

See that bootoader is configured on different UART for different MCU like: (For k22,k64 is configured for UART1 and for few is configured for UART0.)

Is there any reason behind that and seems it is not easy task to change "UART0 to UART1" if  application need these changes.

Thanks,

Sunil

0 Kudos
2,271 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Sunil,

The UART configured will depend on which serial port interface signals are connected to the OpenSDA circuit in the development board, that is why a different UART is used from one MCU to another.

The instance of the UART can be changed by modifying the .instance member in the g_peripherals[] table found on the peripherals_<device>.c file. Once the desired instance has been selected you need to tell the bootloader which pins to use for each peripheral, this is handled in the hardware_init_<device>.c file.

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

We are able to customized the bootloader for KL26,

We have another kinetis MCU K20  and also need  its bootloader.

Can we take the reference code of K22F  for porting the bootloader to K20 ?

Thanks,

Sunil

0 Kudos
2,271 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Sunil,

Could you tell us the complete K20 part number?

Best Regards,

Carlos Mendoza

Technical Support Engineer

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

This is the part exact part no: "MK20DX256VLL10"

One more help is needed:

I am upgrading firmware using the blhost  linux utility and calling bootloader at run time on event.

Once uart received "0x5a,0xa9" it will jump into the bootloader mode and will be ready for upgrade the application.

When I am testing this, it is working fine with window blhost.exe utility.

But When I am doing the same stuff with linux "blhost" utility it is going into the bootloader mode but returning any response.

seems its in hang state. below is the command.

./blhost  -p /dev/ttyUSB0,115200  -- get-property 1

Note: The problem is occurring  only when  jumping into the bootloader at run time.

What could be the issue ?

let me know if you need more information.

Thanks,

Sunil

0 Kudos
2,271 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Sunil,

Thanks for then information, If are going to use the MK20DX256VLL10 MCU then yes, you can port the bootloader from the MK22F12810 MCU. Please notice that if you are going to use the USB bootloader then you will have to configure the device to run from the External oscillator, this is because the K20 MCU does not have a high-precision internal reference clock (IRC), also make sure to update the Bootloader memory map configuration.

Regarding the blhost linux utility hanging, I have been able to reproduce the issue and have reported it to the developers. I got it working by unplugging and plugging back again the board when it got hanging, then after sending the commands 2 more times it worked:

tics-01@tics01-desktop:~/Downloads/FSL_Kinetis_Bootloader_1_2_0/bin/linux$ sudo ./blhost_i386 -p /dev/ttyACM0 -- get-property 1

Error: Initial ping failure: No response received for ping command.tics-01@tics01-desktop:~/Downloads/FSL_Kinetis_Bootloader_1_2_0/bin/linux$

tics-01@tics01-desktop:~/Downloads/FSL_Kinetis_Bootloader_1_2_0/bin/linux$ sudo ./blhost_i386 -p /dev/ttyACM0 -- get-property 1

Ping responded in 1 attempt(s)

Error: Initial ping failure: Invalid packet type.

tics-01@tics01-desktop:~/Downloads/FSL_Kinetis_Bootloader_1_2_0/bin/linux$ sudo ./blhost_i386 -p /dev/ttyACM0 -- get-property 1

Ping responded in 1 attempt(s)

Error: Initial ping failure: Invalid packet type.

tics-01@tics01-desktop:~/Downloads/FSL_Kinetis_Bootloader_1_2_0/bin/linux$ sudo ./blhost_i386 -p /dev/ttyACM0 -- get-property 1

Ping responded in 1 attempt(s)

Inject command 'get-property'

Response status = 0 (0x0) Success.

Response word 1 = 1258358017 (0x4b010501)

Current Version = K1.5.1

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

Thanks for this information, I will try it and acknowledge you once its done.

Sunil

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

Hope you are doing good.

We are still facing the issue for porting the bootloader and its not working.

Can you please provide us the bootloader for K20 if freescale has already done.

One more things there are no BSP files are available in KSDK1.2 for K20 and my all development is in KSDK environment.

Please provide the supported files or suggest the way do it.

Provide your inputs asap its urgent for me.

Thanks,

Sunil

0 Kudos
2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos,

Did you get the chance to look ?

Thanks,

Sunil

0 Kudos
2,271 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Sunil,

Apologies for the delay, unfortunately we don't have a bootloader for the K20 MCUs, which problems are you facing while migrating it?

Regarding the BSP files for the K20 MCUs, in KSDK the K20D10 MCUs are supported via the TWR-K60D100M board so you can use these files as reference to create the BSP files for your board, you will need to modify them according to your schematic and the reference manual.

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

0 Kudos
2,272 Views
mjbcswitzerland
Specialist V

Hi

Just a heads up for people requiring proven loaders for (almost) all Kinetis parts and boards (can build out-of-the-box with KDS or various other compilers/IDEs).

Compatible with KBOOT and AN2295 UART/USB but with more features (like Ethernet for parts with EMAC or via SPI controller, or USB-MSD, and SD card or USB memory stick as well as encrypted loading).

From the amount of posts about porting to other devices (which looks to take weeks or months of effort in many cases) there are many opportunities for professional developers to save huge amounts of their time and sponsor's costs, as well as relieving Freescale support, knowing that there is no need to re-invest the wheel so many times. The solutions are tested (over 3'000 registers users), fully documented, and intensively supported in case of any need for help. A single code base runs on all processor so no porting ever needed - neither between devices nor between tool chains.

Any application can still be used - there are many MQX application users for example.

Note - as mentioned in the previous post - don't start with K22 code base for K20DX100, use a K60D100 instead since it is virtually compatible otherwise. The K22 has various differences which would make a traditional port from it a much larger task.

Regards

Mark

Kinetis: http://www.utasker.com/kinetis.html

KL26: http://www.utasker.com/kinetis/FRDM-KL26Z.html / http://www.utasker.com/kinetis/TEENSY_LC.html

K22: http://www.utasker.com/kinetis/FRDM-K22F.html / http://www.utasker.com/kinetis/TWR-K22F120M.html

K60: http://www.utasker.com/kinetis/TWR-K60N512.html / http://www.utasker.com/kinetis/TWR-K60D100M.html / http://www.utasker.com/kinetis/TWR-K60F120M.html

Serial Bootloader (Ethernet, USB, MSD, KBOOT, AN2295, SREC, SD-card): http://www.utasker.com/forum/index.php?topic=1873.msg6796#msg6796 / http://www.utasker.com/docs/uTasker/uTaskerSerialLoader.PDF

For the complete "out-of-the-box" Kinetis experience and faster time to market

2,271 Views
sunilkumar_sing
Contributor III

Hi Carlos/Mark,

I am able to port AN2295 bootloader for KL26.

Thanks for the help.

Regards,

Sunil

0 Kudos