带你走进飞思卡尔 Kinetis Flashloader

0?wx_fmt=gif

在嵌入式开发中,经常要用到Flashloader功能,今天我们就来开始以飞思卡尔Kinetis的Flashloader为例来讲讲,大概需要4~5节,内容比较多,每天掌握一点,不要贪多。今天先简单介绍下Kinetis的Flashloader。

简介

飞思卡尔kenetis设备的flashloader的主要任务就是装载用户固件镜像到Flash,镜像分为两部分:flashloader_loader和flashloader, 在设备复位后,flashloader_loader首先执行, flashloader_loader程序将flaoder镜像从flash拷贝到内存RAM中,此后设备将会从RAM中开始执行flashloader程序。对于飞思卡尔kinetis设备可以通过UART, CAN, I2C, SPI等外设接口以从模式与主机进行交流通信和响应主机的命令,我们常用的固件下载升级就是一个典型应用。Kinetis设备的flashloader总是用命令协议和主机进行通信,主机应用可以查询可用的命令集。

特性

Kinetis Flashloader的主要特性如下

支持UART, CAN, I2C, SPI外设接口

自动检测激活的外设

UART和CAN外设支持自动波特率设置识别

所有外设的通用打包协议

打包错误检测和重发功能

运行中被flashloader使用的RAM是被保护的

提供读取设备属性的命令,例如Flash和RAM的大小

支持的命令如下

0?wx_fmt=jpeg

功能描述

内存映射

Kinetis Flashloader 执行时使用RAM内存映射分布如下

0?wx_fmt=jpeg需要注意的一点是Kinetis Flashloader 需要的最小内存RAM是16KB,所以片上RAM小于16KB的器件Flashloader将不可用。必须保证RAM大于16KB。

启动过程

Kinetis Flashloader执行时操作过程如下

初始化.data和.bss段

初始化支持的外设

等待一个外设的开始通信

对激活外设没有超时退出检测过程

如果通信被检测到,那么非激活外设将被关闭,然后进入命令阶段。

流程图如下:

0?wx_fmt=jpeg

未完待续,持续更新中,敬请期待。

0

嵌入式

程序猿

微信号:InterruptISR

嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。

0?wx_fmt=jpeg

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值