#include "system_flash_mem_manage.h" #include "off_chip_flash.h" #include "system_general_para.h" //flashÊý¾ÝдÈëºÍ¶ÁÈ¡¼ì²é,Ö»Ö§³Ö1024¸ö×Ö½ÚµÄдÈëÓë¶ÁÈ¡¼ì²é ErrorStatus FlashWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length) { uint8_t buf_l[1024]; if(length >1024) return FAIL; Out_Flash_MultipleWrite(write_data,addr,length); Out_Flash_MultipleRead(buf_l,addr,length); return ucharcmp(write_data,buf_l,length); } //flashÊý¾Ý¶à´ÎдÈ룬дÈë´íÎóʱ¶à´ÎÖØÐ´ ErrorStatus FlashMultipleWriteAndReadCheck(uint8_t * write_data,uint32_t addrA,uint16_t length) { ErrorStatus return_flag = PASS; if(FlashWriteAndReadCheck(write_data,addrA,length)==FAIL) { if(FlashWriteAndReadCheck(write_data,addrA,length)==FAIL) { return_flag = FAIL; } } return return_flag; } /*flashÈÕÖ¾²Ù×÷µØÖ·ÅжÏ,ÌõÊýÈç¹ûÌ«¶à£¬¿ÉÄÜÑ­»·±È½Ï±È½Ï·Ñʱ¼ä£¬ÐèÒª²âÊÔ!!!!!!!!! *input£ºOpAddr:²Ù×÷µØÖ·£» StartAddr£ºÆðʼµØÖ· length£ºµ¥ÌõÈÕÖ¾³¤¶È MaxNum£ºÈÕÖ¾×î´óÌõÊý *return£º·µ»ØFAIL±íʾµØÖ·²»ÕýÈ· */ ErrorStatus FlashLogAddrCheck(uint32_t OpAddr,uint32_t StartAddr,uint16_t length,uint16_t MaxNum) { uint32_t count_i = 0; uint32_t next_addr = StartAddr; if((MaxNum ==0)||(OpAddr>=OUT_FLASH_ALL_SIZE)||(StartAddr>=OUT_FLASH_ALL_SIZE)||(length >1024)) return FAIL; while(count_i 0xFFFF){ break; } } return FAIL; }