使用PyTorch实现CIFAR-10分类与代码保护
需积分: 44 139 浏览量
更新于2024-08-07
收藏 4.81MB PDF 举报
"这篇文档是关于微芯片技术公司(PIC18F66K80系列)微控制器在代码保护期间如何操作闪存程序存储器的。内容涉及到编程内存的操作步骤,包括设置相关寄存器以进行写入操作,并提到了程序校验和代码保护的细节。此外,还涉及到了一些特定的寄存器如EECON1、TBLPTRU、TBPLTRH、TBLPTRL、INTCON等,以及中断和访问控制。"
在微控制器的设计中,代码保护是确保软件知识产权不被非法复制和篡改的重要环节。对于微芯片技术公司的PIC18F66K80系列微控制器,代码保护主要涉及到对闪存程序存储器的操作。在代码保护期间,需要执行一系列特定的步骤来安全地写入或修改存储在闪存中的程序。
首先,要访问闪存程序存储器,需要通过设置EECON1寄存器来完成。将EECON1寄存器的EEPGD位设置为1,表示要指向Flash程序内存,而CFGS位清零则表示访问程序存储器而非配置字。接着,启用写入内存功能,即设置EECON1寄存器的WREN位。在写入操作之前,通常需要关闭中断以防止在编程过程中被打断,这可以通过清除INTCON寄存器的GIE位来实现。
写入操作通常需要一个特定的写入序列,例如在本例中,先写入55h,然后写入0AAh到EECON2寄存器,这个序列可能是为了验证写入权限和初始化编程过程。一旦序列完成,设置EECON1寄存器的WR位开始编程操作,此时CPU会被挂起等待编程操作完成。编程结束后,重新开启中断,最后禁用写入内存功能,即清零EECON1的WREN位,以防止意外的后续写入。
TBLPTRU、TBPLTRH和TBLPTRL寄存器是表格指针,用于访问程序存储器中的特定地址。而TABLAT寄存器作为程序存储器的表格锁存器,用于存储表格查找操作的结果。
中断控制寄存器INTCON包含了多个与中断相关的位,如全局中断使能位GIE,定时器0中断使能位TMR0IE等。这些位控制着微控制器对外部事件的响应。
此外,文档还提到了一些其他的寄存器如IPR4、PIR4和PIE4,它们分别用于设置优先级、检查中断标志和使能中断,这些寄存器对于系统的实时性和中断处理至关重要。
在进行微控制器的程序设计和调试时,了解这些寄存器的用法和操作流程是至关重要的,因为它们直接影响到程序的正确执行和系统安全性。对于开发人员来说,遵循正确的操作步骤,结合微芯片技术提供的数据手册,可以有效地保护代码不被非法访问和修改,从而确保产品的知识产权得到保护。
2020-09-18 上传
2019-08-11 上传
2023-08-11 上传
2021-04-10 上传
2021-03-31 上传
2021-05-13 上传
sun海涛
- 粉丝: 36
- 资源: 3862
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目