色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

內(nèi)部flash均衡擦除實(shí)現(xiàn)方法

CHANBAEK ? 來源:小陳學(xué)不停 ? 作者: 小陳學(xué)不停 ? 2023-05-17 15:47 ? 次閱讀

1 參數(shù)存儲(chǔ)
很多時(shí)候我們的產(chǎn)品需要掉電存儲(chǔ)一些重要參數(shù),為了延長flash的壽命,我們可以在存儲(chǔ)參數(shù)時(shí)增加均衡擦除處理

2 內(nèi)部flash
STM32F103ZET6為例可在ST官網(wǎng)下載文檔:PM0075(STM32F10xxx Flash memory microcontrollers)

FLASH的最小擦除單位是扇區(qū),扇區(qū)大小為2K
3 實(shí)現(xiàn)均衡擦除
3.1 實(shí)現(xiàn)原理
假設(shè)存儲(chǔ)的起始地址為0x0807F800,存儲(chǔ)一個(gè)uint32_t類型的數(shù)字變量,那么就需要4個(gè)字節(jié)的空間,我們以8個(gè)字節(jié)為一個(gè)數(shù)據(jù)幀,有效數(shù)據(jù)的幀頭是55 AA,幀尾是AA 55,那么數(shù)據(jù)幀有三種狀態(tài):
3.1.1 未使用(可寫入),
即FF FF FF FF FF FF FF FF
3.1.2 已使用(當(dāng)前有效數(shù)據(jù),只能寫0),
假設(shè)當(dāng)前變量值是100,那么數(shù)據(jù)幀格式就是
55 AA 00 00 00 64 AA 55
3.1.3 不可使用(不能寫入),
00 00 00 00 00 00 00 00,當(dāng)flash被擦除寫入數(shù)據(jù)后,還可以進(jìn)行寫0操作,這個(gè)狀態(tài)就是寫入0后的狀態(tài)
那么整個(gè)扇區(qū)就變成類似這樣了:

3.2 實(shí)現(xiàn)代碼
3.2.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)

typedef union
{
    uint64_t data;
    uint8_t buff[8];
}flash_pack_u;


typedef struct
{
    uint32_t flash_start_address;
    uint32_t current_addr;
    uint32_t new_addr;
    uint16_t page_size;
    flash_pack_u buff;
}flasher_t;


typedef union
{
    uint8_t data[4];
    uint32_t data32;
}writer_u;

3.2.2 相關(guān)API

uint64_t read_dword_from_flash(uint32_t faddr)
{
    return *(volatile uint64_t*)faddr; 
}


void find_new_entry(flasher_t *p_flash)
{
    int8_t res = 0;

    if (!p_flash)
    {
        return;
    }


    while (p_flash->current_addr < p_flash->flash_start_address+p_flash->page_size)
    {
        p_flash->buff.data = read_dword_from_flash(p_flash->current_addr);


        uint8_t idx = 0;


        if (p_flash->buff.buff[0] == 0xFF)
        {
            p_flash->new_addr = p_flash->current_addr;

            return;
        }
        else
        {
            writer_u get_val = {0};

            rt_memcpy(get_val.data,&p_flash->buff.buff[2],4);
        }

        p_flash->current_addr += 8;
    }

    if(p_flash->current_addr >= p_flash->flash_start_address+p_flash->page_size)
    {
        stm32_flash_erase(p_flash->flash_start_address,CONFIG_FLASH_SECTOR_SIZE);

        p_flash->current_addr = p_flash->flash_start_address;
        p_flash->new_addr = p_flash->flash_start_address;
    }

    return;
}


uint64_t find_used_entry(flasher_t *p_flash)
{
    if (!p_flash)
    {
        return 0;
    }

    rt_base_t level;

    level = rt_hw_interrupt_disable();


    while (p_flash->current_addr < p_flash->flash_start_address+p_flash->page_size)
    {
        p_flash->buff.data = read_dword_from_flash(p_flash->current_addr);

        if ((p_flash->buff.buff[0] == 0x55)
            && (p_flash->buff.buff[1] == 0xAA)
            && (p_flash->buff.buff[6] == 0xAA)
            && (p_flash->buff.buff[7] == 0x55))
        {
            rt_hw_interrupt_enable(level);

            return p_flash->buff.data;
        }

        p_flash->current_addr += 8;
    }

    rt_hw_interrupt_enable(level);

    return 0;
}


void write_dword_to_flash(flasher_t *p_flash,writer_u writer)
{
    if (!p_flash)
    {
        return;
    }


    flash_pack_u data_valid={0};


    data_valid.buff[0] = 0x55;
    data_valid.buff[1] = 0xAA;
    data_valid.buff[2] = writer.data[0];
    data_valid.buff[3] = writer.data[1];
    data_valid.buff[4] = writer.data[2];
    data_valid.buff[5] = writer.data[3];
    data_valid.buff[6] = 0xAA;
    data_valid.buff[7] = 0x55;


    find_new_entry(p_flash);


    if ((p_flash->new_addr-8) >= p_flash->flash_start_address)
    {
        uint8_t temp[8]={0};

        stm32_flash_write((p_flash->new_addr-8),temp,8);
    }


    stm32_flash_write(p_flash->new_addr,data_valid.buff,8);
}

4 測試
4.1 應(yīng)用代碼

#define new_flasher(start_address,page_size){ \\
        start_address,start_address,start_address,page_size,{0} \\
}


volatile flasher_t g_flasher_test = new_flasher(CONFIG_FLASH_ADDRESS_USER_PARAMETERS,CONFIG_FLASH_SECTOR_SIZE);


int cmd_flash_test(int argc, char **argv)
{
    if (4 == argc)
    {
        uint32_t get_type = atoi(argv[1]);


        if (0 == get_type)
        {
            uint32_t get_val = atoi(argv[2]);

            uint32_t get_cnt = atoi(argv[3]);

            writer_u writer;
            writer_u reader;

            uint32_t idx=0;

            rt_kprintf("get_val=%d\\n",get_val);
            rt_kprintf("get_cnt=%d\\n",get_cnt);


            for (idx=0; idx

4.2 測試記錄

擦除整個(gè)扇區(qū)
flash 0
讀取整個(gè)扇區(qū)數(shù)據(jù)
flash 1 255 0
read_tempbuffer addr[807f800][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f808][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f810][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f818][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f820][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f828][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f830][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f838][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f840][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f848][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f850][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f858][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f860][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f868][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f870][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f878][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f880][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f888][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f890][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f898][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8a0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8a8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8b0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8b8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8c0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8c8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8d0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8d8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8e0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8e8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8f0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f8f8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f900][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f908][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f910][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f918][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f920][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f928][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f930][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f938][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f940][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f948][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f950][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f958][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f960][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f968][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f970][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f978][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f980][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f988][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f990][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f998][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9a0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9a8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9b0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9b8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9c0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9c8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9d0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9d8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9e0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9e8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9f0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807f9f8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fa98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807faa0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807faa8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fab0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fab8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fac0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fac8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fad0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fad8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fae0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fae8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807faf0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807faf8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fb98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fba0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fba8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbb0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbb8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbc0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbc8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbd0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbd8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbe0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbe8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbf0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fbf8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fc98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fca0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fca8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcb0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcb8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcc0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcc8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcd0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcd8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fce0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fce8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcf0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fcf8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fd98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fda0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fda8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdb0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdb8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdc0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdc8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdd0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdd8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fde0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fde8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdf0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fdf8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fe98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fea0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fea8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807feb0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807feb8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fec0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fec8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fed0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fed8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fee0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fee8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fef0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fef8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff00][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff08][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff10][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff18][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff20][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff28][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff30][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff38][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff40][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff48][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff50][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff58][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff60][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff68][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff70][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff78][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff80][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff88][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff90][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ff98][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffa0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffa8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffb0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffb8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffc0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffc8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffd0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffd8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffe0][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807ffe8][ff ff ff ff ff ff ff ff ]
read_tempbuffer addr[807fff0][ff ff ff ff ff ff ff ff ]
寫入0-2048個(gè)數(shù)據(jù),從10開始寫
flash 0 10 2048 
查看整個(gè)扇區(qū)的數(shù)據(jù)
msh />flash 1 255 0
read_tempbuffer addr[807f800][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f808][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f810][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f818][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f820][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f828][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f830][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f838][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f840][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f848][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f850][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f858][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f860][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f868][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f870][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f878][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f880][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f888][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f890][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f898][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8a0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8a8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8b0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8b8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8c0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8c8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8d0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8d8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8e0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8e8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8f0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f8f8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f900][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f908][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f910][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f918][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f920][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f928][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f930][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f938][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f940][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f948][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f950][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f958][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f960][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f968][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f970][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f978][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f980][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f988][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f990][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f998][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9a0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9a8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9b0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9b8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9c0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9c8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9d0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9d8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9e0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9e8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9f0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807f9f8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fa98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807faa0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807faa8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fab0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fab8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fac0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fac8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fad0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fad8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fae0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fae8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807faf0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807faf8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fb98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fba0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fba8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbb0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbb8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbc0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbc8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbd0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbd8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbe0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbe8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbf0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fbf8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fc98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fca0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fca8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcb0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcb8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcc0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcc8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcd0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcd8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fce0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fce8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcf0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fcf8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fd98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fda0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fda8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdb0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdb8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdc0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdc8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdd0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdd8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fde0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fde8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdf0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fdf8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fe98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fea0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fea8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807feb0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807feb8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fec0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fec8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fed0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fed8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fee0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fee8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fef0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fef8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff00][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff08][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff10][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff18][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff20][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff28][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff30][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff38][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff40][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff48][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff50][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff58][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff60][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff68][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff70][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff78][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff80][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff88][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff90][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ff98][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffa0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffa8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffb0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffb8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffc0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffc8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffd0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffd8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffe0][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807ffe8][00 00 00 00 00 00 00 00 ]
read_tempbuffer addr[807fff0][55 aa 09 08 00 00 aa 55 ]

5 總結(jié)
如果數(shù)據(jù)量比較大,這種均衡擦除算法就顯得比較笨重了,最好是使用ESP8266的鍵值對(duì)的方式來存儲(chǔ)參數(shù),并且支持均衡擦除。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1638

    瀏覽量

    148180
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4328

    瀏覽量

    85941
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10906

    瀏覽量

    356531
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4801

    瀏覽量

    68728
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    573

    瀏覽量

    40152
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32單片機(jī)內(nèi)部FLASH的編程和擦除操作

    F1和F4系列的芯片FLASH擦除后會(huì)是0xFFFFFFFF,而L1系列的芯片FLASH擦除后是0x00000000!!!!!
    的頭像 發(fā)表于 02-14 16:37 ?2.2w次閱讀
    STM32單片機(jī)<b class='flag-5'>內(nèi)部</b><b class='flag-5'>FLASH</b>的編程和<b class='flag-5'>擦除</b>操作

    請(qǐng)問高手們STM32F105芯片的內(nèi)部flash能快速擦除嗎?

    請(qǐng)問高手們STM32F105芯片的內(nèi)部flash能快速擦除嗎?因?yàn)橐鰝€(gè)升級(jí)系統(tǒng)的程序,一頁一頁的擦除內(nèi)部
    發(fā)表于 04-13 15:25

    cc1310的內(nèi)部flash擦除分享!

    代碼//-----------------------------cc1310 n內(nèi)部flash的使用-----------------------------------------/*cc1310flash的每次
    發(fā)表于 09-16 08:31

    flash磨損均衡處理的相關(guān)資料推薦

    FLASH磨損均衡原理及實(shí)現(xiàn)背景磨損均衡原理磨損均衡實(shí)現(xiàn)定長數(shù)據(jù)讀寫不定長數(shù)據(jù)讀寫多個(gè)不定長數(shù)據(jù)
    發(fā)表于 01-26 06:38

    用JLINK擦除STM32內(nèi)部flash,這個(gè)擦除是一個(gè)一個(gè)數(shù)據(jù)去寫入擦除的嗎 ?

    用JLINK擦除STM32內(nèi)部flash,這個(gè)擦除是一個(gè)一個(gè)數(shù)據(jù)去寫入擦除的嗎
    發(fā)表于 10-12 07:35

    用C語言編程操作SPMC75系列單片機(jī)內(nèi)部Flash方法

    用C語言編程操作SPMC75系列單片機(jī)內(nèi)部Flash方法 SPMC75系列單片機(jī)的內(nèi)部程序存儲(chǔ)器采用Flash,其中有一部分
    發(fā)表于 09-19 10:29 ?1223次閱讀
    用C語言編程操作SPMC75系列單片機(jī)<b class='flag-5'>內(nèi)部</b><b class='flag-5'>Flash</b>的<b class='flag-5'>方法</b>

    STM32擦除內(nèi)部FLASH時(shí)間過長導(dǎo)致IWDG復(fù)位

    STM32擦除內(nèi)部FLASH時(shí)間過長導(dǎo)致IWDG復(fù)位(嵌入式開發(fā)一般采用什么方式?)-客戶反饋在使用STM32F412的時(shí)候,擦除sector 8~11發(fā)現(xiàn)時(shí)間過長,從而導(dǎo)致意外觸發(fā)I
    發(fā)表于 07-30 11:06 ?4次下載
    STM32<b class='flag-5'>擦除</b><b class='flag-5'>內(nèi)部</b><b class='flag-5'>FLASH</b>時(shí)間過長導(dǎo)致IWDG復(fù)位

    華大HC32 flash擦除未生效的解決方法

    本來想用做個(gè)OTA的功能,但在調(diào)試過程中發(fā)現(xiàn),片內(nèi)的flash扇區(qū)擦除不生效。無論怎么擦,讀出的數(shù)據(jù)始終不為0xff。 后來,看了用戶手冊(cè)和HC32的庫的代碼,才發(fā)現(xiàn)問題。 以下
    發(fā)表于 11-23 18:06 ?40次下載
    華大HC32 <b class='flag-5'>flash</b><b class='flag-5'>擦除</b>未生效的解決<b class='flag-5'>方法</b>

    STM32內(nèi)部Flash讀寫問題

    STM32Flash讀寫之Flash調(diào)試技巧文章目錄先熟悉所用MCU的Flash存儲(chǔ)大小以及扇區(qū)地址Flsah寫之前為什么要先擦除Flash
    發(fā)表于 12-01 20:21 ?20次下載
    STM32<b class='flag-5'>內(nèi)部</b><b class='flag-5'>Flash</b>讀寫問題

    軟件優(yōu)化Flash擦除時(shí)間長的方法

    概述:??通過地址的偏移,巧妙的避開Flash擦除長時(shí)間占用CPU的使用。??MCU-STM32H743,編譯環(huán)境-Keil說明:基礎(chǔ)知識(shí)可以看:Flash讀寫 其中包含了本代碼涉及到的所有函數(shù)
    發(fā)表于 12-01 20:36 ?4次下載
    軟件優(yōu)化<b class='flag-5'>Flash</b><b class='flag-5'>擦除</b>時(shí)間長的<b class='flag-5'>方法</b>

    flash 磨損均衡處理

    FLASH磨損均衡原理及實(shí)現(xiàn)背景磨損均衡原理磨損均衡實(shí)現(xiàn)定長數(shù)據(jù)讀寫不定長數(shù)據(jù)讀寫多個(gè)不定長數(shù)據(jù)
    發(fā)表于 12-02 10:06 ?8次下載
    <b class='flag-5'>flash</b> 磨損<b class='flag-5'>均衡</b>處理

    解決stm32f103同一個(gè)扇區(qū)flash只能擦除一次,再次擦除報(bào)FLASH_ERROR_PG錯(cuò)誤問題

    項(xiàng)目中用到stm32內(nèi)部flash存儲(chǔ)一些系統(tǒng)運(yùn)行數(shù)據(jù),每次上電重新加載保存的數(shù)據(jù)。早先用法如下圖所示,擦除之前每次要關(guān)閉總中斷,解鎖flash,
    發(fā)表于 12-02 11:51 ?16次下載
    解決stm32f103同一個(gè)扇區(qū)<b class='flag-5'>flash</b>只能<b class='flag-5'>擦除</b>一次,再次<b class='flag-5'>擦除</b>報(bào)<b class='flag-5'>FLASH</b>_ERROR_PG錯(cuò)誤問題

    flash芯片時(shí)為什么需要先擦除

    flash芯片時(shí)為什么需要先擦除? 在講解為什么需要先擦除Flash芯片之前,先來了解一下Flash芯片的基本概念和組成部分。
    的頭像 發(fā)表于 10-29 17:24 ?4345次閱讀

    Nor Flash編程和擦除操作的詳細(xì)流程

    Nor Flash 中的編程和擦除操作涉及寫入數(shù)據(jù)和擦除存儲(chǔ)單元的特定步驟。
    的頭像 發(fā)表于 12-05 15:19 ?1470次閱讀

    flash擦除后的值是多少

    擦除后,Flash存儲(chǔ)器中的所有位都被設(shè)置為邏輯"1"的狀態(tài)。 Flash擦除是通過將數(shù)據(jù)位邏輯上設(shè)置為"0"來實(shí)現(xiàn)的。對(duì)于普通的
    的頭像 發(fā)表于 01-04 15:57 ?2094次閱讀
    主站蜘蛛池模板: 国产欧美精品一区二区三区-老狼| 岛国精品在线观看| 国产偷国产偷亚州清高| 日韩精品 电影一区 亚洲高清| 97免费在线视频| 免费a视频在线观看| 在线观看视频国产| 久久精品亚洲| 尤物久久99国产综合精品| 久草热8精品视频在线观看| 亚洲精品m在线观看| 国产午夜精品不卡观看| 乡村教师电影完整版在线观看| 国产精品色无码AV在线观看| 色欲久久综合亚洲精品蜜桃| 囯产精品麻豆巨作久久| 视频一区在线免费观看| 国产精品黄色大片| 网红刘婷hd国产高清| 国产精品久久久久影院| 无套内射CHINESEHD熟女| 国产精品成人A蜜柚在线观看 | 国产免费久久爱久久啪| 无限资源在线看影院免费观看| 国产精品久久欧美一区| 小向美奈子厨房magnet| 国产亚洲日韩欧美视频| 亚洲免费大全| 久草网国产自偷拍| 中国大陆一级毛片免费| 麻豆AV福利AV久久AV| 97在线观看成人免费视频| 欧美黑人巨大xxxxx| 被窝国产理论一二三影院| 麻豆高清免费国产一区| 99re精品视频在线播放视频| 欧美日韩另类在线观看视频| 朝鲜黄色录像| 午夜福利免费视频921000电影| 国产色婷婷亚洲99精品| 亚洲色欲色欲无码AV|