STM8 C语言编程中寄存器使用关键注意事项
需积分: 50 6 浏览量
更新于2024-08-06
收藏 5.48MB PDF 举报
本文档主要关注STM8微控制器系列中的寄存器使用注意事项,特别是针对BM3803FMGRH型号的SPARCV8辐射加固微处理器。在C语言编程中,理解这些注意事项至关重要,因为它们关系到程序的正确性和性能。
1. **寄存器错误模式**:
- 当不使用REGFILE、Cache、外部存储器的造错功能时,应确保相关寄存器设置在非造错模式,以避免潜在的错误。
2. **窗口寄存器与浮点运算**:
- IU窗口寄存器在读取前需先写入,以防止读取时出现EDAC(错误检测和校正)校验错误。
- 浮点运算寄存器如%fsr需要在运算前初始化。
3. **状态寄存器管理**:
- 修改PSR、WIM、TBR、ASR16和ASR17寄存器时,必须确保前一指令写入后经过至少三个指令周期才能生效,以保证读取的是最新状态。
4. **陷阱处理**:
- 在可能引发陷阱的操作前,必须初始化TBR寄存器,设置好相应的trap处理流程,并确保%psr.ET位为1。
5. **窗口寄存器初始化**:
- 在涉及窗口操作前,需初始化WIM和PSR寄存器的CWP字段。
6. **文档更新历史**:
- 文档包含了多个版本的更新,如存储器控制器的EDAC功能描述、SRAM和SDRAM出错处理、PROM出错处理、陷阱和中断处理等的详细说明,以及对不同寄存器的初始化值、访问时序图和异常处理方法的修正。
7. **编程细节**:
- 提供了LDA/STA指令的特定地址段说明,以及字节写和半字写时EDAC功能的详细说明。
8. **中断处理和电源管理**:
- 添加了关于PCI中断使用的指导,电源要求的详细说明,以及使用注意事项的完善。
这份文档是为STM8微控制器编程者提供的重要参考资源,涵盖了寄存器操作的最佳实践,确保了程序在BM3803FMGRH硬件上的稳定性和性能优化。阅读和遵循这些注意事项对于编写高效且无误的C语言代码至关重要。
2013-06-01 上传
2022-06-13 上传
161 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
SW_孙维
- 粉丝: 78
- 资源: 3830
最新资源
- pomodoro-backbone:解决
- 响应卡:带有HTMLCSS的响应卡
- nest-serve:nest.js 开发的管理后台服务接口
- Python库 | gudhi-3.4.1-cp39-cp39-manylinux2014_x86_64.whl
- 材质101:做与不做-项目开发
- 飞机大战-Python-黑马项目演练.zip
- node-module-context
- 002-英语语法word版.rar
- python实现屏幕录制,可以当做录屏小工具
- i18n-browserify:i18n作为浏览器转换的示例
- coursera-test:coursera存储库
- atcrowdfundingNew
- grunt-sass-demo
- 401reading:https:salehmmasri.github.io401reading
- CsSelfstudy:做一个更好的人
- Parallel Toolbox-开源