mirror of
https://github.com/sandeepmistry/rtl8710-openocd.git
synced 2024-12-04 20:20:29 +00:00
TODO list
This commit is contained in:
parent
2b07e47fb8
commit
bac8307df0
5 changed files with 20 additions and 18 deletions
6
Makefile
6
Makefile
|
@ -1,15 +1,15 @@
|
||||||
FIRMWARE_ADDRESS = 0x10001000
|
FIRMWARE_ADDRESS = 0x10001000
|
||||||
BUFFER = 0x10008000
|
BUFFER_ADDRESS = 0x10008000
|
||||||
BUFFER_SIZE = 262144
|
BUFFER_SIZE = 262144
|
||||||
FLASH_SECTOR_SIZE = 4096
|
FLASH_SECTOR_SIZE = 4096
|
||||||
|
|
||||||
all:
|
all:
|
||||||
arm-none-eabi-gcc -Wall -g -Os -mlittle-endian -mlong-calls -mthumb -mcpu=cortex-m3 -mfloat-abi=soft -mthumb-interwork -ffunction-sections -ffreestanding -fsingle-precision-constant -Wstrict-aliasing=0 -Wl,-T,rtl8710.ld -nostartfiles -nostdlib -u main -Wl,--section-start=.text=$(FIRMWARE_ADDRESS) -DBUFFER=$(BUFFER) rtl8710_flasher.c spi_flash.c -o rtl8710_flasher.elf
|
arm-none-eabi-gcc -Wall -g -Os -mlittle-endian -mlong-calls -mthumb -mcpu=cortex-m3 -mfloat-abi=soft -mthumb-interwork -ffunction-sections -ffreestanding -fsingle-precision-constant -Wstrict-aliasing=0 -Wl,-T,rtl8710.ld -nostartfiles -nostdlib -u main -Wl,--section-start=.text=$(FIRMWARE_ADDRESS) -DBUFFER_ADDRESS=$(BUFFER_ADDRESS) rtl8710_flasher.c spi_flash.c -o rtl8710_flasher.elf
|
||||||
arm-none-eabi-objcopy -O binary rtl8710_flasher.elf rtl8710_flasher.bin
|
arm-none-eabi-objcopy -O binary rtl8710_flasher.elf rtl8710_flasher.bin
|
||||||
gcc make_array.c -o make_array
|
gcc make_array.c -o make_array
|
||||||
cp rtl8710_cpu.ocd rtl8710.ocd
|
cp rtl8710_cpu.ocd rtl8710.ocd
|
||||||
echo "set rtl8710_flasher_firmware_ptr $(FIRMWARE_ADDRESS)" >>rtl8710.ocd
|
echo "set rtl8710_flasher_firmware_ptr $(FIRMWARE_ADDRESS)" >>rtl8710.ocd
|
||||||
echo "set rtl8710_flasher_buffer $(BUFFER)" >>rtl8710.ocd
|
echo "set rtl8710_flasher_buffer $(BUFFER_ADDRESS)" >>rtl8710.ocd
|
||||||
echo "set rtl8710_flasher_buffer_size $(BUFFER_SIZE)" >>rtl8710.ocd
|
echo "set rtl8710_flasher_buffer_size $(BUFFER_SIZE)" >>rtl8710.ocd
|
||||||
echo >>rtl8710.ocd
|
echo >>rtl8710.ocd
|
||||||
echo "array set rtl8710_flasher_code {" >>rtl8710.ocd
|
echo "array set rtl8710_flasher_code {" >>rtl8710.ocd
|
||||||
|
|
|
@ -26,8 +26,8 @@ compare file (filename) with flash offset (offset)
|
||||||
### rtl8710_flash_auto_erase [1/0]
|
### rtl8710_flash_auto_erase [1/0]
|
||||||
set auto_erase option on/off. flash pages will be autoerased when writing
|
set auto_erase option on/off. flash pages will be autoerased when writing
|
||||||
### rtl8710_flash_auto_verify [1/0]
|
### rtl8710_flash_auto_verify [1/0]
|
||||||
set auto_verify on/off. each block of data will be auto verified when writing
|
set auto_verify option on/off. each block of data will be auto verified when writing
|
||||||
## example:
|
## examples:
|
||||||
```
|
```
|
||||||
openocd -f interface/stlink-v2-1.cfg -f rtl8710.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "rtl8710_flash_read dump.bin 0 1048576" -c "shutdown"
|
openocd -f interface/stlink-v2-1.cfg -f rtl8710.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "rtl8710_flash_read dump.bin 0 1048576" -c "shutdown"
|
||||||
```
|
```
|
||||||
|
|
5
TODO.txt
Normal file
5
TODO.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
TESTING
|
||||||
|
better documentation
|
||||||
|
error handling
|
||||||
|
timeout handling
|
||||||
|
|
|
@ -4,22 +4,19 @@
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
ssize_t i, l;
|
ssize_t i, l;
|
||||||
uint32_t value;
|
uint32_t value, index;
|
||||||
uint8_t buffer[24];
|
uint8_t buffer[24];
|
||||||
int started, index;
|
index = 0;
|
||||||
started = index = 0;
|
|
||||||
while(1){
|
while(1){
|
||||||
l = read(0, buffer, 24);
|
l = read(0, buffer, 24);
|
||||||
if(l < 1)break;
|
if(l < 1)break;
|
||||||
if(started)printf("\n");
|
|
||||||
started = 1;
|
|
||||||
printf("\t");
|
printf("\t");
|
||||||
for(i = 0; i < l; i += 4){
|
for(i = 0; i < l; i += 4){
|
||||||
value = ((uint32_t)buffer[i + 0] << 0) | ((uint32_t)buffer[i + 1] << 8) | ((uint32_t)buffer[i + 2] << 16) | ((uint32_t)buffer[i + 3] << 24);
|
value = ((uint32_t)buffer[i + 0] << 0) | ((uint32_t)buffer[i + 1] << 8) | ((uint32_t)buffer[i + 2] << 16) | ((uint32_t)buffer[i + 3] << 24);
|
||||||
if(i)printf(" ");
|
if(i)printf(" ");
|
||||||
printf("%d 0x%08X", index++, (unsigned int)value);
|
printf("%d 0x%08X", index++, (unsigned int)value);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "spi_flash.h"
|
#include "spi_flash.h"
|
||||||
|
|
||||||
#define MEM_START (*(volatile uint32_t *)(BUFFER + 0x00))
|
#define MEM_START (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x00))
|
||||||
#define MEM_COMMAND (*(volatile uint32_t *)(BUFFER + 0x04))
|
#define MEM_COMMAND (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x04))
|
||||||
#define MEM_STATUS (*(volatile uint32_t *)(BUFFER + 0x08))
|
#define MEM_STATUS (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x08))
|
||||||
#define MEM_PARAM (*(volatile uint32_t *)(BUFFER + 0x0C))
|
#define MEM_PARAM (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x0C))
|
||||||
#define MEM_OFFSET (*(volatile uint32_t *)(BUFFER + 0x10))
|
#define MEM_OFFSET (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x10))
|
||||||
#define MEM_LEN (*(volatile uint32_t *)(BUFFER + 0x14))
|
#define MEM_LEN (*(volatile uint32_t *)(BUFFER_ADDRESS + 0x14))
|
||||||
#define MEM_DATA ((volatile uint8_t *)(BUFFER + 0x20))
|
#define MEM_DATA ((volatile uint8_t *)(BUFFER_ADDRESS + 0x20))
|
||||||
|
|
||||||
#define COMMAND_READ_ID 0
|
#define COMMAND_READ_ID 0
|
||||||
#define COMMAND_MASS_ERASE 1
|
#define COMMAND_MASS_ERASE 1
|
||||||
|
|
Loading…
Reference in a new issue