benchmark runs and fails randomly... next task is to update to master branch of lvgl so documentation becomes useful again

stable
Penguin 2 years ago
parent 265ab8d738
commit b60d2d706e

@ -80,7 +80,7 @@ typedef int16_t lv_coord_t;
#define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
# define LV_MEM_SIZE (8U * 1024U)
# define LV_MEM_SIZE (16U * 1024U)
/* Complier prefix for a big array declaration */
# define LV_MEM_ATTR
@ -337,7 +337,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
/* Montserrat fonts with bpp = 4
* https://fonts.google.com/specimen/Montserrat */
#define LV_FONT_MONTSERRAT_12 0
#define LV_FONT_MONTSERRAT_14 0
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 0
#define LV_FONT_MONTSERRAT_20 0

@ -0,0 +1,47 @@
/**
* @file lv_ex_conf.h
*
*/
/*
* COPY THIS FILE AS lv_ex_conf.h
*/
#if 1 /*Set it to "1" to enable the content*/
#ifndef LV_EX_CONF_H
#define LV_EX_CONF_H
/*******************
* GENERAL SETTING
*******************/
#define LV_EX_PRINTF 0 /*Enable printf-ing data in demoes and examples*/
#define LV_EX_KEYBOARD 0 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/
#define LV_EX_MOUSEWHEEL 0 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/
/*********************
* DEMO USAGE
*********************/
/*Show some widget*/
#define LV_USE_DEMO_WIDGETS 0
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
/*Printer demo, optimized for 800x480*/
#define LV_USE_DEMO_PRINTER 0
/*Demonstrate the usage of encoder and keyboard*/
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
/*Benchmark your system*/
#define LV_USE_DEMO_BENCHMARK 1
/*Stress test for LVGL*/
#define LV_USE_DEMO_STRESS 0
#endif /*LV_EX_CONF_H*/
#endif /*End of "Content enable"*/

@ -1,18 +1,3 @@
mon s
mon s
mon s
mon s
q
target extended-remote /dev/ttyBmpGdb
mon s
mon s
mon s
mon s
mon s
mon s
mon s
mon s
q
tar extended-remote /dev/ttyBmpGdb
mon s
att 1
@ -254,3 +239,18 @@ load
r
qq
q
tar ext /dev/ttyBmpGdb
mon s
att 1
load AtmelStart.elf
r
q
mon s
mon s
mon s
mon s
att 1
load
r
w
q

@ -66,7 +66,9 @@ shared/thirdparty/lvgl/src/lv_themes \
shared/thirdparty/lvgl/src/lv_widgets \
shared/thirdparty/lvgl/tests \
shared/thirdparty/lvgl/tests/lv_test_core \
shared/thirdparty/lvgl/tests/lv_test_objx
shared/thirdparty/lvgl/tests/lv_test_objx \
shared/thirdparty/lv_examples/src/lv_demo_benchmark \
shared/thirdparty/lv_examples/assets
# List the object files
OBJS += \
@ -223,7 +225,16 @@ shared/thirdparty/lvgl/tests/lv_test_core/lv_test_core.o \
shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o \
shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o \
shared/thirdparty/lvgl/tests/lv_test_main.o \
shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o
shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o \
shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o \
shared/thirdparty/lv_examples/assets/img_cogwheel_argb.o \
shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o \
shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o \
shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o \
shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o \
shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o \
shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o \
shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o
OBJS_AS_ARGS += \
"hal/src/hal_io.o" \
@ -379,7 +390,16 @@ OBJS_AS_ARGS += \
"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.o" \
"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.o" \
"shared/thirdparty/lvgl/tests/lv_test_main.o" \
"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o"
"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.o" \
"shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.o" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_argb.o" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.o" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.o" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.o" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.o" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.o" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.o" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.o"
# List the directories containing header files
DIR_INCLUDES += \
@ -565,7 +585,16 @@ DEPS_AS_ARGS += \
"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_obj.d" \
"shared/thirdparty/lvgl/tests/lv_test_core/lv_test_style.d" \
"shared/thirdparty/lvgl/tests/lv_test_main.d" \
"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.d"
"shared/thirdparty/lvgl/tests/lv_test_objx/lv_test_cont.d" \
"shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.d" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_argb.d" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_rgb.d" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_chroma_keyed.d" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_indexed16.d" \
"shared/thirdparty/lv_examples/assets/img_cogwheel_alpha16.d" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_12_compr_az.d" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_16_compr_az.d" \
"shared/thirdparty/lv_examples/assets/lv_font_montserrat_28_compr_az.d"
OUTPUT_FILE_NAME :=AtmelStart
QUOTE := "
@ -610,7 +639,7 @@ $(OUTPUT_FILE_PATH): $(OBJS)
%.o: %.c
@echo Building file: $<
@echo ARM/GNU C Compiler
$(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
$(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
$(DIR_INCLUDES) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@ -619,7 +648,7 @@ $(DIR_INCLUDES) \
%.o: %.s
@echo Building file: $<
@echo ARM/GNU Assembler
$(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
$(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
$(DIR_INCLUDES) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@ -628,7 +657,7 @@ $(DIR_INCLUDES) \
%.o: %.S
@echo Building file: $<
@echo ARM/GNU Preprocessing Assembler
$(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
$(QUOTE)$(GCC)$(QUOTE) -x c -mthumb -DDEBUG -DLV_CONF_INCLUDE_SIMPLE -DLV_EX_CONF_INCLUDE_SIMPLE -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
$(DIR_INCLUDES) \
-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"

@ -1605,3 +1605,268 @@ Breakpoint 1, main () at ../main.c:8
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
Quit
quit
Dummy_Handler () at ../gcc/gcc/startup_same54.c:676
676 while (1) {
### Assembly ###################################################################
~
~
~
~
~
0x00000f00 Dummy_Handler+0 b.n 0xf00 <Dummy_Handler>
~
~
~
~
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x81481949 r8 0x0000393d xpsr 0x31000003
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x2000195c r10 0x200035f0 msp 0x2000fb68
r3 0x20001960 r11 0x200057a4 psp 0xfdff277c
r4 0x81481949 r12 0xffffffff primask 0x00
r5 0x00000f05 sp 0x2000fb68 basepri 0x00
r6 0x00000000 lr 0xffffffe9 faultmask 0x00
r7 0x00003489 pc 0x00000f00 control 0x00
### Source #####################################################################
666 /* Infinite loop */
667 while (1)
668 ;
669 }
670
671 /**
672 * \brief Default interrupt handler for unused IRQs.
673 */
674 void Dummy_Handler(void)
675 {
676 while (1) {
677 }
678 }
~
~
~
~
~
~
~
### Stack ######################################################################
[0] from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676
[1] from 0xffffffe9
[2] from 0x0000fc1a in lv_mem_free+0 at ../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c:230
[3] from 0x0000fc1a in lv_mem_free+14 at ../shared/thirdparty/lvgl/src/lv_misc/lv_mem.c:218
[4] from 0x00005e5e in lv_style_reset+10 at ../shared/thirdparty/lvgl/src/lv_core/lv_style.c:323
[5] from 0x000063a0 in _lv_style_list_reset+24 at ../shared/thirdparty/lvgl/src/lv_core/lv_style.c:291
[6] from 0x00002fae in lv_obj_clean_style_list+38 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1174
[7] from 0x00003944 in lv_obj_reset_style_list+8 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1190
[8] from 0x0001d266 in lv_demo_benchmark+34 at ../shared/thirdparty/lv_examples/src/lv_demo_benchmark/lv_demo_benchmark.c:634
[9] from 0x00001c6a in p_screen_init+18 at ../shared/devices/p_screen.c:40
[+]
### Threads ####################################################################
[1] id 0 from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676
### Variables ##################################################################
################################################################################
Breakpoint 1 at 0xf94: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x40ba8 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x40ba8
Loading section .relocate, size 0x118c lma 0x40bb0
Start address 0x00000000, load size 269628
Transfer rate: 56 KB/sec, 976 bytes/write.
### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000f94 main+0 push {r3, lr}
0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 <main+16>)
0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 <main+20>)
0x00000f9a main+6 blx r3
0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac <main+24>)
### Breakpoints ################################################################
[1] break at 0x00000f94 in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x00040bb0 r8 0x0000393d xpsr 0x61000000
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x00f00000 r10 0x200035f0 msp 0x2000fc48
r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000004 primask 0x00
r5 0x00000f05 sp 0x2000fc48 basepri 0x00
r6 0x00000000 lr 0x00000f65 faultmask 0x00
r7 0x00003489 pc 0x00000f94 control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3 #include "p_i2c.h"
4
5 int main(void)
6 {
! 7 oracle_init();
8 p_i2c_detect();
9 for(;;)
10 {
11 oracle_service();
12 }
13 }
~
~
~
### Stack ######################################################################
[0] from 0x00000f94 in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000f94 in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
Dummy_Handler () at ../gcc/gcc/startup_same54.c:676
676 while (1) {
### Assembly ###################################################################
~
~
~
~
~
0x00000f00 Dummy_Handler+0 b.n 0xf00 <Dummy_Handler>
~
~
~
~
### Breakpoints ################################################################
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x81481949 r8 0x0000393d xpsr 0x31000003
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x2000195c r10 0x200035f0 msp 0x2000fb68
r3 0x20001960 r11 0x200057a4 psp 0xfdff277c
r4 0x81481949 r12 0xffffffff primask 0x00
r5 0x00000f05 sp 0x2000fb68 basepri 0x00
r6 0x00000000 lr 0xffffffe9 faultmask 0x00
r7 0x00003489 pc 0x00000f00 control 0x00
### Source #####################################################################
666 /* Infinite loop */
667 while (1)
668 ;
669 }
670
671 /**
672 * \brief Default interrupt handler for unused IRQs.
673 */
674 void Dummy_Handler(void)
675 {
676 while (1) {
677 }
678 }
~
~
~
~
~
~
~
### Stack ######################################################################
[0] from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676
[1] from 0xffffffe9
[2] from 0x0000fc1a in _lv_area_is_point_on+102 at ../shared/thirdparty/lvgl/src/lv_misc/lv_area.c:165
[3] from 0x00003944 in lv_obj_realign+100 at ../shared/thirdparty/lvgl/src/lv_core/lv_obj.c:1077
[4] from 0x0000fffe in lv_color_mix+34 at ../shared/thirdparty/lvgl/src/lv_misc/lv_color.h:443
[5] from 0x0000fffe in lv_color_lighten+36 at ../shared/thirdparty/lvgl/src/lv_misc/lv_color.c:133
[6] from 0x00000fe8 in oracle_init+56 at ../oracle.c:30
### Threads ####################################################################
[1] id 0 from 0x00000f00 in Dummy_Handler+0 at ../gcc/gcc/startup_same54.c:676
### Variables ##################################################################
################################################################################
Breakpoint 1 at 0xf94: file ../main.c, line 7.
Note: automatically using hardware breakpoints for read-only addresses.
Loading section .text, size 0x41880 lma 0x0
Loading section .ARM.exidx, size 0x8 lma 0x41880
Loading section .relocate, size 0x118c lma 0x41888
Start address 0x00000000, load size 272916
Transfer rate: 56 KB/sec, 978 bytes/write.
### Output/messages ############################################################
Breakpoint 1, main () at ../main.c:7
7 oracle_init();
### Assembly ###################################################################
~
~
~
~
~
!0x00000f94 main+0 push {r3, lr}
0x00000f96 main+2 ldr r3, [pc, #12] ; (0xfa4 <main+16>)
0x00000f98 main+4 ldr r4, [pc, #12] ; (0xfa8 <main+20>)
0x00000f9a main+6 blx r3
0x00000f9c main+8 ldr r3, [pc, #12] ; (0xfac <main+24>)
### Breakpoints ################################################################
[1] break at 0x00000f94 in ../main.c:7 for main hit 1 time
### Expressions ################################################################
### History ####################################################################
### Memory #####################################################################
### Registers ##################################################################
r0 0x00041888 r8 0x0000393d xpsr 0x61000000
r1 0x00000000 r9 0x0000ef7d fpscr 0x00000000
r2 0x00f00000 r10 0x200035f0 msp 0x200121f0
r3 0x00000f95 r11 0x200057a4 psp 0xfdff277c
r4 0x1ffffffd r12 0x00000008 primask 0x00
r5 0x00000f05 sp 0x200121f0 basepri 0x00
r6 0x00000000 lr 0x00000f65 faultmask 0x00
r7 0x00003489 pc 0x00000f94 control 0x00
### Source #####################################################################
~
~
~
~
1 #include "oracle.h"
2 #include "p_usart.h"
3 #include "p_i2c.h"
4
5 int main(void)
6 {
! 7 oracle_init();
8 p_i2c_detect();
9 for(;;)
10 {
11 oracle_service();
12 }
13 }
~
~
~
### Stack ######################################################################
[0] from 0x00000f94 in main+0 at ../main.c:7
### Threads ####################################################################
[1] id -1 from 0x00000f94 in main+0 at ../main.c:7
### Variables ##################################################################
################################################################################
[Inferior 1 (Remote target) detached]
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
quit
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
Quit
quit
../scripts/push.gdb:6: Error in sourced command file:
Attaching to Remote target failed
Quit
quit

@ -8,7 +8,7 @@
#include "p_ssd1963.h"
#include "lvgl/lvgl.h"
#include "hornet.h"
#include "lv_examples/lv_examples.h"
static lv_disp_buf_t disp_buf;
static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/
@ -26,16 +26,20 @@ void p_screen_init(void)
disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/
disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/
lv_disp_drv_register(&disp_drv); /*Finally register the driver*/
//
// lv_obj_t* scr = lv_disp_get_scr_act(NULL);
//
// lv_obj_t* hornet_image = lv_img_create(scr, NULL);
// lv_img_set_src(hornet_image, &hornet);
// lv_obj_set_pos(hornet_image, 0, 0);
//
// lv_obj_t* random_text = lv_label_create(scr, NULL);
// lv_obj_set_pos(random_text, 90, 35);
// lv_label_set_text(random_text, "Hello World");
lv_obj_t* scr = lv_disp_get_scr_act(NULL);
lv_demo_benchmark();
lv_obj_t* hornet_image = lv_img_create(scr, NULL);
lv_img_set_src(hornet_image, &hornet);
lv_obj_set_pos(hornet_image, 0, 0);
lv_obj_t* random_text = lv_label_create(scr, NULL);
lv_obj_set_pos(random_text, 90, 35);
lv_label_set_text(random_text, "Hello World");
}
void p_screen_service(void)