something is wrong with digit mapping

This commit is contained in:
dekunukem
2017-05-15 19:52:00 +01:00
parent 9c577c451d
commit 154f9eb367
10 changed files with 154 additions and 110 deletions

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

@@ -29,7 +29,7 @@ Project File Date: 05/13/2017
Build target 'clock_test'
compiling my_tasks.c...
linking...
Program Size: Code=16160 RO-data=348 RW-data=452 ZI-data=8708
Program Size: Code=16144 RO-data=348 RW-data=452 ZI-data=8708
"clock_test\clock_test.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [clock_test\clock_test.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image clock_test\clock_test.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060422: Last Updated: Sun May 14 01:52:15 2017
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060422: Last Updated: Mon May 15 19:45:00 2017
<BR><P>
<H3>Maximum Stack Usage = 268 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -1465,7 +1465,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;animation_task_start
</UL>
<P><STRONG><a name="[43]"></a>test_task_start</STRONG> (Thumb, 104 bytes, Stack size 0 bytes, my_tasks.o(i.test_task_start))
<P><STRONG><a name="[43]"></a>test_task_start</STRONG> (Thumb, 88 bytes, Stack size 0 bytes, my_tasks.o(i.test_task_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = test_task_start &rArr; osDelay &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;osDelay

View File

@@ -2406,29 +2406,29 @@ Image Symbol Table
i.setup_task 0x080039c8 Section 0 my_tasks.o(i.setup_task)
i.spi_send 0x08003a08 Section 0 my_tasks.o(i.spi_send)
i.test_task_start 0x08003a3c Section 0 my_tasks.o(i.test_task_start)
i.uxListRemove 0x08003aac Section 0 list.o(i.uxListRemove)
i.vListInitialise 0x08003ad0 Section 0 list.o(i.vListInitialise)
i.vListInitialiseItem 0x08003ae6 Section 0 list.o(i.vListInitialiseItem)
i.vListInsert 0x08003aec Section 0 list.o(i.vListInsert)
i.vListInsertEnd 0x08003b1c Section 0 list.o(i.vListInsertEnd)
i.vPortEnterCritical 0x08003b34 Section 0 port.o(i.vPortEnterCritical)
i.vPortExitCritical 0x08003b4c Section 0 port.o(i.vPortExitCritical)
i.vPortFree 0x08003b68 Section 0 heap_1.o(i.vPortFree)
i.vPortYield 0x08003b74 Section 0 port.o(i.vPortYield)
i.vTaskDelay 0x08003b8c Section 0 tasks.o(i.vTaskDelay)
i.vTaskStartScheduler 0x08003bc8 Section 0 tasks.o(i.vTaskStartScheduler)
i.vTaskSuspendAll 0x08003c14 Section 0 tasks.o(i.vTaskSuspendAll)
i.vTaskSwitchContext 0x08003c24 Section 0 tasks.o(i.vTaskSwitchContext)
i.xPortStartScheduler 0x08003c7c Section 0 port.o(i.xPortStartScheduler)
i.xPortSysTickHandler 0x08003cc8 Section 0 port.o(i.xPortSysTickHandler)
i.xTaskGenericCreate 0x08003cec Section 0 tasks.o(i.xTaskGenericCreate)
i.xTaskGetSchedulerState 0x08003e58 Section 0 tasks.o(i.xTaskGetSchedulerState)
i.xTaskIncrementTick 0x08003e78 Section 0 tasks.o(i.xTaskIncrementTick)
i.xTaskResumeAll 0x08003f38 Section 0 tasks.o(i.xTaskResumeAll)
.constdata 0x08003fe0 Section 60 main.o(.constdata)
.constdata 0x0800401c Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x0800402c Section 8 system_stm32f0xx.o(.constdata)
.conststring 0x08004034 Section 38 main.o(.conststring)
i.uxListRemove 0x08003a9c Section 0 list.o(i.uxListRemove)
i.vListInitialise 0x08003ac0 Section 0 list.o(i.vListInitialise)
i.vListInitialiseItem 0x08003ad6 Section 0 list.o(i.vListInitialiseItem)
i.vListInsert 0x08003adc Section 0 list.o(i.vListInsert)
i.vListInsertEnd 0x08003b0c Section 0 list.o(i.vListInsertEnd)
i.vPortEnterCritical 0x08003b24 Section 0 port.o(i.vPortEnterCritical)
i.vPortExitCritical 0x08003b3c Section 0 port.o(i.vPortExitCritical)
i.vPortFree 0x08003b58 Section 0 heap_1.o(i.vPortFree)
i.vPortYield 0x08003b64 Section 0 port.o(i.vPortYield)
i.vTaskDelay 0x08003b7c Section 0 tasks.o(i.vTaskDelay)
i.vTaskStartScheduler 0x08003bb8 Section 0 tasks.o(i.vTaskStartScheduler)
i.vTaskSuspendAll 0x08003c04 Section 0 tasks.o(i.vTaskSuspendAll)
i.vTaskSwitchContext 0x08003c14 Section 0 tasks.o(i.vTaskSwitchContext)
i.xPortStartScheduler 0x08003c6c Section 0 port.o(i.xPortStartScheduler)
i.xPortSysTickHandler 0x08003cb8 Section 0 port.o(i.xPortSysTickHandler)
i.xTaskGenericCreate 0x08003cdc Section 0 tasks.o(i.xTaskGenericCreate)
i.xTaskGetSchedulerState 0x08003e48 Section 0 tasks.o(i.xTaskGetSchedulerState)
i.xTaskIncrementTick 0x08003e68 Section 0 tasks.o(i.xTaskIncrementTick)
i.xTaskResumeAll 0x08003f28 Section 0 tasks.o(i.xTaskResumeAll)
.constdata 0x08003fd0 Section 60 main.o(.constdata)
.constdata 0x0800400c Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x0800401c Section 8 system_stm32f0xx.o(.constdata)
.conststring 0x08004024 Section 38 main.o(.conststring)
.data 0x20000000 Section 4 main.o(.data)
.data 0x20000004 Section 28 usbd_desc.o(.data)
.data 0x20000020 Section 22 usbd_desc.o(.data)
@@ -2722,30 +2722,30 @@ Image Symbol Table
pxPortInitialiseStack 0x080039a9 Thumb Code 28 port.o(i.pxPortInitialiseStack)
setup_task 0x080039c9 Thumb Code 52 my_tasks.o(i.setup_task)
spi_send 0x08003a09 Thumb Code 42 my_tasks.o(i.spi_send)
test_task_start 0x08003a3d Thumb Code 104 my_tasks.o(i.test_task_start)
uxListRemove 0x08003aad Thumb Code 36 list.o(i.uxListRemove)
vListInitialise 0x08003ad1 Thumb Code 22 list.o(i.vListInitialise)
vListInitialiseItem 0x08003ae7 Thumb Code 6 list.o(i.vListInitialiseItem)
vListInsert 0x08003aed Thumb Code 48 list.o(i.vListInsert)
vListInsertEnd 0x08003b1d Thumb Code 24 list.o(i.vListInsertEnd)
vPortEnterCritical 0x08003b35 Thumb Code 20 port.o(i.vPortEnterCritical)
vPortExitCritical 0x08003b4d Thumb Code 22 port.o(i.vPortExitCritical)
vPortFree 0x08003b69 Thumb Code 10 heap_1.o(i.vPortFree)
vPortYield 0x08003b75 Thumb Code 18 port.o(i.vPortYield)
vTaskDelay 0x08003b8d Thumb Code 54 tasks.o(i.vTaskDelay)
vTaskStartScheduler 0x08003bc9 Thumb Code 58 tasks.o(i.vTaskStartScheduler)
vTaskSuspendAll 0x08003c15 Thumb Code 10 tasks.o(i.vTaskSuspendAll)
vTaskSwitchContext 0x08003c25 Thumb Code 78 tasks.o(i.vTaskSwitchContext)
xPortStartScheduler 0x08003c7d Thumb Code 58 port.o(i.xPortStartScheduler)
xPortSysTickHandler 0x08003cc9 Thumb Code 32 port.o(i.xPortSysTickHandler)
xTaskGenericCreate 0x08003ced Thumb Code 354 tasks.o(i.xTaskGenericCreate)
xTaskGetSchedulerState 0x08003e59 Thumb Code 26 tasks.o(i.xTaskGetSchedulerState)
xTaskIncrementTick 0x08003e79 Thumb Code 184 tasks.o(i.xTaskIncrementTick)
xTaskResumeAll 0x08003f39 Thumb Code 160 tasks.o(i.xTaskResumeAll)
AHBPrescTable 0x0800401c Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x0800402c Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x0800405c Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x0800407c Number 0 anon$$obj.o(Region$$Table)
test_task_start 0x08003a3d Thumb Code 88 my_tasks.o(i.test_task_start)
uxListRemove 0x08003a9d Thumb Code 36 list.o(i.uxListRemove)
vListInitialise 0x08003ac1 Thumb Code 22 list.o(i.vListInitialise)
vListInitialiseItem 0x08003ad7 Thumb Code 6 list.o(i.vListInitialiseItem)
vListInsert 0x08003add Thumb Code 48 list.o(i.vListInsert)
vListInsertEnd 0x08003b0d Thumb Code 24 list.o(i.vListInsertEnd)
vPortEnterCritical 0x08003b25 Thumb Code 20 port.o(i.vPortEnterCritical)
vPortExitCritical 0x08003b3d Thumb Code 22 port.o(i.vPortExitCritical)
vPortFree 0x08003b59 Thumb Code 10 heap_1.o(i.vPortFree)
vPortYield 0x08003b65 Thumb Code 18 port.o(i.vPortYield)
vTaskDelay 0x08003b7d Thumb Code 54 tasks.o(i.vTaskDelay)
vTaskStartScheduler 0x08003bb9 Thumb Code 58 tasks.o(i.vTaskStartScheduler)
vTaskSuspendAll 0x08003c05 Thumb Code 10 tasks.o(i.vTaskSuspendAll)
vTaskSwitchContext 0x08003c15 Thumb Code 78 tasks.o(i.vTaskSwitchContext)
xPortStartScheduler 0x08003c6d Thumb Code 58 port.o(i.xPortStartScheduler)
xPortSysTickHandler 0x08003cb9 Thumb Code 32 port.o(i.xPortSysTickHandler)
xTaskGenericCreate 0x08003cdd Thumb Code 354 tasks.o(i.xTaskGenericCreate)
xTaskGetSchedulerState 0x08003e49 Thumb Code 26 tasks.o(i.xTaskGetSchedulerState)
xTaskIncrementTick 0x08003e69 Thumb Code 184 tasks.o(i.xTaskIncrementTick)
xTaskResumeAll 0x08003f29 Thumb Code 160 tasks.o(i.xTaskResumeAll)
AHBPrescTable 0x0800400c Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x0800401c Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x0800404c Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x0800406c Number 0 anon$$obj.o(Region$$Table)
defaultTaskHandle 0x20000000 Data 4 main.o(.data)
FS_Desc 0x20000004 Data 28 usbd_desc.o(.data)
USBD_LangIDDesc 0x20000020 Data 4 usbd_desc.o(.data)
@@ -2788,9 +2788,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004240, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x00004140])
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004230, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x00004130])
Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x0000407c, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x0000406c, Max: 0x00010000, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
@@ -3003,33 +3003,33 @@ Memory Map of the image
0x080039a8 0x00000020 Code RO 4626 i.pxPortInitialiseStack port.o
0x080039c8 0x00000040 Code RO 842 i.setup_task my_tasks.o
0x08003a08 0x00000034 Code RO 843 i.spi_send my_tasks.o
0x08003a3c 0x00000070 Code RO 844 i.test_task_start my_tasks.o
0x08003aac 0x00000024 Code RO 4249 i.uxListRemove list.o
0x08003ad0 0x00000016 Code RO 4250 i.vListInitialise list.o
0x08003ae6 0x00000006 Code RO 4251 i.vListInitialiseItem list.o
0x08003aec 0x00000030 Code RO 4252 i.vListInsert list.o
0x08003b1c 0x00000018 Code RO 4253 i.vListInsertEnd list.o
0x08003b34 0x00000018 Code RO 4628 i.vPortEnterCritical port.o
0x08003b4c 0x0000001c Code RO 4629 i.vPortExitCritical port.o
0x08003b68 0x0000000a Code RO 4217 i.vPortFree heap_1.o
0x08003b72 0x00000002 PAD
0x08003b74 0x00000018 Code RO 4630 i.vPortYield port.o
0x08003b8c 0x0000003c Code RO 3935 i.vTaskDelay tasks.o
0x08003bc8 0x0000004c Code RO 3945 i.vTaskStartScheduler tasks.o
0x08003c14 0x00000010 Code RO 3947 i.vTaskSuspendAll tasks.o
0x08003c24 0x00000058 Code RO 3948 i.vTaskSwitchContext tasks.o
0x08003c7c 0x0000004c Code RO 4631 i.xPortStartScheduler port.o
0x08003cc8 0x00000024 Code RO 4632 i.xPortSysTickHandler port.o
0x08003cec 0x0000016c Code RO 3950 i.xTaskGenericCreate tasks.o
0x08003e58 0x00000020 Code RO 3951 i.xTaskGetSchedulerState tasks.o
0x08003e78 0x000000c0 Code RO 3954 i.xTaskIncrementTick tasks.o
0x08003f38 0x000000a8 Code RO 3957 i.xTaskResumeAll tasks.o
0x08003fe0 0x0000003c Data RO 209 .constdata main.o
0x0800401c 0x00000010 Data RO 917 .constdata system_stm32f0xx.o
0x0800402c 0x00000008 Data RO 918 .constdata system_stm32f0xx.o
0x08004034 0x00000026 Data RO 210 .conststring main.o
0x0800405a 0x00000002 PAD
0x0800405c 0x00000020 Data RO 5388 Region$$Table anon$$obj.o
0x08003a3c 0x00000060 Code RO 844 i.test_task_start my_tasks.o
0x08003a9c 0x00000024 Code RO 4249 i.uxListRemove list.o
0x08003ac0 0x00000016 Code RO 4250 i.vListInitialise list.o
0x08003ad6 0x00000006 Code RO 4251 i.vListInitialiseItem list.o
0x08003adc 0x00000030 Code RO 4252 i.vListInsert list.o
0x08003b0c 0x00000018 Code RO 4253 i.vListInsertEnd list.o
0x08003b24 0x00000018 Code RO 4628 i.vPortEnterCritical port.o
0x08003b3c 0x0000001c Code RO 4629 i.vPortExitCritical port.o
0x08003b58 0x0000000a Code RO 4217 i.vPortFree heap_1.o
0x08003b62 0x00000002 PAD
0x08003b64 0x00000018 Code RO 4630 i.vPortYield port.o
0x08003b7c 0x0000003c Code RO 3935 i.vTaskDelay tasks.o
0x08003bb8 0x0000004c Code RO 3945 i.vTaskStartScheduler tasks.o
0x08003c04 0x00000010 Code RO 3947 i.vTaskSuspendAll tasks.o
0x08003c14 0x00000058 Code RO 3948 i.vTaskSwitchContext tasks.o
0x08003c6c 0x0000004c Code RO 4631 i.xPortStartScheduler port.o
0x08003cb8 0x00000024 Code RO 4632 i.xPortSysTickHandler port.o
0x08003cdc 0x0000016c Code RO 3950 i.xTaskGenericCreate tasks.o
0x08003e48 0x00000020 Code RO 3951 i.xTaskGetSchedulerState tasks.o
0x08003e68 0x000000c0 Code RO 3954 i.xTaskIncrementTick tasks.o
0x08003f28 0x000000a8 Code RO 3957 i.xTaskResumeAll tasks.o
0x08003fd0 0x0000003c Data RO 209 .constdata main.o
0x0800400c 0x00000010 Data RO 917 .constdata system_stm32f0xx.o
0x0800401c 0x00000008 Data RO 918 .constdata system_stm32f0xx.o
0x08004024 0x00000026 Data RO 210 .conststring main.o
0x0800404a 0x00000002 PAD
0x0800404c 0x00000020 Data RO 5388 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x000023c8, Max: 0x00004000, ABSOLUTE, COMPRESSED[0x000000c4])
@@ -3083,7 +3083,7 @@ Image component sizes
172 22 0 0 0 2643 helpers.o
136 0 0 0 0 3330 list.o
514 38 98 4 100 13685 main.o
304 40 0 8 124 2909 my_tasks.o
288 40 0 8 124 2901 my_tasks.o
84 16 0 4 144 1736 my_usb.o
354 58 0 4 0 6808 port.o
0 0 0 0 0 1472 queue.o
@@ -3113,7 +3113,7 @@ Image component sizes
140 0 0 0 0 4280 usbd_ioreq.o
----------------------------------------------------------------------
14718 1014 348 440 8708 674159 Object Totals
14702 1014 348 440 8708 674151 Object Totals
0 0 32 0 0 0 (incl. Generated)
14 0 2 6 0 0 (incl. Padding)
@@ -3170,15 +3170,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
16160 1078 348 452 8708 666923 Grand Totals
16160 1078 348 196 8708 666923 ELF Image Totals (compressed)
16160 1078 348 196 0 0 ROM Totals
16144 1078 348 452 8708 666915 Grand Totals
16144 1078 348 196 8708 666915 ELF Image Totals (compressed)
16144 1078 348 196 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 16508 ( 16.12kB)
Total RO Size (Code + RO Data) 16492 ( 16.11kB)
Total RW Size (RW Data + ZI Data) 9160 ( 8.95kB)
Total ROM Size (Code + RO Data + RW Data) 16704 ( 16.31kB)
Total ROM Size (Code + RO Data + RW Data) 16688 ( 16.30kB)
==============================================================================

View File

@@ -449,7 +449,7 @@ I (../Inc/usbd_conf.h)(0x591765DC)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x58A21CA6)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x58A21CA6)
I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x58A21CA9)
I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x58A21CA9)
I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x58A21CA9)
I (../Inc/helpers.h)(0x59179277)
I (../Inc/my_usb.h)(0x58FBB46B)
F (..\Inc\helpers.h)(0x59179277)()

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -51,7 +51,14 @@ void test_task_start(void const * argument)
{
for(;;)
{
osDelay(500);
osDelay(2000);
test_anime.start_digit = DIGIT_0;
test_anime.end_digit = DIGIT_1;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
test_anime.start_digit = DIGIT_1;
test_anime.end_digit = DIGIT_2;
test_anime.animation_start = frame_counter;
@@ -59,17 +66,8 @@ void test_task_start(void const * argument)
while(is_animation_underway(frame_counter, &test_anime))
;
osDelay(500);
test_anime.start_digit = DIGIT_2;
test_anime.end_digit = DIGIT_3;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
osDelay(500);
test_anime.start_digit = DIGIT_3;
test_anime.end_digit = DIGIT_1;
test_anime.end_digit = DIGIT_0;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))

View File

@@ -17,7 +17,53 @@ void test_task_start(void const * argument)
osDelay(100);
}
}
// osDelay(500);
test_anime.start_digit = DIGIT_RIGHT_DOT;
test_anime.end_digit = DIGIT_2;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
// osDelay(500);
test_anime.start_digit = DIGIT_2;
test_anime.end_digit = DIGIT_3;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
// osDelay(500);
test_anime.start_digit = DIGIT_3;
test_anime.end_digit = DIGIT_4;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
// osDelay(500);
test_anime.start_digit = DIGIT_4;
test_anime.end_digit = DIGIT_5;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
// osDelay(500);
test_anime.start_digit = DIGIT_5;
test_anime.end_digit = DIGIT_6;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
// osDelay(500);
test_anime.start_digit = DIGIT_6;
test_anime.end_digit = DIGIT_RIGHT_DOT;
test_anime.animation_start = frame_counter;
test_anime.animation_type = ANIMATION_CROSS_FADE;
while(is_animation_underway(frame_counter, &test_anime))
;
void test_task_start(void const * argument)
{