查看: 6686|回复: 5

FRDM-KL05 UART Bootloader问题

[复制链接]

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
发表于 2013-8-8 16:19:06 | 显示全部楼层 |阅读模式
 大家好!最近用FRDM-KL05调试UART Bootloader遇到问题,请大家帮忙,谢谢!
程序用的例程是“frdm_kl05_bootloader”里的Bootloader和kl05_frdm_demo(用户程序)。根据说明硬件已经连接正确,可以正常通信。
Bootloader程序直接通过仿真器烧录到芯片,用户程序的icf文件修改如下(芯片型号MKL05Z32VFM4):
 
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x1800;
define symbol __ICFEDIT_region_ROM_end__   = (32*1024);  //********
define symbol __ICFEDIT_region_RAM_end__   = 0x20000000;
define symbol __ICFEDIT_region_RAM_start__ = 0x0;
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0;


/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = (1*1024); //********
define symbol __ICFEDIT_size_heap__   = (1*1024); //********
/**** End of ICF editor section. ###ICF###*/


define symbol __region_RAM2_start__        = 0x20000000;
define symbol __region_RAM2_end__          = __region_RAM2_start__ + ((4*1024)*3)/4;//********


define exported symbol __VECTOR_TABLE      = __ICFEDIT_region_ROM_start__;
define exported symbol __VECTOR_RAM        = __ICFEDIT_region_RAM_start__ - 0x410;


define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8;


define symbol __code_start__ = 0x410 +__ICFEDIT_region_ROM_start__;//********


define memory mem with size = 4G;
define region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];// | mem:[from __region_FlexNVM_start__ to __region_FlexNVM_end__];//********
define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __region_RAM2_end__];// | mem:[from __region_RAM2_start__ to __region_RAM2_end__];
 
应用程序编译生成S19文件后,通过FSL的win_hc08sprg.exe升级程序的时候,删除和查空都没有问题,program的时候不成功,
提示
         ” Memory programming block 0: W 0x00001840 0%
         Can't program block 0 at address 0x00001840“
附件是截图及源代码
 
 
 
 
 
 
 
 
 
 
 
 
 
 
图2.JPG
图1.JPG

frdm_kl05_bootloader.rar

319.37 KB, 下载次数: 68, 下载积分: 威望 1

FRDM-KL05Z boot loader guide.doc

202.01 KB, 下载次数: 44, 下载积分: 威望 1

win_hc08sprg.rar

623.18 KB, 下载次数: 44, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
 楼主| 发表于 2013-8-13 16:57:56 | 显示全部楼层

回复:FRDM-KL05 UART Bootloader问题

没有人遇到这个问题啊,把源代码也上传了,希望大家一起找出问题在哪里,我用的上位机是飞思卡尔管网的win_hc08sprg.exe,有已经解决了的朋友帮忙回复一下,谢谢!比较急!
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2013-8-13 17:11:39 | 显示全部楼层

回复:FRDM-KL05 UART Bootloader问题

崩溃,你还设置了回复可见!你可以检查一下在主函数中是否拷贝FLASH读/写代码到RAM区域呢?FLASH_Initialization(),否则这段代码命令会从Flash执行导致无法操作Flash。
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
 楼主| 发表于 2013-8-14 10:40:43 | 显示全部楼层

回复:FRDM-KL05 UART Bootloader问题

不好意思!我是希望有更多的人能回复,已经取消回复可见了。另外,主函数里是没有拷贝FLASH 读/写代码到RAM区域,我把它加进去试试。太感谢版主了
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
 楼主| 发表于 2013-8-15 15:50:03 | 显示全部楼层

回复:FRDM-KL05 UART Bootloader问题

主函数加了拷贝FLASH读写代码到RAM区域,FLASH_Initialization(),但是还是跟原来一样:
用串口监听软件查看,当autoprogram时,先删除成功,然后写(CMD:0x57),只写了64个字节后就出前面说的情况了,参考数据:

79 [00013026] IRP_MJ_WRITE   Length: 0001, Data: 57
80 [00013026] IRP_MJ_WRITE   Length: 0004, Data: 00 00 18 00
81 [00013026] IRP_MJ_WRITE   Length: 0001, Data: 40
82 [00013026] IRP_MJ_WRITE   Length: 0064, Data:
                                                                                               F8 0B 00 20 11 1C 00 00 49 45 00 00 49 45 00 00
                                                                                               49 45 00 00 49 45 00 00 49 45 00 00 49 45 00 00
                                                                                               49 45 00 00 49 45 00 00 49 45 00 00 49 45 00 00
                                                                                               49 45 00 00 49 45 00 00 49 45 00 00 49 45 00 00

83 [00013026] IRP_MJ_READ    Length: 0001, Data: FC
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
 楼主| 发表于 2013-8-20 00:41:06 | 显示全部楼层

回复:FRDM-KL05 UART Bootloader问题

请教版主:AN2295SW_Rev1例程里面的kinetis bootloader例程主函数里面的拷贝FLASH读/写代码到RAM区域函数如下:
void FLASH_Initialization(void)
{
LWord i;

//  initialize pointer to ram function
//FLASH_FlashCommandSequence = (LWord(*)(Byte))&buffer[1];  
//  copy function from ROM to RAM
for(i=0;i

frdm_kl05_bootloader.rar

284.14 KB, 下载次数: 37, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 05:07 , Processed in 0.093215 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表