avr-debug build fixed

master
Ilya Elenskiy 5 years ago
parent a79a8b1ea0
commit 8b1820e667

@ -1,10 +1,5 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
@ -14,8 +9,13 @@ libdeps_dir = depends
[env]
platform = atmelavr
board = emgdmm_v3
; solves avr-debugger issue https://github.com/jdolinay/avr_debug/issues/19
platform_packages =
toolchain-atmelavr@~1.70300.0 ; use GCC AVR 7.3.0+
board = emgdmm_v3
monitor_speed = 9600
test_transport = custom
test_speed = 115200
@ -25,10 +25,25 @@ lib_deps =
[env:release] ; for flash via bootloader
; keep defaults, see board definitions for programming support
[env:debug] ; for debugging using avr-stub, see documentation
build_type = debug
build_flags =
-D DEBUG
-D GDBSTUB
-D AVR8_BREAKPOINT_MODE=2
;-D __AVR_ATmega1284P__ ; required by avr8-stub.c
debug_tool = avr-stub
; GDB stub implementation
lib_deps =
${env.lib_deps}
jdolinay/avr-debugger @ ^1.3
[env:debug] ; for JTAG bootloader flashing and potentialy debugging once supported
[env:jtag] ; for JTAG bootloader flashing and potentialy debugging once supported
build_type = debug
build_flags = -D DEBUG
build_flags =
-D DEBUG
upload_protocol = jtag3
upload_flags = -p, atmega1284 ; fix signature error with JTAGICE

@ -5,7 +5,12 @@
#include <util/delay.h>
#include <avr/pgmspace.h>
#include "uart.h"
#ifdef GDBSTUB
#include "avr8-stub.h"
#else
#include "uart.h"
#endif
#include "lcd.h"
#include "twi.h"
#include "dataflash.h"
@ -25,649 +30,65 @@
; \
}
/* clang-format off */
const uint8_t PROGMEM emg_logo[640] =
{
0x80,
0xe0,
0xf0,
0xf8,
0xf8,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xf8,
0xf8,
0xf0,
0xe0,
0x80,
0x00,
0x00,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xf0,
0xf8,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xf8,
0xf8,
0xf0,
0xe0,
0xc0,
0xe0,
0xf0,
0xf8,
0xf8,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xf8,
0xf8,
0xf0,
0xe0,
0x80,
0x00,
0x00,
0x80,
0xe0,
0xf0,
0xf8,
0xf8,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xfc,
0xf8,
0xf8,
0xf0,
0xe0,
0x80,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xf7,
0xf3,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf1,
0xf7,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x1f,
0x07,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x03,
0x0f,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x07,
0x03,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x03,
0x07,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x1f,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x03,
0x07,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xf1,
0xe1,
0xc1,
0xc1,
0x81,
0x81,
0x81,
0x81,
0xc1,
0xc1,
0xc1,
0xc1,
0xc1,
0xc1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0xe1,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xf0,
0xe0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xc0,
0xe0,
0xf0,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x01,
0x07,
0x07,
0x0f,
0x0f,
0x0f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x0f,
0x0f,
0x0f,
0x07,
0x07,
0x03,
0x00,
0x00,
0x00,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x00,
0x00,
0x00,
0x03,
0x07,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x0f,
0x8f,
0xcf,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x1f,
0x0f,
0x07,
0x01,
{
0x80, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf0, 0xf8, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x80, 0xe0, 0xf0,
0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0x80, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf7, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x1f, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x03, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x1f, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf1, 0xe1, 0xc1, 0xc1, 0x81, 0x81, 0x81, 0x81, 0xc1, 0xc1, 0xc1,
0xc1, 0xc1, 0xc1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
0xe1, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xe0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x01, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x03, 0x07,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x8f, 0xcf, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
0x1f, 0x0f, 0x07, 0x01,
};
/* clang-format on */
void demo_backlight(void);
void demo_start(void);
@ -687,13 +108,22 @@ int main(void)
// set PB0-PB3 on high-level
PORTB |= 0x0F; // Required for DMM Board DMM Board 2013
LCD_Init();
#ifdef GDBSTUB
debug_init(); // required for debugging via UART
#else
UART_Init();
#endif
LCD_Init();
sei(); // enable interrupts after drivers initialized
demo_start();
demo_show_emg();
#ifndef GDBSTUB // UART unavailable if used by GDB stub for debugging
demo_uart();
#endif
demo_display();
demo_backlight();
demo_music();
@ -759,6 +189,7 @@ void demo_show_emg(void)
wait_joy_button();
}
#ifndef GDBSTUB
void demo_uart(void)
{
unsigned char loop = 1;
@ -841,6 +272,7 @@ void demo_uart(void)
_delay_ms(200);
}
}
#endif
void demo_music(void)
{

Loading…
Cancel
Save