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