ngultra_memory_programmer.py –write_file <your_file> –address <start_address>
dd if=/dev/urandom of=random.bin bs=256 count=1 ngultra_memory_programmer.py --write_file random.bin --address 0x3000000 |
ngultra_memory_programmer.py –dump <your_file> –address <start_address> –count <number of 32bits block>
ngultra_memory_programmer.py --dump random.bin --address 0x3000000 --count 64 |
ngultra_memory_programmer.py –read_register –address <start_address>
/ngultra_memory_programmer.py --read_register --address 0xD701014 Result should be 0x0001000e |
ngultra_memory_programmer.py –write_register <value> –address <start_address>
ngultra_memory_programmer.py --write_register 0XA5A5A5A5 --address 0x3000000 |
Register could be read to check the correct execution of the command.
All these commands could access the memory via:
the DAP APB (for Coresight registers);
the DAP AXI;
Any of the 4 cores.
This could be done via adding respectively:
–coresight
–axi
–core N (where N is the idx of the core [0-3])
The default accessor is: core 0