HC9S12X系列CAN Bootloader开发与内存理解总结
需积分: 50 81 浏览量
更新于2023-03-16
收藏 2.48MB PDF 举报
NXP单片机HC9S12系列单片机bootloader的设计是一项重要的技术,尤其适用于MC9S12XEP100MEG这类芯片。该设计的核心目标是实现上电后根据EEPROM(尽管芯片本身不提供真正的EEPROM,而是通过bufferRAM模拟)中的控制字来决定启动流程,既非仅依赖于pin脚的信号触发,也不是固定进入Bootloader后再做决策,而是利用内存管理机制进行智能判断。
首先,对于内存理解至关重要,包括以下几个方面:
1. 内存结构:该芯片内存资源分为P-Flash(64个16KB页,全局地址范围0x700000 - 0x7FFFFF)、RAM(16个4KB页,全局地址范围0x0F0000 - 0x0FFFFF)和D-Flash与bufferRAM。此外,还涉及到内存映射,如LocalMemoryMap和GlobalMemoryMap之间的转换。
2. 分页管理:内存采用分页机制,涉及EPAGE、RPAGE和PPAGE三个主要分页寄存器,它们用于管理和切换不同区域的内存访问。
3. 内存划分与向量:设计者需要熟悉PRM文件,能够正确划分内存空间,包括三个复位向量和中断向量的定义。此外,还需理解S19格式文件,这是存储二进制代码的一种常见格式。
4. 上位机开发:上位机部分主要基于VC平台的C++语言,利用现成的DLL文件,并进行多线程编程和基于对话框的用户界面设计。开发过程中可能涉及USB通信接口,如USBCAN2II。
5. 下位机Bootloader实现:设计者参考了NXP官方文档AN4258SW和AN4258.pdf,将Bootloader从串口模式修改为CAN通讯形式。这部分工作主要集中在理解和修改这些文档提供的核心逻辑,以适应芯片的具体硬件需求。
通过这样的设计,HC9S12系列单片机的Bootloader可以确保在上电后快速而灵活地决定进入应用程序还是执行特定的初始化过程,提高了系统的可靠性和可扩展性。这种设计方法对其他使用类似硬件或需要类似功能的项目也有很好的参考价值。
2020-04-13 上传
2019-12-07 上传
2017-10-27 上传
2023-07-29 上传
2023-07-03 上传
2023-07-17 上传
2023-07-15 上传
2023-10-23 上传
2023-09-15 上传
nishuiping
- 粉丝: 2
- 资源: 7
最新资源
- 多功能HTML网站模板:手机电脑适配与前端源码
- echarts实战:构建多组与堆叠条形图可视化模板
- openEuler 22.03 LTS专用openssh rpm包安装指南
- H992响应式前端网页模板源码包
- Golang标准库深度解析与实践方案
- C语言版本gRPC框架支持多语言开发教程
- H397响应式前端网站模板源码下载
- 资产配置方案:优化资源与风险管理的关键计划
- PHP宾馆管理系统(毕设)完整项目源码下载
- 中小企业电子发票应用与管理解决方案
- 多设备自适应网页源码模板下载
- 移动端H5模板源码,自适应响应式网页设计
- 探索轻量级可定制软件框架及其Http服务器特性
- Python网站爬虫代码资源压缩包
- iOS App唯一标识符获取方案的策略与实施
- 百度地图SDK2.7开发的找厕所应用源代码分享