Tc2xx知识点(一) BMI实现启动

目录

概述

BMI手册介绍

BMI程序实现

概述

        英飞凌可以通过BMI实现启动,那么本文章将会仔细介绍BMI相关知识以及如何应用到项目里面。

BMI手册介绍

        BMI的结构组成,在手册里面的介绍如下图

         在英飞凌的UM手册里面,本地的BMI有且仅有四个

BMI的顺序是从0开始查找到第三个,假设这四个BMI均为找到有限的,那么单片机就无法启动。

BMI程序实现

第一步:查看定义

第二步:在连接文件里面定义到固定BMI开始地方

 BMHD0                    (rx)        : org = 0x80000000, len = 0x20
   .BMD_HDR_CONST_FAR_UNSPECIFIED : ALIGN(4)
   {
      *(.BMD_HDR_CONST_FAR_UNSPECIFIED*);
   } > BMHD0

第三步:定义自己需要的数据

const BMD_HDR Bmiheader =
{
  0x80000020,
  0x0370,/*LCL1LSEN =1,LCL0LSEN =1 , HWCFG = Internal start from Flash, PINDIS= 0(Mode selection by HWCFG pins is enabled)*/
  0xB359,
  0x00000000,
  0x00000000,
  0x00000000,
  0x00000000,
  0x49E9B5B4,
  0xB6164A4B
};

解释以下上述:

0x80000020为开始地址

0x0370 为下述寄存器

本次设置为

LCL1LSEN =1,

LCL0LSEN =1 ,

HWCFG = Internal start from Flash,

PINDIS= 0(Mode selection by HWCFG pins is enabled)

这点是根据自己的需求进行设定的。

4.1.5.2 Configuration by Boot Mode Index (BMI) 章节

0xB359 为一个固定的数。

0x49E9B5B4 CRC的值。

0xB6164A4B CRC取反的值。

中间的00 00 00 00 是默认的,全写成0就行了。

const BMD_HDR Bmiheader  直接通过链接文件定义进固定地址就行了,占用32个字节。

CRC计算:CRC计算地址

注意数据 0xb359 与 0x0370的位置

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑从东方起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值