SmartOS之------Flash操作

作用


     STM32片内Flash操作

 

代码


 

 1 #include "Flash.h"

 2 

 3 void TestFlash()

 4 {

 5     debug_printf("\r\n\r\n");

 6     debug_printf("TestFlash Start......\r\n");

 7 

 8     uint addr = 0x08004000;

 9     

10     Flash flash;

11     debug_printf("FlashSize: %d Bytes  BytesPerBlock: %d Bytes\r\n", flash.Size, flash.BytesPerBlock);

12     flash.Erase(addr, 0x100);

13     

14     byte buf[] = "STM32F10x SPI Firmware Library Example: communication with an AT45DB SPI FLASH";

15     uint size = ArrayLength(buf);

16     flash.WriteBlock(addr, buf, size);

17     

18     byte* rx = (byte*)malloc(size);

19     flash.Read(addr, rx, size);

20 

21     int n = 0;

22     for(int i=0; i<size; i++)

23     {

24         if(buf[i] != rx[i]) n++;

25     }

26     debug_printf("diffent %d\r\n", n);

27 

28     // 集成测试

29     //flash.Erase(addr, 0x100);

30     flash.Write(addr, buf, size);

31 

32     flash.Read(addr, rx, size);

33 

34     n = 0;

35     for(int i=0; i<size; i++)

36     {

37         if(buf[i] != rx[i]) n++;

38     }

39     debug_printf("diffent %d\r\n", n);

40     

41     free(rx);

42     

43     debug_printf("\r\nTestFlash Finish!\r\n");

44 }

 

讲解


 

无。

End!

    ------来自新生命团队!

 

欢迎大家一起交流 ,分享程序员励志故事。   幸福的程序员 QQ群:幸福的程序员 嵌入式交流群中国嵌入式物联网群

你可能感兴趣的:(Flash)