FLASH_Unlock(FLASH_MEMTYPE_DATA);
if(FLASH_ReadOptionByte(0x4800)!=0xaa)
{
FLASH_ProgramOptionByte(0x4800, 0xaa);
}
FLASH_Lock(FLASH_MEMTYPE_DATA);
Verwendung von stm8s003f3.stm8 Ausleseschutz (ROP) Einstellung Option Byte im Code
Hinzufügen dieser Code Hauptinitialisierung, Code Protect (ROP) ist Einstellung, aber meine Anwendung Code funktioniert nicht.
Wenn Optionsbyte über IAR- oder ST Visual Programmer-Optionsbyte-Register gesetzt wird, funktionieren Anwendungscode und Code Protect (ROP) ordnungsgemäß.
Ich muss ROP in Code festlegen.
Ich habe versucht, diesen Code, aber es ist das gleiche Ergebnis. Code-Schutz einstellen, aber Code nicht runnig. – mryldz
Was ist mit Interrupt? Deaktivieren Sie den Interrupt, bevor Sie diese Funktion aufrufen? Verwenden Sie rim() um Interrupts zu aktivieren und sim() um Interrupts zu deaktivieren: sim(); Read_Protect_Flash(); Felge(); –
Ich habe es versucht und es funktioniert nicht. Aber wenn ich den Code zum ersten Mal kompiliere, funktioniert der Debugger einmal. Wenn ich die Funktion als 'sim(); Read_Protect_Flash(); rim(); 'code wartet auf diese Zeile' flagstatus = (u8) (FLASH-> IAPSR & (FLASH_IAPSR_EOP | FLASH_IAPSR_WR_PG_DIS)); 'in _stm8_flash.c_ – mryldz