修复mico-sdk错误

This commit is contained in:
nhkefus
2025-03-11 15:54:45 +08:00
parent 3422912129
commit 2ccb892a1c
2152 changed files with 664341 additions and 702636 deletions

142
mico-os/platform/MCU/MW3xx/IAR/copy_init3.c Executable file → Normal file
View File

@@ -1,71 +1,71 @@
/**************************************************
*
* Code that performs copy initialization of global data.
* New style init table.
*
* Copyright 2008 IAR Systems. All rights reserved.
*
* $Revision: 45563 $
*
**************************************************/
#include "data_init3.h"
#pragma language = extended
#pragma build_attribute vfpcc_compatible
#pragma build_attribute arm_thumb_compatible
#pragma build_attribute ropi_compatible
#pragma build_attribute rwpi_compatible
/* Format:
Size1
SrcAddr1-.
DestAddr1 /abs or SBrel)
Size2
SrcAddr2-.
DestAddr2 (abs or SBrel)
...
0
*/
__no_init uint32_t __iar_SB @ r9;
init_fun_t __iar_copy_init2;
#pragma type_attribute=__thumb __interwork
uint32_t const *
__iar_copy_init3(uint32_t const * p);
#pragma type_attribute=__thumb __interwork
uint32_t const *
__iar_copy_init3(uint32_t const * p)
{
uint32_t size;
while ((size = *p++) != 0)
{
uint32_t const * src;
uint32_t d;
uint32_t * dest;
src = (uint32_t*)((char const *)p + *(int32_t *)p);
p++;
d = *p++;
if( d & 1 )
{
d -= 1;
d += __iar_SB;
}
dest = (uint32_t *)d;
do
{
*dest++ = *src++;
size -= 4;
} while (size != 0);
}
return p;
}
/**************************************************
*
* Code that performs copy initialization of global data.
* New style init table.
*
* Copyright 2008 IAR Systems. All rights reserved.
*
* $Revision: 45563 $
*
**************************************************/
#include "data_init3.h"
#pragma language = extended
#pragma build_attribute vfpcc_compatible
#pragma build_attribute arm_thumb_compatible
#pragma build_attribute ropi_compatible
#pragma build_attribute rwpi_compatible
/* Format:
Size1
SrcAddr1-.
DestAddr1 /abs or SBrel)
Size2
SrcAddr2-.
DestAddr2 (abs or SBrel)
...
0
*/
__no_init uint32_t __iar_SB @ r9;
init_fun_t __iar_copy_init2;
#pragma type_attribute=__thumb __interwork
uint32_t const *
__iar_copy_init3(uint32_t const * p);
#pragma type_attribute=__thumb __interwork
uint32_t const *
__iar_copy_init3(uint32_t const * p)
{
uint32_t size;
while ((size = *p++) != 0)
{
uint32_t const * src;
uint32_t d;
uint32_t * dest;
src = (uint32_t*)((char const *)p + *(int32_t *)p);
p++;
d = *p++;
if( d & 1 )
{
d -= 1;
d += __iar_SB;
}
dest = (uint32_t *)d;
do
{
*dest++ = *src++;
size -= 4;
} while (size != 0);
}
return p;
}