KV30程序升级

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

KV30程序升级

2,394 Views
yaoXin
Contributor II

    我使用KV30开发的产品,需要进行在线升级,在论坛上看到可以使用An2295sw软件包通过串口进行BootLoader升级,但官网上没有找到这个软件包,能帮忙提供下载地址吗,谢谢!

0 Kudos
6 Replies

2,194 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

请从这里下载http://cache.nxp.com/files/microcontrollers/doc/app_note/AN2295SW.zip

但我建议你使用SDK包里的MCU boot做bootloader。这个是最新的bootloader,功能更强一些。

Regards,

Jing

0 Kudos

2,194 Views
yaoXin
Contributor II

我按照官网说明找到了MCUBOOT软件,版本名称为NXP_Kinetis_Bootloader_2_0_0,解压缩后在Target路径下发现有如下bootloader工程,我使用的编译器是IAR,如下图所示:

pastedImage_1.png

我有两个问题,一个是我使用的芯片是MKV30F64,但targets文件夹中并没有包含此器件,只有MKV30F12810,我使用此文件夹里面的工程能否编译得到MKV30F64的bootloader程序,如果能,那么需要更改哪些配置,如果不能,应该下载何种工具。

另一个是我是否只用修改和编译tower_bootloader里面的工程,就可得到我的项目所需要的BootLoader程序,其余两个工程Flashloaer和flashloader_loader并不需要编译(不使用Kinetis Flashloader外设的情况下)

0 Kudos

2,194 Views
jingpan
NXP TechSupport
NXP TechSupport

1.由于这两者只是flash大小不同,你可以直接使用MKV30F12810的bootloader。只要你要下载的程序大小小于64k就行。如果你想做的严谨一些,你可以下载MKV30F64的SDK,然后替换那些芯片定义有关的文件。

2.是的,你只需要编译tower_bootloader。另外两个不需要编译。他们之间只是共享了很多文件。

0 Kudos

2,194 Views
yaoXin
Contributor II

用户程序起始地址已经在bootloader_config.h”中更改了

#define BL_APP_VECTOR_TABLE_ADDRESS 0x5000

0 Kudos

2,194 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

看起来可以了。bootloader用到的driver就是sdk的。kv30和kv31应该是一样的。不会有什么差异。你完全不用换。

你可以用blhost --get-property 12       命令来列出bootoader所需要保留的flash大小。这样你可以充分利用flash的容量。

Regards

Jing

0 Kudos

2,194 Views
yaoXin
Contributor II

谢谢之前的回复,按照之前所说,我下载了针对我项目所用芯片的SDK包,版本为SDK_2.5.0_MKV30F64xxx10MCUBOOT版本为NXP_Kinetis_Bootloader_2_0_0,为了能顺利将BootLoader程序移植到我的项目板中,我做了如下的工作:

  1. 先对外设驱动部分做文件替换,IAR工程中目录如下所示,但我在对比需要替换的文件时,发现SDK包里面的驱动文件和McuBoot中的驱动文件差异十分大,需要再次确认这两个版本的文件是否能直接替换。

 pastedImage_1.png

2.我的项目中准备使用UART0进行程序升级,外部晶振频率为8MHZ,用户程序工作主频为80MHZ

为完成移植,需在工程不同文件中做了修改,主要的更改如下:

在“bootloader_config.h”,开启BL_CONFIG_SCUART

 pastedImage_2.pngpastedImage_3.png

                  ” peripherals_KV30F128L.c”中,把instance1改为0

  pastedImage_5.png

” peripherals_pinmux.h”中,更改UART1相关宏定义为UART0相关宏定义

 pastedImage_7.pngpastedImage_8.png

” memory_map_KV30F128L.c”中,更改Flash地址区间

pastedImage_9.png

 

”hardware_init_KV30F128L.c”中,更改Boot管脚配置和UART0时钟配置,实际工程板上并没有接Boot脚,PTA1脚在用户程序中是不使用的。

 pastedImage_10.png  pastedImage_11.png

”clock_config_KV30F128L.c”中,不做任何更改

以上工作做完后,我是否能够认为移植所需要更改的配置就完成了,是否还有别的文件有配置需要更改?

0 Kudos