如何做RAM和ROM完整性检查

ram测试时有点类似下面的程序(当然你可以修改它来使这个测试更全面些)——这里测试的ram的数量是特定于pic16c76的,如果要用于其它单片机型号,你需要查阅数据手册来确定相应型号的存储器范围。
#include
volatile unsigned char indf @ 0x0; // not defined in pic.h
main()
{
irp = 0; /* select bank 0/1 */ fsr = 0x20; /* check bank 0 */ do { indf = 0x55; } while(++fsr != 0x80); fsr = 0x20; do { if(indf != 0x55) for(;;); } while(++fsr != 0x80); fsr = 0xa0; // check bank 1 do { indf = 0x55; } while(++fsr != 0xf0); // avoid the common area, already checked fsr = 0xa0; do { if(indf != 0x55) for(;;); } while(++fsr != 0xf0); irp = 1; /* select bank 2/3 */ fsr = 0x10; /* bank 2 ram starts at 110 */ do { indf = 0x55; } while(++fsr != 0x70); // last address is 170 (common is 170-17f) fsr = 0x10; do { if(indf != 0x55) for(;;); } while(++fsr != 0x70); fsr = 0x90; // bank 3 ram, 190-1ef do { indf = 0x55; } while(++fsr != 0xf0); fsr = 0x90; do { if(indf != 0x55) for(;;); } while(++fsr != 0xf0);}
rom的校验和就要看情况而定了。并不是所有的pic单片机都能够读它自己的程序存储器的。部分flash的型号是可以读的,但是pic16c76是不能够读的,请查看相应单片机的数据手册来确定。

5G-A产业发展研讨会成功举办,推进产业上下游协同发展
关于智能化工程能耗监测系统的设计以及实际应用
Java的基础语法
联发科在 2020 年营收暴涨至 100 亿美元,将会进军其他芯片细分领域
如何通过人工智能改变音乐和人与世界之间的联系
如何做RAM和ROM完整性检查
茂捷M6362A替换昂宝OB2362A,茂捷M5579A/B替换昂宝OB2269
台湾旺玖BL8810完全替代GL823K|USB 2.0单LUN读卡器控制器
巨头争霸,量子计算性能甩最快超算一大截!
基于用Arduino开发板电池电压监测方案
TWS耳机纳入多功能交互传感器的使用场景
继“幽灵”之后,英特尔处理器再曝致命漏洞
等离子体现金的区块链扩展解决方案的提出
盐雾试验设备使用注意事项
一款极具吸引力且经济高效的替代产品——单芯片雷达感知解决方案
拉绳开关有哪些应用领域
通话未来:悟空智能电话机器人 AI引领全新电话行业
BoseSoundSportFree耳机体验 各方面都很优秀的三好学生
为什么在SoC设计中有了CPU还需要DMA呢?
轨至轨DAC输出缓冲器LTC2655