带有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. 向Lucene增加中文分词功能
  2. Cloud Native workshop
  3. C++的黑科技 利用一个字符对字符串进行分离
  4. 【论文学习】高频分量有助解释卷积神经网络泛化 High-frequency Component Helps Explain the Generalization of CNN
  5. PyTorch tensorboard报错:TensorBoard logging requires TensorBoard version 1.15 or above
  6. Nginx502,504和499错误解决方案
  7. 思科模拟服务器怎么写文件,思科模拟服务器配置教程
  8. 12个必备的JavaScript装逼技巧
  9. ap_invoice_distributions_all到xla_ae_lines
  10. Java读写NFC标签Ntag2x芯片源码
  11. azure mysql on vnet_Azure Database for MySQL (2) VNET rules
  12. Unity Shader - CheckerBoard(棋盘格) 等 Pattern 的测试
  13. markdown 语法
  14. 贝叶斯神经网络 BNN
  15. 简单粗暴搞定网易云音乐限制!找回失去的灰色快乐
  16. 一款表达谱数据分析的神器--CCLE--转载
  17. 第一周礼拜四 神藉着祂的众仆人行事(上)
  18. Android系统手机为什么卡?
  19. 移动端适配 postcss-pxtorem插件使用
  20. 总结]关于守护进程解释文章

热门文章

  1. memory内存占用过高 解决方法
  2. 又一波利好,FN难道又要起飞了?
  3. N点主机管理系统密码解密代码程序
  4. 【校招】面试_字节跳动_客户端开发工程师_一面
  5. 《Web前端设计与开发》实验六:BOM与DOM编程实验
  6. 基于Java的超市收银管理系统
  7. ArKnights策划书
  8. 学习笔记 - 预祝CSDN 1024程序猿节日圆满成功
  9. weboffice功能的实现:在线编辑,保护文档部分编辑,显示,下载
  10. UltraISO虚拟光驱使用:制作ISO镜像文件与刻录CD/DVD