带有bootloader的程序分为两个工程:

1. bootloader;

2.user_app;

上述两部分,官方资料已经提供。现在需要能够读懂这两份代码,明确自己需要做什么。

飞思卡尔的MC9S12XEP100的bootloarder启动过程与STM32等芯片有所有不同。

STM32等是先执行bootloader超时后跳出循环,自然而然的就执行到 user_app;

MC9S12XEP 是根据条件判断直接跳到 bootloader或user_app里; 这个条件判断在 .S文件里;换句话说,芯片重启后,最先执行是.S文件里的语句,然后跳转到 bootloader或user_app里; 在user_app工程里,是没有.S文件的,取而代之的是一个 .c文件;

首先说明 bootloader部分:

1. 在bootloader工程与 user_app 工程中,有一个区别。就是,bootloader里有一份 .s文件,由汇编编写,user_app却没有这份文件;这份 .s文件,有两个条件判断,一个是判断某IO,另一个是判断某地址的 数值,然后做跳转,跳转到bootloader程序段,或跳转到应用程序段。所以,你要修改切换条件,应该从这里开始着手处理;

现在,应该理解了bootloader与user_app是如何切换的了;

2.在bootloader里的 .prm文件里,对 bootloader代码区与 user_app代码区的划分;如下图:

3.bootloadr的中断程序,需要指定存放区域,指定为 RAM区域;

4. bootloader的中断向量偏移;

5. 其他,保持不变即可;

待续.......

再说user_app部分:

1. 很显然,ROM的一部分空间被 bootloader占用了,所以,user_app 工程里要修改ROM的空间划分;在.prm文件里,把ROM的地址修改好;

2.中断向量的重定位;

3. 其他照正常程序执行;

飞思卡尔 MC9S12XEP100 bootloader CAN相关推荐

  1. 嵌入式 | 飞思卡尔MC9S12XEP100芯片CAN波特率配置

    目录 1. 波特率相关的寄存器 1.1. CANBTR0(MSCAN总线计时寄存器0) 1.2. CANBTR1(MSCAN总线计时寄存器1) 2. 位时间计算公式 3. 示例计算 3.1. 配置25 ...

  2. 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...

  3. 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...

  4. 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置

    飞思卡尔MC9S12XEP100 CAN学习总结(一) 概述 飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置 本 ...

  5. 关于飞思卡尔MC9s12XEP100 CAN-ID如何计算出来0x3ff8 0000

    昨天有个小哥哥,问我CAN-ID经过了移位,与运算,或运算等等,最终将此值赋予了ID寄存器,我便给他这么讲了下. 如此的赋值运算是和飞思卡尔变态的寄存器息息相关的,我们可以查看ID缓冲寄存器的相关位, ...

  6. 基于CANoe的Bootloader上位机软件 下位机为飞思卡尔MC9S12G128MLL

    基于CANoe的Bootloader上位机软件 下位机为飞思卡尔MC9S12G128MLL ID:6850668870980676Max_Min

  7. 【飞思卡尔 MC9S12】BootLoader 下位机

    上一篇:[飞思卡尔 MC9S12]内部D-Flash模拟EEPROM 本篇讲述BootLoader下位机的开发. 刚到新公司第三天就接了一个项目,搞到现在才局部完成,更新比较慢了. 先上传源码比较实际 ...

  8. 【飞思卡尔 MC9S12】BootLoader 上位机

    上一篇:飞思卡尔 MC9S12]BootLoader 下位机 本篇讲述BootLoader上位机开发. 源码地址:https://download.csdn.net/download/u0108756 ...

  9. 飞思卡尔S12系列(基于MC9S12XET256MAA和/MC9S12XEP100)锁存器资料总结和分享

    最近在公司做项目,用到飞思卡尔S12系列芯片,为了让自己养成良好习惯,以后每做一部分,都会总结出来,方便自己和他人. 今天讲讲飞思卡尔锁存器部分. CRG时钟合成寄存器(SYNR) 读:任何时刻:写: ...

最新文章

  1. python基础教程:两个list之间移动元素
  2. php实现上传文件功能,简单实现php上传文件功能
  3. 电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始?
  4. 查找某节点的所有祖先☆
  5. HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画
  6. LeetCode(575)——分糖果(JavaScript)
  7. 【SpringBoot】SpringBoot最精简的设置
  8. easyui的tree获取父节点_通过DOM API 查找节点
  9. 软件工程~数据字典例子解释
  10. 安卓手机怎么下载ins
  11. 博微三维技术篇【八】——智能CAD识别
  12. java saxreader 字符串_解析XML文件(字符串)的方法-----SAXReader
  13. WEB常用HTML颜色代码表
  14. MFC 0xC000041D 回调期间遇到未处理的异常
  15. MATLAB长除法求z变换逆变换
  16. 单元格内容分列多行_excel表格数据换行分列-EXCEL怎么分行呢?一个单元格有多行字,怎么向分列......
  17. 项目管理第八章项目质量管理
  18. Keras BP神经网络运用于波士顿房价预测
  19. gkui服务器下发消息超时,gkui服务器下发消息超时
  20. 2012年02月12日

热门文章

  1. 基金指标: beta,alpha,Sharpe Ratio
  2. WEB12_HttpTomcat
  3. android聊天界面与功能,【android】聊天界面的制作-简易版实现
  4. 06 随机变量及其分布
  5. 使用傲梅分区软件把win10/win8/win7装进U盘或者移动硬盘
  6. Paint.Net学习笔记——一、启动
  7. 编译设备树时报错“arch/arm/boot/dts/imx50.dtsi:14:42:致命错误:dt-bindings/clock/imx5-clock/h:没有那个文件或目录”
  8. 国仁网络资讯:视频号如何快速热门涨粉、引流变现;超详细运营教程。
  9. 内存对齐计算方法(偏移量)
  10. 计算机的认识文档,计算机的初步认识.docx