KBoot v2: User Application Settings

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

KBoot v2: User Application Settings

1,590 Views
s_l_
Contributor II


Hello everyone,

I was playing a litte bit with the new Kinetis Bootloader v2.0.0 the last days. Everything worked well with the Bootloader and the example user application "led_demo".

But now I wanted to try the bootloader with the KSDK 2.0 example "bubble". But the app doesn't start, I can connect to bootloader with "KinetisFlashTool" without reseting the board.

In my opinion I use the wrong linker settings. But I already replaced the original linker file of the KSDK example with the one of the "led_demo" and I created a customized linker file described in "How to adapt KDS applications for KBOOT bootloader" pdf. All without success....

Can anyone of you give me a hint, how to prepare my own apps, so that they work with KBOOTv2??

Thanks in advance,

Sebastian

10 Replies

912 Views
brendanmerna
Contributor IV

I'm doing a similar type of thing as this thread with the FRDM-K22F board.I want to get the bootloader working with the usb connection. I've been following the kinetis bootloader demo application user's guide.

I've done everything up to 4 "The host utility application". I'm plugged into SDA USB port and I see the MBED (E:) and I see the COM33: mbed Serial Port (COM33). I try to run the command "blhost.exe -p COM33 -- get-property 1" and it fails with "Error UartPeripheral() cannot open PC UART port(COM33), speed(57600 Hz)"

When I plug it into the other USB port it registers as a mass storage device "FSL Loader (E:). This FSL Loader comes from me directly flashing the micro using the freedom bootloader project in the Bootloader SDK. I imported and built the project located at "C:\Freescale\NXP_Kinetis_Bootloader_2_0_0\targets\MK522F51212\kds. Then I used the multilink to program the Release version of this project on to the micro. I want to be able to use the bootloader in this chip to update over USB without the USB SDA interface.

Am I doing something wrong? Which USB connection am I supposed to do? What is this FSL Loader?

-Brendan

0 Kudos

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hello Brendan Merna,

      If you have the question, please create a new post for yourself.

      We will reply you in your own new question post, please don't ask the questions follow other customer's post, especially the post which already marked as answered.

Wish it helps you!


Have a great day,
Kerry

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

0 Kudos

912 Views
brendanmerna
Contributor IV

Sorry Kerry! I made a new post. This one just didn't seem solved to me, which is why I posted.

0 Kudos

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hello Brendan Merna,

   Thank you for your cooperation!

    I already take your new post.

    I will reply you in your new post directly.


Have a great day,
Kerry

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

0 Kudos

912 Views
s_l_
Contributor II

Hi Jingjing,

thanks for your answer and sry for replying late.

In your documentation you used the flashloader_loader, which doesn't remain in memory.

I want the bootloader to remain within memory, so I used the freedom_bootloader and added the project specific peripherals I use.

Building and downloading works fine, bootloader remains in flash too.

But with this approach I have to adjust my user application to work with the bootloader.

What I figured out already, I have to use:

- K22FN512xx12_application_0xA000.icf linker file

- Defined symbols: BL_HAS_BOOTLOADER_CONFIG

- startup.c, startup_MK22F51212.s, system_MK22F51212.c from led_example in KBoot folder

- bootloader_core.h, target_config.h from led_example in KBoot folder

With this settings it seems to work fine for me. Now changing question: Is there a more easy way to configure my user app?

Have a nice day,

Sebastian

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Sebastian Lenz,

   Yes, flashloader_loader is just one time, after your download the application, the bootloader will be overwrite.

  But Freedom_bootloader will always in the flash.

  These just two types, you can choose freedom_bootloader.

  About the user application, just need to modify the link file to change the start address to the according address which is defined in the bootloader, this is already very easy, and it is necessary.

Wish it helps you!


Have a great day,
Kerry

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

0 Kudos

912 Views
s_l_
Contributor II

Hi Jingjing,

I use the MK22FN512 with the FRDM-K22F board.

It's the freedom_bootloader (flash bootloader) with UART communication I was playing with. The path to the bubble example is the following:

KSDK_2.0.0/boards/frdmk22f/demo_apps/bubble

Greetz!

0 Kudos

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Sebastian Lenz,

    I already tried the bubble code in the KSDK2.0-FRDM-K22F120M, and I can use the Kinetis bootloader 2.0 to download it, now, please follow my step:

1. Download the flashbootloader to FRDM-K22F120M board

open bootloader code in folder:NXP_Kinetis_Bootloader_2_0_0\NXP_Kinetis_Bootloader_2_0_0\targets\MK22F51212

Then build freedom_bootloader, flashloader and flashloader_loader

32.jpg

After you build it, then download the flashload_loader code to your FRDM-K22 board, then press the reset button on the board.

2.  Generate the bubble.bin code in the KSDK2.0: SDK_2.0_FRDM-K22F\boards\frdmk22f\demo_apps\bubble\iar

You don't need to modify the link file, just generate the bin is ok, I already attached the bubble.bin

3. open KinetisFlash Tool in the Kinetis bootloader 2.0: NXP_Kinetis_Bootloader_2_0_0\bin\Tools\KinetisFlashTool\win

33.jpg

configure it like the above picture, but the com port you should select your board's com port on your PC.

After configure the Com port and baudrate, then click the connect button, it will have the connected to device successfully.

Then select the image file, just add the bubble.bin, then click the update button, the code will be download to the board, after download is ok, the bubble code will run.

I already check it on my side, it works ok on my side.

Besides the kinetisFlashTool, you also can use the blhost: NXP_Kinetis_Bootloader_2_0_0\bin\Tools\blhost\win

This is my test information:

31.jpg

Take care, each time after you download the app, you need to download the flashbootloader code at first, which you can find in step1.

Wish it helps you!

If you still have question, please contact me!


Have a great day,
Jingjing

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

0 Kudos

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

OK, thank you for your information, I will try it on my side, and tell you the detail operation steps .

Now please wait patiently, after I try it, I will let you know as soon as possible.

0 Kudos

912 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Sebastian,

   Could you please tell me what the kinetis chip you are using? And the board name?

   Please also tell me the bubble example path you are using in the NXP Kinetis Bootloader v2.0.0,which bootloader you are using? UART? And flash bootloader or ROM bootloader?

Waiting for your reply!

Jingjing

0 Kudos