飞思卡尔 MC9S12XEP100 bootloader CAN
带有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相关推荐
- 嵌入式 | 飞思卡尔MC9S12XEP100芯片CAN波特率配置
目录 1. 波特率相关的寄存器 1.1. CANBTR0(MSCAN总线计时寄存器0) 1.2. CANBTR1(MSCAN总线计时寄存器1) 2. 位时间计算公式 3. 示例计算 3.1. 配置25 ...
- 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...
- 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...
- 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置
飞思卡尔MC9S12XEP100 CAN学习总结(一) 概述 飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置 本 ...
- 关于飞思卡尔MC9s12XEP100 CAN-ID如何计算出来0x3ff8 0000
昨天有个小哥哥,问我CAN-ID经过了移位,与运算,或运算等等,最终将此值赋予了ID寄存器,我便给他这么讲了下. 如此的赋值运算是和飞思卡尔变态的寄存器息息相关的,我们可以查看ID缓冲寄存器的相关位, ...
- 基于CANoe的Bootloader上位机软件 下位机为飞思卡尔MC9S12G128MLL
基于CANoe的Bootloader上位机软件 下位机为飞思卡尔MC9S12G128MLL ID:6850668870980676Max_Min
- 【飞思卡尔 MC9S12】BootLoader 下位机
上一篇:[飞思卡尔 MC9S12]内部D-Flash模拟EEPROM 本篇讲述BootLoader下位机的开发. 刚到新公司第三天就接了一个项目,搞到现在才局部完成,更新比较慢了. 先上传源码比较实际 ...
- 【飞思卡尔 MC9S12】BootLoader 上位机
上一篇:飞思卡尔 MC9S12]BootLoader 下位机 本篇讲述BootLoader上位机开发. 源码地址:https://download.csdn.net/download/u0108756 ...
- 飞思卡尔S12系列(基于MC9S12XET256MAA和/MC9S12XEP100)锁存器资料总结和分享
最近在公司做项目,用到飞思卡尔S12系列芯片,为了让自己养成良好习惯,以后每做一部分,都会总结出来,方便自己和他人. 今天讲讲飞思卡尔锁存器部分. CRG时钟合成寄存器(SYNR) 读:任何时刻:写: ...
最新文章
- python基础教程:两个list之间移动元素
- php实现上传文件功能,简单实现php上传文件功能
- 电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始?
- 查找某节点的所有祖先☆
- HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画
- LeetCode(575)——分糖果(JavaScript)
- 【SpringBoot】SpringBoot最精简的设置
- easyui的tree获取父节点_通过DOM API 查找节点
- 软件工程~数据字典例子解释
- 安卓手机怎么下载ins
- 博微三维技术篇【八】——智能CAD识别
- java saxreader 字符串_解析XML文件(字符串)的方法-----SAXReader
- WEB常用HTML颜色代码表
- MFC 0xC000041D 回调期间遇到未处理的异常
- MATLAB长除法求z变换逆变换
- 单元格内容分列多行_excel表格数据换行分列-EXCEL怎么分行呢?一个单元格有多行字,怎么向分列......
- 项目管理第八章项目质量管理
- Keras BP神经网络运用于波士顿房价预测
- gkui服务器下发消息超时,gkui服务器下发消息超时
- 2012年02月12日
热门文章
- 基金指标: beta,alpha,Sharpe Ratio
- WEB12_HttpTomcat
- android聊天界面与功能,【android】聊天界面的制作-简易版实现
- 06 随机变量及其分布
- 使用傲梅分区软件把win10/win8/win7装进U盘或者移动硬盘
- Paint.Net学习笔记——一、启动
- 编译设备树时报错“arch/arm/boot/dts/imx50.dtsi:14:42:致命错误:dt-bindings/clock/imx5-clock/h:没有那个文件或目录”
- 国仁网络资讯:视频号如何快速热门涨粉、引流变现;超详细运营教程。
- 内存对齐计算方法(偏移量)
- 计算机的认识文档,计算机的初步认识.docx