Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ref_app/target.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1151,6 +1151,10 @@
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt0.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt0_init_ram.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt1.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Appli\main.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt0.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt0_init_ram.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt1.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\main.cpp" />
</ItemGroup>
<ItemGroup>
Expand Down
10 changes: 7 additions & 3 deletions ref_app/target.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -992,9 +992,10 @@
<ClCompile Include="target\micros\xtensa_esp32_s3\startup\Std\StdLib.cpp">
<Filter>micros\xtensa_esp32_s3\startup\Std</Filter>
</ClCompile>
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt0.cpp">
<Filter>micros\xtensa_esp32_s3_riscv_cop\startup</Filter>
</ClCompile>
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Appli\main.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt0.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt0_init_ram.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\from_no_sdk\Code\Startup\crt1.cpp" />
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt0_init_ram.cpp">
<Filter>micros\xtensa_esp32_s3_riscv_cop\startup</Filter>
</ClCompile>
Expand All @@ -1004,6 +1005,9 @@
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\main.cpp">
<Filter>micros\xtensa_esp32_s3_riscv_cop\startup</Filter>
</ClCompile>
<ClCompile Include="target\micros\xtensa_esp32_s3_riscv_cop\startup\crt0.cpp">
<Filter>micros\xtensa_esp32_s3_riscv_cop\startup</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Text Include="target\micros\bcm2835_raspi_b\startup\SD_CARD\PiZero\config.txt">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ GCC_PREFIX = xtensa-esp32s3-elf

TGT_SUFFIX = elf

WARN_FLAGS :=

include $(PATH_TGT_MAKE)/$(TGT)_flags_extra.gmk

Expand All @@ -33,7 +34,6 @@ TGT_ALLFLAGS = -O1
-fno-stack-protector \
-nostdlib \
-gdwarf-4 \
-ffreestanding \
-DCONFIG_IDF_TARGET_ESP32S3 \
-DI_KNOW_WHAT_I_AM_DOING

Expand Down Expand Up @@ -75,7 +75,7 @@ $(PATH_OBJ)/%.o : %.S
# ...and reformat (using sed) any possible error/warning messages
# for the VisualStudio(R) output window,
# ...and create an assembly listing using objdump
@-$(TGT_GCC) -O1 -fno-reorder-blocks-and-partition -fno-reorder-functions -mabi=call0 -mno-text-section-literals -mstrict-align -mlongcalls -fomit-frame-pointer -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -fno-stack-protector -DI_KNOW_WHAT_I_AM_DOING $(DEFS_IEEE754_SF) $(C_INCLUDES) $< -c -o $(PATH_OBJ)/$(basename $(@F)).o 2> $(PATH_ERR)/$(basename $(@F)).err
@-$(TGT_GCC) -O1 -fno-reorder-blocks-and-partition -fno-reorder-functions -mabi=call0 -mno-text-section-literals -mstrict-align -mlongcalls -fomit-frame-pointer -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -fno-stack-protector -DI_KNOW_WHAT_I_AM_DOING $(DEFS_IEEE754_SF) $(DEFS_LIB1FUNCS) $(C_INCLUDES) $< -c -o $(PATH_OBJ)/$(basename $(@F)).o 2> $(PATH_ERR)/$(basename $(@F)).err
@-$(SED) -e 's|:\([0-9]*\):|(\1) :|' $(PATH_ERR)/$(basename $(@F)).err
@-$(OBJDUMP) -S $(PATH_OBJ)/$(basename $(@F)).o > $(PATH_LST)/$(basename $(@F)).lst

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ SOME_O3_FLAGS += -fgcse-after-reload
SOME_O3_FLAGS += -fipa-cp-clone

DEFS_IEEE754_SF :=
DEFS_IEEE754_SF += -D__XTENSA_CALL0_ABI__=1
DEFS_IEEE754_SF += -DL_divsf3
DEFS_IEEE754_SF += -DL_negsf2
DEFS_IEEE754_SF += -DL_addsubsf3
DEFS_IEEE754_SF += -DL_mulsf3
DEFS_IEEE754_SF += -DL_cmpsf2
DEFS_IEEE754_SF += -DL_fixsfsi
DEFS_IEEE754_SF += -DL_fixsfdi
Expand All @@ -81,3 +81,21 @@ DEFS_IEEE754_SF += -DL_floatdisf
DEFS_IEEE754_SF += -DL_sqrtf
DEFS_IEEE754_SF += -DL_recipsf2
DEFS_IEEE754_SF += -DL_rsqrtsf2

DEFS_LIB1FUNCS :=
DEFS_LIB1FUNCS += -DL_ctzsi2
DEFS_LIB1FUNCS += -DL_mulsi3
DEFS_LIB1FUNCS += -DL_umulsidi3
DEFS_LIB1FUNCS += -DL_clz
DEFS_LIB1FUNCS += -DL_clrsbsi2
DEFS_LIB1FUNCS += -DL_clzsi2
DEFS_LIB1FUNCS += -DL_ffssi2
DEFS_LIB1FUNCS += -DL_udivsi3
DEFS_LIB1FUNCS += -DL_divsi3
DEFS_LIB1FUNCS += -DL_umodsi3
DEFS_LIB1FUNCS += -DL_modsi3
DEFS_LIB1FUNCS += -DL_ashldi3
DEFS_LIB1FUNCS += -DL_ashrdi3
DEFS_LIB1FUNCS += -DL_lshrdi3
DEFS_LIB1FUNCS += -DL_bswapsi2
DEFS_LIB1FUNCS += -DL_bswapdi2
13 changes: 7 additions & 6 deletions ref_app/target/micros/xtensa_esp32_s3/startup/Std/StdLib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// or copy at http://www.boost.org/LICENSE_1_0.txt)
//

// Originally from:
// Originally from (but strongly modified from):
/******************************************************************************************
Filename : StdLib.c

Expand All @@ -19,7 +19,7 @@

Date : 22.02.2025

Description : Handwritten StdLib functions
Description : Hand-written StdLib functions

******************************************************************************************/

Expand Down Expand Up @@ -186,7 +186,8 @@ void* memcpy (void* dest, const void* src, size_t n)
const std::uint8_t* s { reinterpret_cast<const uint8_t*>(src) };

// Align destination to the next 32-bit boundary.
while (((uintptr_t) d & 3) && n > 0)
while ( (static_cast<unsigned>(reinterpret_cast<std::uintptr_t>(d) & unsigned { UINT8_C(3) }) != 0U)
&& (n > std::size_t { UINT8_C(0) }))
{
*d++ = *s++;

Expand All @@ -198,19 +199,19 @@ void* memcpy (void* dest, const void* src, size_t n)
std::uint32_t* d32 { reinterpret_cast<std::uint32_t*>(d) };
const std::uint32_t* s32 { reinterpret_cast<const uint32_t*>(s) };

while (n >= 4)
while (n >= std::size_t { UINT8_C(4) })
{
*d32++ = *s32++;

n -= 4;
n -= std::size_t { UINT8_C(4) };
}

// Handle any remaining bytes.

d = reinterpret_cast<std::uint8_t*>(d32);
s = reinterpret_cast<const uint8_t*>(s32);

while (n > 0)
while (n > std::size_t { UINT8_C(0) })
{
*d++ = *s++;

Expand Down
Loading