|  | 
 
| 定义 设备 
 struct FlashDevice const FlashDevice  =  {
 FLASH_DRV_VERS,             // Driver Version, do not modify!
 "New Device 256kB Flash",   // Device Name
 ONCHIP,                     // Device Type
 0x00000000,                 // Device Start Address
 0x00040000,                 // Device Size in Bytes (256kB)
 1024,                       // Programming Page Size
 0,                          // Reserved, must be 0
 0xFF,                       // Initial Content of Erased Memory
 100,                        // Program Page Timeout 100 mSec
 3000,                       // Erase Sector Timeout 3000 mSec
 // Specify Size and Address of Sectors
 0x002000, 0x000000,         // Sector Size  8kB (8 Sectors)
 0x010000, 0x010000,         // Sector Size 64kB (2 Sectors)
 0x002000, 0x030000,         // Sector Size  8kB (8 Sectors)
 SECTOR_END
 };
 
 根据芯片手册  编写对应代码
 
 /*
 *  Initialize Flash Programming Functions
 *    Parameter:      adr:  Device Base Address
 *                    clk:  Clock Frequency (Hz)
 *                    fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
 *    Return Value:   0 - OK,  1 - Failed
 */
 int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
 /* Add your Code */
 return (0);                                  // Finished without Errors
 }
 
 /*
 *  De-Initialize Flash Programming Functions
 *    Parameter:      fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
 *    Return Value:   0 - OK,  1 - Failed
 */
 int UnInit (unsigned long fnc) {
 /* Add your Code */
 return (0);                                  // Finished without Errors
 }
 
 /*
 *  Erase complete Flash Memory
 *    Return Value:   0 - OK,  1 - Failed
 */
 int EraseChip (void) {
 /* Add your Code */
 return (0);                                  // Finished without Errors
 }
 
 /*
 *  Erase Sector in Flash Memory
 *    Parameter:      adr:  Sector Address
 *    Return Value:   0 - OK,  1 - Failed
 */
 int EraseSector (unsigned long adr) {
 /* Add your Code */
 return (0);                                  // Finished without Errors
 }
 
 /*
 *  Program Page in Flash Memory
 *    Parameter:      adr:  Page Start Address
 *                    sz:   Page Size
 *                    buf:  Page Data
 *    Return Value:   0 - OK,  1 - Failed
 */
 int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf) {
 /* Add your Code */
 return (0);                                  // Finished without Errors
 }
 
 
 工程模板
 
  _Template_Flash.rar
(30.12 KB, 下载次数: 4) 
 | 
 评分
查看全部评分
 |