main.c

来自「LM3S系列Flash例程:简单擦写,周立功」· C语言 代码 · 共 69 行

C
69
字号
#include  "systemInit.h"
#include  "uartGetPut.h"
#include  <hw_flash.h>
#include  <flash.h>
#include  <stdio.h>


//  定义Flash扇区号(每个扇区1024字节)
#define  SECTION    62


//  Flash读取操作
char flashRead(unsigned long ulAddress)
{
    char *pcData;

    pcData = (char *)(ulAddress);

    return(*pcData);
}


//  主函数(程序入口)
int main(void)
{
    char cString[] = "Hello, world\r\n";
    unsigned long *pulData;
    int i;
    char c;
    long size;

    jtagWait();                                             //  防止JTAG失效,重要!
    clockInit();                                            //  时钟初始化:晶振,6MHz
    uartInit();                                             //  UART初始化
    FlashUsecSet(TheSysClock / 1000000);                    //  设置每微秒的CPU时钟数

    pulData = (unsigned long *)cString;

    if (FlashErase(SECTION * 1024))
    {
        uartPuts("<Erase error>\r\n");
        for (;;);
    }

    uartPuts("<Erase ok>\r\n");
    size = 4 * (1 + sizeof(cString) / 4);

    if (FlashProgram(pulData, SECTION * 1024, size))
    {
        uartPuts("<Program error>\r\n");
        for (;;);
    }

    uartPuts("<Program ok>\r\n");

    for (i = 0; i < sizeof(cString); i++)
    {
        c = flashRead(SECTION * 1024 + i);
        uartPutc(c);
    }

    uartPuts("<Read ok>\r\n");

    for (;;)
    {
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?