最近用了一批单片机,型号是STC12C5404,工作都挺正常,没出过什么问题,但是由于一直对STC的来历不是很清楚,所以对其做了一些测试。 根据STC资料上叙述,STC12C5404具有4KB CODE FLASH ,2KB DATA FLASH(EEPROM)。 CODE FLASH 0000H-0FFFH DATA FLASH 2800H-2FFFH
经过我实际试验,发现用IAP操作的FLASH可以达到24KB,地址范围为0000H-5FFFH,与代码存储器不重叠。
一开始的测试方法为:对每个扇区进行擦除、编程、读取操作,发现可用扇区大大超出手册说明的范围。我怀疑是方法有误,地址重叠等原因。于是又另外做了一次。 编写了个程序,可执行两种操作,一是使用xmodem协议接收PC发送的一个文件存入从0地址开始的FLASH。另外还可以通过串口将FLASH中的数据发送给PC。发送一个较大的文件,然后断电后才次读入FLASH中的数据。经过比较,发现前24KB的数据一字不差,24KB以后就不对了。这就说明其内部的24KB 确实可以用。
如果能把DATA FLASH配置为CODE 就十分有用了,不然太浪费了。 这也说明了STC的手册有点不太可信。 谁能解释这些现象? |