1.工程里面添加库文件,并设置好文件路径
2.将flashapi_ex1_programming例程里的函数复制到.c文件。
void Example_Error(Fapi_StatusType status); void FMSTAT_Fail(void); void ECC_Fail(void); void Example_CallFlashAPI(void); void Example_EraseSector(void); void Example_ProgramUsingDataAndECC(void);
3.添加头文件,并修改头文件
#include "f28002x_device.h" #include "f28002x_examples.h" #include "driverlib.h" #include "device.h" #include "flash.h" #include "F021_F28002x_C28x.h"
- 将driverlib.h中的一些头文件注释掉
#ifndef DRIVERLIB_H #define DRIVERLIB_H #include "inc/hw_memmap.h" //#include "adc.h" //#include "asysctl.h" //#include "bgcrc.h" //#include "can.h" //#include "clb.h" //#include "cmpss.h" //#include "cpu.h" //#include "cputimer.h" //#include "dcc.h" //#include "dcsm.h" //#include "debug.h" //#include "dma.h" //#include "ecap.h" //#include "epwm.h" //#include "eqep.h" //#include "erad.h" //#include "flash.h" //#include "fsi.h" //#include "gpio.h" //#include "hrcap.h" //#include "hrpwm.h" //#include "i2c.h" //#include "interrupt.h" //#include "lin.h" //#include "memcfg.h" //#include "pin_map.h" //#include "pmbus.h" //#include "sci.h" //#include "spi.h" //#include "sysctl.h" //#include "version.h" //#include "xbar.h" #endif // end of DRIVERLIB_H definition
- 将flash.h中的头文件做如下改变
4.添加下列函数
void __error__(const char *filename, uint32_t line) { // // An ASSERT condition was evaluated as false. You can use the filename and // line parameters to determine what went wrong. // ESTOP0; }
5.擦写函数处理
(1)void Example_ProgramUsingDataAndECC(void)函数可以修改为uint16_t FLASH_Program(uint32_t StartAddress, uint16_t *Buffer, uint32_t byte)
- Bzero_Sector6_start修改为StartAddress
- 添加uint32_t *Buffer32 = (uint32_t *)Buffer;
- 修改for(i=0, u32Index = StartAddress;(u32Index < (StartAddress + byte/2)); i+= 8, u32Index+= 8)
(2)void Example_EraseSector(void)函数可以修改为uint16_t FLASH_EraseSector(uint32_t StartAddress)
- Bzero_Sector6_start修改为StartAddress即可