This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教LM4F230芯片解锁的问题

LM4F230芯片,程序中使用如下程序加密,并commit后不能连接解锁

    HWREG(FLASH_FMD) = HWREG(FLASH_BOOTCFG) & 0x7FFFFFFD; 

    HWREG(FLASH_RMCTL) &= 0xFFFFFFFE;  


    HWREG(FLASH_FMPPE0) = 0;  

    HWREG(FLASH_FMPPE1) = 0;

我使用的是LM  FLASH PROGRAMMER 1470版,未机密前可以连接,加完密后不能连接,不能UNLOCK,

请问有没有详细的操作方法。              

  • 我试了使能了FLASH的写保护后好像确实不能链接,求证实。

  • 我用的 1470版本试了一下,可以UNLOCK的。

    我在EK-LM4F232评估板上写了一小段代码测试写保护功能。

    修改FMPPE0和FMPPE1,将0-128K的Flash空间写保护:

    void FlashWProtectTest(void)
    {
            unsigned long regVal;

           regVal = HWREG(FLASH_FMPPE0);
           if(regVal == 0xffffffff)
           {

                  HWREG(FLASH_FMPPE0) = 0;
                  HWREG(FLASH_FMA) = 0x00000001; // FMPPE0 's FMA Value
                  HWREG(FLASH_FMC) = 0xA4420008; //FMC=key+commit
                  while((HWREG(FLASH_FMC) & 0x00000008) == 0x00000008)
                  {

                  }
           }


           regVal = HWREG(FLASH_FMPPE1);
           if(regVal == 0xffffffff)
           {

                  HWREG(FLASH_FMPPE1) = 0;
                  HWREG(FLASH_FMA) = 0x00000003; // FMPPE1 's FMA Value
                  HWREG(FLASH_FMC) = 0xA4420008; //FMC=key+commit
                  while((HWREG(FLASH_FMC) & 0x00000008) == 0x00000008)
                  {

                  }
           }
    }

    在初始化系统时钟后调用上述函数。

    写入芯片后,程序可以正常运行。再写入其他程序时,到Verify环节提示出错,证明写保护有效。

    解锁方法:

    1、打开LM Flash Programer,在Other Utilities项的Debug Port Unlock项中,选择Fury,DustDevil and Blizzard Classes,然后点击Unlock:

    点击Yes,弹出如下提示:

    保持芯片复位然后给芯片上电,然后点击OK。

    等待出现:Release reset提示后,放开复位键,并点击OK。随后出现如下提示:

    点击OK后,给MCU重新上电,MCU解锁完成。

    如果遇到提示解锁失败,尝试关闭LM Flash Programer后重新打开LM Flash Programer,再执行上述解锁操作。

  • 很详细,适合初学者看