@@ -342,15 +342,15 @@ void _main_init (void) __attribute__((section(".ARM.Collect$$$$000000FF")));
342
342
void $Super$$__cpp_initialize__aeabi_ (void );
343
343
344
344
void _main_init (void ) {
345
- mbed_set_stack_heap ();
346
- /* Copy the vector table to RAM only if uVisor is not in use. */
345
+ mbed_set_stack_heap ();
346
+ /* Copy the vector table to RAM only if uVisor is not in use. */
347
347
#if !(defined(FEATURE_UVISOR ) && defined(TARGET_UVISOR_SUPPORTED ))
348
- mbed_cpy_nvic ();
348
+ mbed_cpy_nvic ();
349
349
#endif
350
- mbed_sdk_init ();
351
- osKernelInitialize ();
352
- mbed_start_main ();
353
- for (;;);
350
+ mbed_sdk_init ();
351
+ osKernelInitialize ();
352
+ mbed_start_main ();
353
+ for (;;);
354
354
}
355
355
356
356
void $Sub$$__cpp_initialize__aeabi_ (void )
@@ -362,13 +362,14 @@ void $Sub$$__cpp_initialize__aeabi_(void)
362
362
363
363
void pre_main ()
364
364
{
365
- singleton_mutex_attr .attr_bits = osMutexRecursive ;
366
- singleton_mutex_attr .cb_size = sizeof (singleton_mutex_obj );
367
- singleton_mutex_attr .cb_mem = & singleton_mutex_obj ;
368
- singleton_mutex_id = osMutexNew (& singleton_mutex_attr );
365
+ singleton_mutex_attr .name = "singleton_mutex" ;
366
+ singleton_mutex_attr .attr_bits = osMutexRecursive ;
367
+ singleton_mutex_attr .cb_size = sizeof (singleton_mutex_obj );
368
+ singleton_mutex_attr .cb_mem = & singleton_mutex_obj ;
369
+ singleton_mutex_id = osMutexNew (& singleton_mutex_attr );
369
370
370
- $Super$$__cpp_initialize__aeabi_ ();
371
- main ();
371
+ $Super$$__cpp_initialize__aeabi_ ();
372
+ main ();
372
373
}
373
374
374
375
#else /******************** ARMC ********************/
@@ -540,14 +541,15 @@ void pre_main(void)
540
541
#pragma required=__vector_table
541
542
void __iar_program_start ( void )
542
543
{
543
- __iar_init_core ();
544
- __iar_init_vfp ();
544
+ __iar_init_core ();
545
+ __iar_init_vfp ();
545
546
546
- uint8_t low_level_init_needed_local ;
547
+ uint8_t low_level_init_needed_local ;
548
+
549
+ low_level_init_needed_local = __low_level_init ();
550
+ if (low_level_init_needed_local ) {
551
+ __iar_data_init3 ();
547
552
548
- low_level_init_needed_local = __low_level_init ();
549
- if (low_level_init_needed_local ) {
550
- __iar_data_init3 ();
551
553
/* Copy the vector table to RAM only if uVisor is not in use. */
552
554
#if !(defined(FEATURE_UVISOR ) && defined(TARGET_UVISOR_SUPPORTED ))
553
555
mbed_cpy_nvic ();
@@ -574,71 +576,73 @@ static mbed_rtos_storage_mutex_t std_mutex_file[_FOPEN_MAX] = {0};
574
576
575
577
void __iar_system_Mtxinit (__iar_Rmtx * mutex ) /* Initialize a system lock */
576
578
{
577
- osMutexAttr_t attr ;
578
- uint32_t index ;
579
- for (index = 0 ; index < _MAX_LOCK ; index ++ ) {
580
- if (0 == std_mutex_id_sys [index ]) {
581
- attr .cb_mem = & std_mutex_sys [index ];
582
- attr .cb_size = sizeof (std_mutex_sys [index ]);
583
- attr .attr_bits = osMutexRecursive ;
584
- std_mutex_id_sys [index ] = osMutexNew (& attr );
585
- * mutex = (__iar_Rmtx * )& std_mutex_id_sys [index ];
586
- return ;
579
+ osMutexAttr_t attr ;
580
+ uint32_t index ;
581
+ for (index = 0 ; index < _MAX_LOCK ; index ++ ) {
582
+ if (0 == std_mutex_id_sys [index ]) {
583
+ attr .name = "system_mutex" ;
584
+ attr .cb_mem = & std_mutex_sys [index ];
585
+ attr .cb_size = sizeof (std_mutex_sys [index ]);
586
+ attr .attr_bits = osMutexRecursive ;
587
+ std_mutex_id_sys [index ] = osMutexNew (& attr );
588
+ * mutex = (__iar_Rmtx * )& std_mutex_id_sys [index ];
589
+ return ;
590
+ }
587
591
}
588
- }
589
592
590
- /* This should never happen */
591
- error ("Not enough mutexes\n" );
593
+ /* This should never happen */
594
+ error ("Not enough mutexes\n" );
592
595
}
593
596
594
597
void __iar_system_Mtxdst (__iar_Rmtx * mutex ) /* Destroy a system lock */
595
598
{
596
- osMutexDelete (* (osMutexId_t * )* mutex );
597
- * mutex = 0 ;
599
+ osMutexDelete (* (osMutexId_t * )* mutex );
600
+ * mutex = 0 ;
598
601
}
599
602
600
603
void __iar_system_Mtxlock (__iar_Rmtx * mutex ) /* Lock a system lock */
601
604
{
602
- osMutexAcquire (* (osMutexId_t * )* mutex , osWaitForever );
605
+ osMutexAcquire (* (osMutexId_t * )* mutex , osWaitForever );
603
606
}
604
607
605
608
void __iar_system_Mtxunlock (__iar_Rmtx * mutex ) /* Unlock a system lock */
606
609
{
607
- osMutexRelease (* (osMutexId_t * )* mutex );
610
+ osMutexRelease (* (osMutexId_t * )* mutex );
608
611
}
609
612
610
613
void __iar_file_Mtxinit (__iar_Rmtx * mutex ) /* Initialize a file lock */
611
614
{
612
615
osMutexAttr_t attr ;
613
616
uint32_t index ;
614
617
for (index = 0 ; index < _FOPEN_MAX ; index ++ ) {
615
- if (0 == std_mutex_id_file [index ]) {
616
- attr .cb_mem = & std_mutex_file [index ];
617
- attr .cb_size = sizeof (std_mutex_file [index ]);
618
- attr .attr_bits = osMutexRecursive ;
619
- std_mutex_id_file [index ] = osMutexNew (& attr );
620
- * mutex = (__iar_Rmtx * )& std_mutex_id_file [index ];
621
- return ;
622
- }
618
+ if (0 == std_mutex_id_file [index ]) {
619
+ attr .name = "file_mutex" ;
620
+ attr .cb_mem = & std_mutex_file [index ];
621
+ attr .cb_size = sizeof (std_mutex_file [index ]);
622
+ attr .attr_bits = osMutexRecursive ;
623
+ std_mutex_id_file [index ] = osMutexNew (& attr );
624
+ * mutex = (__iar_Rmtx * )& std_mutex_id_file [index ];
625
+ return ;
626
+ }
623
627
}
624
628
/* The variable _FOPEN_MAX needs to be increased */
625
629
error ("Not enough mutexes\n" );
626
630
}
627
631
628
632
void __iar_file_Mtxdst (__iar_Rmtx * mutex ) /* Destroy a file lock */
629
633
{
630
- osMutexDelete (* (osMutexId_t * )* mutex );
631
- * mutex = 0 ;
634
+ osMutexDelete (* (osMutexId_t * )* mutex );
635
+ * mutex = 0 ;
632
636
}
633
637
634
638
void __iar_file_Mtxlock (__iar_Rmtx * mutex ) /* Lock a file lock */
635
639
{
636
- osMutexAcquire (* (osMutexId_t * )* mutex , osWaitForever );
640
+ osMutexAcquire (* (osMutexId_t * )* mutex , osWaitForever );
637
641
}
638
642
639
643
void __iar_file_Mtxunlock (__iar_Rmtx * mutex ) /* Unlock a file lock */
640
644
{
641
- osMutexRelease (* (osMutexId_t * )* mutex );
645
+ osMutexRelease (* (osMutexId_t * )* mutex );
642
646
}
643
647
644
648
#endif
0 commit comments