67 lines
3.2 KiB
Plaintext
67 lines
3.2 KiB
Plaintext
*** Keywords ***
|
|
Create Machine
|
|
Execute Command using sysbus
|
|
Execute Command mach create
|
|
Execute Command machine LoadPlatformDescription @platforms/boards/stm32f4_discovery-kit.repl
|
|
|
|
Unlock Control Register
|
|
Execute Command sysbus WriteDoubleWord 0x40023c04 0x45670123
|
|
Execute Command sysbus WriteDoubleWord 0x40023c04 0xcdef89ab
|
|
|
|
*** Test Cases ***
|
|
|
|
Should Ignore Erase When MER And SER Are Reset
|
|
Create Machine
|
|
Create Log Tester 3
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x08000000 0xdeadbeef
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000
|
|
Should Be True """${read_result}""".strip() == "0xDEADBEEF"
|
|
|
|
Unlock Control Register
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x40023c10 0x00010000 ## Try to perform erase with both SER and MER unset
|
|
|
|
Wait For Log Entry Tried to erase flash, but MER and SER are reset. This should be forbidden, ignoring...
|
|
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000 ## Should ignore erase attempt
|
|
Should Be True """${read_result}""".strip() == "0xDEADBEEF"
|
|
|
|
Should Perform Mass Erase
|
|
Create Machine
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x08000000 0xdeadbeef
|
|
Execute Command sysbus WriteDoubleWord 0x080E0000 0xcafebabe
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000
|
|
Should Be True """${read_result}""".strip() == "0xDEADBEEF"
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x080E0000
|
|
Should Be True """${read_result}""".strip() == "0xCAFEBABE"
|
|
|
|
Unlock Control Register
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x40023c10 0x00010004 ## Set MER and try to perform mass erase
|
|
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000
|
|
Should Be True """${read_result}""".strip() == "0xFFFFFFFF"
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x080E0000
|
|
Should Be True """${read_result}""".strip() == "0xFFFFFFFF"
|
|
|
|
Should Perform Sector Erase
|
|
Create Machine
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x08000000 0xdeadbeef
|
|
Execute Command sysbus WriteDoubleWord 0x080E0000 0xcafebabe
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000
|
|
Should Be True """${read_result}""".strip() == "0xDEADBEEF"
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x080E0000
|
|
Should Be True """${read_result}""".strip() == "0xCAFEBABE"
|
|
|
|
Unlock Control Register
|
|
|
|
Execute Command sysbus WriteDoubleWord 0x40023c10 0x0001005a ## Set SER and SNB to sector 11, and try to perform sector erase
|
|
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x08000000
|
|
Should Be True """${read_result}""".strip() == "0xDEADBEEF"
|
|
${read_result} = Execute Command sysbus ReadDoubleWord 0x080E0000
|
|
Should Be True """${read_result}""".strip() == "0xFFFFFFFF"
|