<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[wolfSSL - Embedded SSL Library — Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup]]></title>
		<link>https://www.wolfssl.com/forums/topic2239-error-flagged-in-arm-cortexm-spcortexmc-assembly-speedup.html</link>
		<atom:link href="https://www.wolfssl.com/forums/feed-rss-topic2239.xml" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup.]]></description>
		<lastBuildDate>Sun, 08 Dec 2024 00:39:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup]]></title>
			<link>https://www.wolfssl.com/forums/post8118.html#p8118</link>
			<description><![CDATA[<p>Hi David,</p><p>Thanks for the feedback. The easiest approach seemed to be to switch to a release build which removed the error. I then had a couple more errors which I fixed as follows (in case it helps anyone else):</p><p>A number of errors of &quot;selected processor does not support `umaal ...&#039; in Thumb mode.&quot; I tried to turn thumb mode off but after some searching discovered &quot;All Cortex-M processors, including M33, are Thumb only. They cannot execute ARM instructions.&quot; On examining the sp_cortexm.c file I found a flag<br />&nbsp; &nbsp; #define WOLFSSL_SP_NO_UMAAL<br />which when set removed the errors. After that I just had to include misc.c and sp_int.c and the project built without errors!</p><p>Next stage is to test some ECC crypto ;-).</p><p>Mark</p>]]></description>
			<author><![CDATA[null@example.com (markpotts123)]]></author>
			<pubDate>Sun, 08 Dec 2024 00:39:56 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8118.html#p8118</guid>
		</item>
		<item>
			<title><![CDATA[Re: Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup]]></title>
			<link>https://www.wolfssl.com/forums/post8102.html#p8102</link>
			<description><![CDATA[<p>Hi Mark,</p><p>This error with r7 is becuase the cortex-m uses it when building with debug. To get around this you can add </p><div class="codebox"><pre><code>-fomit-frame-pointer</code></pre></div><p> to your CFLAGS.</p><p>I added a note in the STM32Cube pack README.md regarding this:<br /><a href="https://github.com/wolfSSL/wolfssl/tree/master/IDE/STM32Cube#stm32-cube-pack-usage">https://github.com/wolfSSL/wolfssl/tree … pack-usage</a></p><p>If seeing `error: r7 cannot be used in &#039;asm&#039;` add `-fomit-frame-pointer` to the CFLAGS. This only happens in debug builds, because r7 is used for debug.</p><p>Thanks,<br />David Garske, wolfSSL</p>]]></description>
			<author><![CDATA[null@example.com (dgarske)]]></author>
			<pubDate>Mon, 02 Dec 2024 18:18:38 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8102.html#p8102</guid>
		</item>
		<item>
			<title><![CDATA[Re: Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup]]></title>
			<link>https://www.wolfssl.com/forums/post8101.html#p8101</link>
			<description><![CDATA[<p>Can you try version 5.7.4 or the latest of the master branch on gitubhb?&nbsp; I noticed there have been changes as line 30931 on master has the following: </p><p>&nbsp; &nbsp; &nbsp; &nbsp; &quot;LDR&nbsp; &nbsp; r6, [%[a], #188]\n\t&quot;</p><p>Warm regards, Anthony</p>]]></description>
			<author><![CDATA[null@example.com (anthony)]]></author>
			<pubDate>Mon, 02 Dec 2024 16:32:10 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8101.html#p8101</guid>
		</item>
		<item>
			<title><![CDATA[Error flagged in ARM Cortex-M "sp_cortexm.c" assembly speedup]]></title>
			<link>https://www.wolfssl.com/forums/post8099.html#p8099</link>
			<description><![CDATA[<p>I am using the WolfCrypt library (vers 5.7.2) ECC functions in a bare metal project based on a Cortex-M33 processor. I want to use the Cortex-M assembly speedup so I am building ecc.c with sp_cortexm.c. Following various examples and community posts my settings.h file specifies:</p><p>/* Use single precision math only */<br />#define WOLFSSL_SP<br />#define WOLFSSL_SP_SMALL<br />#define WOLFSSL_HAVE_SP_ECC<br />#define WOLFSSL_SP_MATH&nbsp; &nbsp; &nbsp;/* only SP math - eliminates integer/tfm math code, so only standard curves/key sizes are supported */<br />#define WOLFSSL_SP_ASM&nbsp; &nbsp; &nbsp; /* enable the assembly speedup */<br />#define WOLFSSL_SP_ARM_CORTEX_M_ASM /* optional cortex-m speedups */</p><p>This configuration builds with just a single error: &quot;r7 cannot be used in &#039;asm&#039; here&quot; in sp_cortexm.c at line 30931. Any suggestions as to what the cause might be would be much appreciated.</p>]]></description>
			<author><![CDATA[null@example.com (markpotts123)]]></author>
			<pubDate>Sat, 30 Nov 2024 21:36:23 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8099.html#p8099</guid>
		</item>
	</channel>
</rss>
