o testing
This commit is contained in:
parent
9a40d078dd
commit
9f55ce0992
@ -212,8 +212,8 @@ AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
|
||||
#
|
||||
|
||||
|
||||
#flashmac:
|
||||
# uisp -dprog=avr910 -dpart=ATmega8 -dserial=/dev/cu.PL2303-00002326 --erase -v --upload if=$(TARGET).hex
|
||||
#flash_mac: $(TARGET).hex
|
||||
# uisp -dprog=avr910 -dpart=ATmega8 -dserial=/dev/tty.PL2303-00001004 --erase -v --upload if=$(TARGET).hex
|
||||
|
||||
|
||||
|
||||
@ -331,13 +331,12 @@ gccversion :
|
||||
|
||||
# Program the device.
|
||||
|
||||
flash_avrdude: flash
|
||||
|
||||
flash: $(TARGET).hex $(TARGET).eep
|
||||
sudo $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||
#flash: $(TARGET).hex $(TARGET).eep
|
||||
# sudo $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||
|
||||
flash_uisp:
|
||||
sudo uisp -dprog=avr910 -dpart=ATmega8 -dserial=/dev/ttyUSB0 --verify --erase -v --upload if=$(TARGET).hex
|
||||
#flash_uisp:
|
||||
# sudo uisp -dprog=avr910 -dpart=ATmega8 -dserial=/dev/ttyUSB0 --verify --erase -v --upload if=$(TARGET).hex
|
||||
|
||||
|
||||
|
||||
|
||||
35
poc/avr_sdcard/checksize
Normal file
35
poc/avr_sdcard/checksize
Normal file
@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
# Name: checksize
|
||||
# Project: PowerSwitch/AVR-USB
|
||||
# Author: Christian Starkjohann
|
||||
# Creation Date: 2004-12-29
|
||||
# Tabsize: 4
|
||||
# Copyright: (c) 2005 OBJECTIVE DEVELOPMENT Software GmbH.
|
||||
# Revision: $Id: checksize 83 2006-01-05 22:20:53Z cs $
|
||||
|
||||
error=0
|
||||
codelimit=8192 # default value
|
||||
datalimit=992 # default value; leave 32 bytes for stack
|
||||
|
||||
if [ $# -gt 1 ]; then
|
||||
codelimit="$2"
|
||||
fi
|
||||
if [ $# -gt 2 ]; then
|
||||
datalimit="$3"
|
||||
fi
|
||||
|
||||
set -- `avr-size -d "$1" | awk '/[0-9]/ {print $1 + $2, $2 + $3, $2}'`
|
||||
if [ $1 -gt $codelimit ]; then
|
||||
echo "*** code size $1 exceeds limit of $codelimit"
|
||||
error=1
|
||||
else
|
||||
echo "ROM: $1 bytes (data=$3)"
|
||||
fi
|
||||
if [ $2 -gt $datalimit ]; then
|
||||
echo "*** data size $2 exceeds limit of $datalimit"
|
||||
error=1
|
||||
else
|
||||
echo "RAM: $2 bytes"
|
||||
fi
|
||||
|
||||
exit $error
|
||||
@ -1,4 +1,4 @@
|
||||
#define F_CPU 8000000
|
||||
//#define F_CPU 8000000
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
@ -24,19 +24,23 @@
|
||||
#define R_DIR DDRD
|
||||
|
||||
|
||||
#define DEBUG_BUFFER_SIZE 128
|
||||
#define READ_BUFFER_SIZE 512
|
||||
#define DEBUG_BUFFER_SIZE 256
|
||||
|
||||
uint8_t debug_buffer[DEBUG_BUFFER_SIZE];
|
||||
#define BLOCK_CNT 512
|
||||
|
||||
//uint8_t debug_buffer[DEBUG_BUFFER_SIZE];
|
||||
uint8_t read_buffer[READ_BUFFER_SIZE];
|
||||
|
||||
void dprintf(const uint8_t * fmt, ...) {
|
||||
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsprintf(debug_buffer, fmt, args);
|
||||
va_end(args);
|
||||
uart_puts(debug_buffer);
|
||||
//va_list args;
|
||||
//va_start(args, fmt);
|
||||
//vsnprintf(debug_buffer,DEBUG_BUFFER_SIZE-1, fmt, args);
|
||||
//va_end(args);
|
||||
//uart_puts(debug_buffer);
|
||||
uart_puts(fmt);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -44,14 +48,15 @@ void dump_packet(uint32_t addr,uint32_t len,uint8_t *packet){
|
||||
uint16_t i,j;
|
||||
uint16_t sum =0;
|
||||
for (i=0;i<len;i+=16) {
|
||||
|
||||
sum = 0;
|
||||
for (j=0;j<16;j++) {
|
||||
sum +=packet[i+j];
|
||||
}
|
||||
if (!sum)
|
||||
continue;
|
||||
|
||||
dprintf("%08x:", addr + i);
|
||||
|
||||
dprintf("%08lx:", addr + i);
|
||||
for (j=0;j<16;j++) {
|
||||
dprintf(" %02x", packet[i+j]);
|
||||
}
|
||||
@ -62,7 +67,7 @@ void dump_packet(uint32_t addr,uint32_t len,uint8_t *packet){
|
||||
else
|
||||
dprintf(".");
|
||||
}
|
||||
dprintf("|\n");
|
||||
dprintf("|\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -154,8 +159,11 @@ void sram_init(void){
|
||||
void sram_clear(uint32_t addr, uint32_t len){
|
||||
|
||||
uint32_t i;
|
||||
for (i=addr; i<(addr + len);i++ )
|
||||
for (i=addr; i<(addr + len);i++ ){
|
||||
if (0==i%0xfff)
|
||||
dprintf("sram_clear %lx\n\r",i);
|
||||
sram_write(i, 0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void sram_copy(uint32_t addr,uint8_t *src, uint32_t len){
|
||||
@ -183,20 +191,25 @@ int main(void)
|
||||
uint8_t fat_attrib = 0;
|
||||
uint32_t fat_size = 0;
|
||||
uint32_t rom_addr = 0;
|
||||
uint8_t done = 0;
|
||||
|
||||
|
||||
|
||||
uart_init();
|
||||
dprintf("uart_init\n\r");
|
||||
|
||||
sram_init();
|
||||
dprintf("sram_init\n");
|
||||
dprintf("sram_init\n\r");
|
||||
|
||||
spi_init();
|
||||
dprintf("spi_init\n");
|
||||
dprintf("spi_init\n\r");
|
||||
|
||||
/*
|
||||
#ifdef 0
|
||||
sram_clear(0x000000, 0x400000);
|
||||
dprintf("sram_clear\n");
|
||||
|
||||
dprintf("sram_clear\n\r");
|
||||
#endif
|
||||
*/
|
||||
while ( mmc_init() !=0) {
|
||||
dprintf("no sdcard..\n\r");
|
||||
}
|
||||
@ -207,24 +220,32 @@ int main(void)
|
||||
|
||||
|
||||
rom_addr = 0x000000;
|
||||
dprintf("look for sprite.smc\n\r");
|
||||
while (!done){
|
||||
dprintf("Look for sprite.smc\n\r");
|
||||
if (fat_search_file((uint8_t*)"sprite.smc",
|
||||
&fat_cluster,
|
||||
&fat_size,
|
||||
&fat_attrib,
|
||||
read_buffer) == 1) {
|
||||
dprintf("Start loading sprite.smc\n\r");
|
||||
|
||||
if (fat_search_file((uint8_t*)"sprite.smc",
|
||||
&fat_cluster,
|
||||
&fat_size,
|
||||
&fat_attrib,
|
||||
read_buffer) == 1) {
|
||||
|
||||
for (uint16_t block_cnt=0; block_cnt<512; block_cnt++) {
|
||||
fat_read_file (fat_cluster,read_buffer,block_cnt);
|
||||
dprintf("Read Block %i addr 0x%06\n",block_cnt,rom_addr);
|
||||
sram_copy(rom_addr,read_buffer,512);
|
||||
rom_addr += 512;
|
||||
}
|
||||
for (uint16_t block_cnt=0; block_cnt<BLOCK_CNT; block_cnt++) {
|
||||
fat_read_file (fat_cluster,read_buffer,block_cnt);
|
||||
dprintf("Read Block %i addr 0x%lx\n\r",block_cnt,rom_addr);
|
||||
sram_copy(rom_addr,read_buffer,512);
|
||||
//dump_packet(rom_addr,512,read_buffer);
|
||||
rom_addr += 512;
|
||||
}
|
||||
dprintf("Done 0x%lx\n\r",rom_addr);
|
||||
done = 1;
|
||||
}
|
||||
}
|
||||
|
||||
dprintf("Dump memory\n\r");
|
||||
|
||||
rom_addr = 0x000000;
|
||||
for (uint16_t block_cnt=0; block_cnt<512; block_cnt++) {
|
||||
for (uint16_t block_cnt=0; block_cnt<BLOCK_CNT; block_cnt++) {
|
||||
dprintf("Read memory addr %lx\n\r",rom_addr);
|
||||
sram_read_buffer(rom_addr,read_buffer,512);
|
||||
dump_packet(rom_addr,512,read_buffer);
|
||||
rom_addr += 512;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user