<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[EmBitz - All Forums]]></title>
		<link>https://www.embitz.org/forum/</link>
		<description><![CDATA[EmBitz - https://www.embitz.org/forum]]></description>
		<pubDate>Tue, 19 May 2026 04:52:31 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[svd files for core specific registers]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=235</link>
			<pubDate>Mon, 16 Feb 2026 18:21:26 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=92">Misc01</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=235</guid>
			<description><![CDATA[I recently used STM32 CubeIDE. While this is annoying slow when using embitz before, i found one thing that i did not encounter before. There are system register definitions beyond the STM32 specific SFRs, that affect the ARM core itself, like SCB, which e.g. contains a register holding the last address when a crash occured. In the normal MCU .vcd files, these ARM specific registers seem to be missing. How to show these registers in embitz?<br />
<br />
Best regards<br />
   Michael]]></description>
			<content:encoded><![CDATA[I recently used STM32 CubeIDE. While this is annoying slow when using embitz before, i found one thing that i did not encounter before. There are system register definitions beyond the STM32 specific SFRs, that affect the ARM core itself, like SCB, which e.g. contains a register holding the last address when a crash occured. In the normal MCU .vcd files, these ARM specific registers seem to be missing. How to show these registers in embitz?<br />
<br />
Best regards<br />
   Michael]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How multi core - Newb questions]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=234</link>
			<pubDate>Tue, 25 Nov 2025 16:44:15 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=562">suryaiyer13</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=234</guid>
			<description><![CDATA[I have managed to create new project from scratch for stm32h7, got both of them working. Now i want to setup simultaneous debugging for both cores. Please guide me in setting up the CM4 project to debug and how to do simultaneous debugging?]]></description>
			<content:encoded><![CDATA[I have managed to create new project from scratch for stm32h7, got both of them working. Now i want to setup simultaneous debugging for both cores. Please guide me in setting up the CM4 project to debug and how to do simultaneous debugging?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Installation without admin rights]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=233</link>
			<pubDate>Tue, 14 Oct 2025 11:49:24 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=561">jack133</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=233</guid>
			<description><![CDATA[Hello,<br />
Is it possible to have an installation process without admin rights on Windows ?<br />
Thank you for your great job !<br />
Stéphane]]></description>
			<content:encoded><![CDATA[Hello,<br />
Is it possible to have an installation process without admin rights on Windows ?<br />
Thank you for your great job !<br />
Stéphane]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[EBlink squirrel error on stm32f3 - The index 'ntrfApi' does not exist]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=231</link>
			<pubDate>Mon, 13 Oct 2025 15:49:48 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=561">jack133</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=231</guid>
			<description><![CDATA[Hello,<br />
I try to programm an Evaluation board with a STM32F303VE and an integrated STLink V2:<br />
<a href="https://www.st.com/en/evaluation-tools/stm32303e-eval.html#documentation" target="_blank" rel="noopener" class="mycode_url">https://www.st.com/en/evaluation-tools/s...umentation</a><br />
<br />
When I click on the debugger button under Embitz, I have the following error:<br />
Squirrel Error<br />
The index 'ntrfApi' does not exist<br />
stm32_device[65] in 'stmicro/stm32f3.script'<br />
<br />
Even if I try debugging in Power Shell to launch the EBLink alone with this command :<br />
<span style="font-style: italic;" class="mycode_i">.\eblink.exe -v 7 -I stlink -S stm32 -G</span><br />
<br />
The same error appears:<br />
<span style="font-style: italic;" class="mycode_i">EBlink version 6.02-[201] by Gerard Zagema</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Using EB_SCRIPT_PATH = C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Interface      : STlink</span><br />
<span style="font-style: italic;" class="mycode_i">Interface USB# : 36FF71063447313049172557</span><br />
<span style="font-style: italic;" class="mycode_i">Interface at  1:40 - &lt;BUS&gt;:&lt;ADDR&gt;</span><br />
<span style="font-style: italic;" class="mycode_i">Interface type : STlink/V2</span><br />
<span style="font-style: italic;" class="mycode_i">STlink Frmware : V2.J46.S0</span><br />
<span style="font-style: italic;" class="mycode_i">Target voltage : 3.21V</span><br />
<span style="font-style: italic;" class="mycode_i">Interface speed: 4000KHz</span><br />
<span style="font-style: italic;" class="mycode_i">Try DAP_AP 0.</span><br />
<span style="font-style: italic;" class="mycode_i">Read CPU id on DAP_AP 0</span><br />
<span style="font-style: italic;" class="mycode_i">CPU id found (0x410FC241)</span><br />
<span style="font-style: italic;" class="mycode_i">Target selected: Cortex-M</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Target detected: Cortex-M4 (r0p1) with FPv4_SP</span><br />
<span style="font-style: italic;" class="mycode_i">HW breakpoints : 6</span><br />
<span style="font-style: italic;" class="mycode_i">HW watchpoints : 4</span><br />
<span style="font-style: italic;" class="mycode_i">Fault unwind  : Active (level 2)</span><br />
<span style="font-style: italic;" class="mycode_i">Search script stm32.script in path: C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<span style="font-style: italic;" class="mycode_i">Script found: stm32.script</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&copy;[17]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&reg;[167]  {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                        ebMain&copy;[62]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                    findDevice&copy;[90]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">STmicro device : 0x446</span><br />
<span style="font-style: italic;" class="mycode_i">Search script stmicro/stm32f3.script in path: C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<span style="font-style: italic;" class="mycode_i">Script found: stmicro/stm32f3.script</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&copy;[15]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&reg;[104]  {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device&copy;[56]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device(e)[65]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device&reg;[65]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                    findDevice&reg;[113]  {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Catch{..} at ebMain[68] in "stm32.script"</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Squirrel Error</span><br />
<span style="font-style: italic;" class="mycode_i">The index 'ntrfApi' does not exist</span><br />
<span style="font-style: italic;" class="mycode_i">stm32_device[65] in 'stmicro/stm32f3.script'</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                        ebMain&reg;[69]    {stm32.script}</span><br />
<br />
What can I do to correct this error ?<br />
<br />
Thank you,<br />
<br />
Stéphane]]></description>
			<content:encoded><![CDATA[Hello,<br />
I try to programm an Evaluation board with a STM32F303VE and an integrated STLink V2:<br />
<a href="https://www.st.com/en/evaluation-tools/stm32303e-eval.html#documentation" target="_blank" rel="noopener" class="mycode_url">https://www.st.com/en/evaluation-tools/s...umentation</a><br />
<br />
When I click on the debugger button under Embitz, I have the following error:<br />
Squirrel Error<br />
The index 'ntrfApi' does not exist<br />
stm32_device[65] in 'stmicro/stm32f3.script'<br />
<br />
Even if I try debugging in Power Shell to launch the EBLink alone with this command :<br />
<span style="font-style: italic;" class="mycode_i">.\eblink.exe -v 7 -I stlink -S stm32 -G</span><br />
<br />
The same error appears:<br />
<span style="font-style: italic;" class="mycode_i">EBlink version 6.02-[201] by Gerard Zagema</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Using EB_SCRIPT_PATH = C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Interface      : STlink</span><br />
<span style="font-style: italic;" class="mycode_i">Interface USB# : 36FF71063447313049172557</span><br />
<span style="font-style: italic;" class="mycode_i">Interface at  1:40 - &lt;BUS&gt;:&lt;ADDR&gt;</span><br />
<span style="font-style: italic;" class="mycode_i">Interface type : STlink/V2</span><br />
<span style="font-style: italic;" class="mycode_i">STlink Frmware : V2.J46.S0</span><br />
<span style="font-style: italic;" class="mycode_i">Target voltage : 3.21V</span><br />
<span style="font-style: italic;" class="mycode_i">Interface speed: 4000KHz</span><br />
<span style="font-style: italic;" class="mycode_i">Try DAP_AP 0.</span><br />
<span style="font-style: italic;" class="mycode_i">Read CPU id on DAP_AP 0</span><br />
<span style="font-style: italic;" class="mycode_i">CPU id found (0x410FC241)</span><br />
<span style="font-style: italic;" class="mycode_i">Target selected: Cortex-M</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Target detected: Cortex-M4 (r0p1) with FPv4_SP</span><br />
<span style="font-style: italic;" class="mycode_i">HW breakpoints : 6</span><br />
<span style="font-style: italic;" class="mycode_i">HW watchpoints : 4</span><br />
<span style="font-style: italic;" class="mycode_i">Fault unwind  : Active (level 2)</span><br />
<span style="font-style: italic;" class="mycode_i">Search script stm32.script in path: C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<span style="font-style: italic;" class="mycode_i">Script found: stm32.script</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&copy;[17]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&reg;[167]  {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                        ebMain&copy;[62]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                    findDevice&copy;[90]    {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">STmicro device : 0x446</span><br />
<span style="font-style: italic;" class="mycode_i">Search script stmicro/stm32f3.script in path: C:\Program Files (x86)\EmBitz\EBlink\scripts</span><br />
<span style="font-style: italic;" class="mycode_i">Script found: stmicro/stm32f3.script</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&copy;[15]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                          main&reg;[104]  {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device&copy;[56]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device(e)[65]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                  stm32_device&reg;[65]    {stmicro/stm32f3.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                    findDevice&reg;[113]  {stm32.script}</span><br />
<span style="font-style: italic;" class="mycode_i">Catch{..} at ebMain[68] in "stm32.script"</span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Squirrel Error</span><br />
<span style="font-style: italic;" class="mycode_i">The index 'ntrfApi' does not exist</span><br />
<span style="font-style: italic;" class="mycode_i">stm32_device[65] in 'stmicro/stm32f3.script'</span><br />
<span style="font-style: italic;" class="mycode_i">Squirrel debug                        ebMain&reg;[69]    {stm32.script}</span><br />
<br />
What can I do to correct this error ?<br />
<br />
Thank you,<br />
<br />
Stéphane]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[undefined __errno build problem]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=228</link>
			<pubDate>Thu, 05 Jun 2025 15:18:44 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=205">Cseb84</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=228</guid>
			<description><![CDATA[Hi,<br />
When i try to build my stm32 project, i get the error below:<br />
<br />
"In function `sqrtf': wf_sqrt.c<img src="https://www.embitz.org/forum/images/smilies/sad.png" alt="Sad" title="Sad" class="smilie smilie_8" />.text.sqrtf+0x80): undefined reference to `__errno' "<br />
<br />
How can i fix this error?]]></description>
			<content:encoded><![CDATA[Hi,<br />
When i try to build my stm32 project, i get the error below:<br />
<br />
"In function `sqrtf': wf_sqrt.c<img src="https://www.embitz.org/forum/images/smilies/sad.png" alt="Sad" title="Sad" class="smilie smilie_8" />.text.sqrtf+0x80): undefined reference to `__errno' "<br />
<br />
How can i fix this error?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to debug EBlink scripts]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=227</link>
			<pubDate>Fri, 16 May 2025 07:04:49 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=1">embitz</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=227</guid>
			<description><![CDATA[EBlink version 6.00 and beyond, does support Squirrel script debugging and tracing.<br />
<br />
To use the script debugger, place EBlink in verbose level 7 (debug info) for function level debugging or level 8 (trace info) for line level debugging. <br />
For verbose levels below 7, debugging is turned off and script breakpoints are ignored.<br />
<br />
Invocation:<br />
Debug level e.g.  <span style="font-weight: bold;" class="mycode_b">./eblink -v7 -G </span><br />
Trace   level e.g. <span style="font-weight: bold;" class="mycode_b"> ./eblink -v8 -G</span><br />
<br />
<br />
Example of breakpoint in script:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>    foreach(arch in STMICRO)<br />
      if(arch[0] == targetApi.getCpuName()){<br />
          foreach(addr in arch[1]) {<br />
              try{ <br />
                   devReg = intrfApi.read(addr)<br />
                   brkPt()                &lt;----------- Breakpoint<br />
                   if(devReg) break<br />
              }<br />
              catch(e){}<br />
          }</code></div></div><br />
If the program is halted, all the local variables are printed and the user get the option to: Single-step, step-out,  until exception or step to the end of current function<br />
If the execution is <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">main </span></span>this means that the script file itself (no functions) is handled.<br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-style: italic;" class="mycode_i">Example output debug level ( cli switch -v7 ) </span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Search script auto.script in path: f:\software\EBlink\scripts<br />
Script found: auto.script<br />
Squirrel debug                          main&copy;[9]    {auto.script}<br />
Squirrel debug                          main&reg;[42]    {auto.script}<br />
Squirrel debug                        ebMain&copy;[22]    {auto.script}<br />
Search script atmel.script in path: f:\software\EBlink\scripts<br />
Script found: atmel.script<br />
Squirrel debug                          main&copy;[13]    {atmel.script}<br />
Squirrel debug                          main&reg;[154]  {atmel.script}<br />
Squirrel debug                    findDevice&copy;[59]    {atmel.script}<br />
Squirrel debug                    findDevice(e)[105]  {atmel.script}<br />
Squirrel debug                    findDevice&reg;[105]  {atmel.script}<br />
Search script stm32.script in path: f:\software\EBlink\scripts<br />
Script found: stm32.script<br />
Squirrel debug                          main&copy;[17]    {stm32.script}<br />
Squirrel debug                          main&reg;[167]  {stm32.script}<br />
Squirrel debug                    findDevice&copy;[90]    {stm32.script}<br />
STmicro device : 0x413<br />
Search script stmicro/stm32f4.script in path: f:\software\EBlink\scripts<br />
Script found: stmicro/stm32f4.script<br />
Squirrel debug                          main&copy;[8]    {stmicro/stm32f4.script}<br />
Squirrel debug                          main&reg;[166]  {stmicro/stm32f4.script}<br />
Squirrel debug                  stm32_device&copy;[111]  {stmicro/stm32f4.script}<br />
STmicro family : STM32F4x5/4x7<br />
Detected FLASH : 1024KB<br />
Configured RAM : 192KB<br />
Search script stmicro/flash/f7_f4_f2.script in path: f:\software\EBlink\scripts<br />
Script found: stmicro/flash/f7_f4_f2.script<br />
Squirrel debug                          main&copy;[10]    {stmicro/flash/f7_f4_f2.script}<br />
Squirrel debug                          main&reg;[350]  {stmicro/flash/f7_f4_f2.script}<br />
Squirrel debug                  stm32_device&reg;[166]  {stmicro/stm32f4.script}<br />
Squirrel debug                    findDevice&reg;[114]  {stm32.script}<br />
Squirrel debug                        ebMain&reg;[27]    {auto.script}</blockquote>
<br />
<span style="font-weight: bold;" class="mycode_b">&copy; = called function start</span><br />
<span style="font-weight: bold;" class="mycode_b">&reg; = return current function</span><br />
<span style="font-weight: bold;" class="mycode_b">(e) = exception</span><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Example output trace level ( cli switch -v8)</span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Required script load: atmel.script<br />
Search script atmel.script in path: f:\software\EBlink\scripts<br />
Script found: atmel.script<br />
Squirrel trace                          main&copy;[13]    {atmel.script}<br />
Squirrel trace                          main(l)[13]    {atmel.script}<br />
Squirrel trace                          main(l)[14]    {atmel.script}<br />
Squirrel trace                          main(l)[15]    {atmel.script}<br />
Squirrel trace                          main(l)[17]    {atmel.script}<br />
Squirrel trace                          main(l)[20]    {atmel.script}<br />
Squirrel trace                          main(l)[21]    {atmel.script}<br />
Squirrel trace                          main(l)[22]    {atmel.script}<br />
Squirrel trace                          main(l)[24]    {atmel.script}<br />
Squirrel trace                          main(l)[30]    {atmel.script}<br />
Squirrel trace                          main(l)[58]    {atmel.script}<br />
Squirrel trace                          main(l)[119]  {atmel.script}<br />
Squirrel trace                          main(l)[154]  {atmel.script}<br />
Squirrel trace                          main&reg;[154]  {atmel.script}<br />
Squirrel trace                        ebMain(l)[26]    {auto.script}<br />
Squirrel trace                    findDevice&copy;[61]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[61]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[66]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[105]  {atmel.script}<br />
Squirrel trace                    findDevice(e)[105]  {atmel.script}<br />
Squirrel trace                    findDevice&reg;[105]  {atmel.script}<br />
Squirrel trace                        ebMain(l)[31]    {auto.script}<br />
Squirrel trace                        ebMain(l)[34]    {auto.script}<br />
Squirrel trace                        ebMain(l)[24]    {auto.script}<br />
Squirrel trace                        ebMain(l)[25]    {auto.script}</blockquote>
<br />
<span style="font-weight: bold;" class="mycode_b">&copy; = called function start</span><br />
<span style="font-weight: bold;" class="mycode_b">&reg; = return current function</span><br />
<span style="font-weight: bold;" class="mycode_b">(e) = exception</span><br />
<span style="font-weight: bold;" class="mycode_b">(l)  = script line</span><br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Example output breakpoint hit</span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Squirrel trace                    findDevice(l)[99]    {stm32.script}<br />
Squirrel trace                    findDevice(l)[99]    {stm32.script}<br />
Squirrel trace                    findDevice(l)[100]  {stm32.script}<br />
Squirrel trace                    findDevice(l)[101]  {stm32.script}<br />
Squirrel trace                    findDevice(l)[104]  {stm32.script}<br />
<br />
== BREAKPOINT  ==<br />
*FUNCTION [findDevice()] stm32.script line [104]                        &lt;-- Call stack<br />
*FUNCTION [ebMain()] auto.script line [26]                                 &lt;-- Call stack<br />
-LOCALS:                                                                                 &lt;-- start local variable(s) list<br />
          [arch] ARRAY<br />
          [@INDEX@] INTEGER( 3 )<br />
          [devReg] INTEGER( 268526611 )<br />
          [this] TABLE<br />
            [vendor] "stm32.script"<br />
            [@INDEX@] INTEGER( 1 )<br />
            [this] TABLE<br />
Go, next Call, Return, Exception or Line? [g,c,r,e,l]                         &lt;-- Command line input </blockquote>
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Command line input:</span></span><br />
<span style="font-weight: bold;" class="mycode_b">g = continue (go)</span><br />
<span style="font-weight: bold;" class="mycode_b">c = run to next call of a function</span><br />
<span style="font-weight: bold;" class="mycode_b">r = run to the return of current function</span><br />
<span style="font-weight: bold;" class="mycode_b">e = run until exception trap</span><br />
<span style="font-weight: bold;" class="mycode_b">l = next script line</span>]]></description>
			<content:encoded><![CDATA[EBlink version 6.00 and beyond, does support Squirrel script debugging and tracing.<br />
<br />
To use the script debugger, place EBlink in verbose level 7 (debug info) for function level debugging or level 8 (trace info) for line level debugging. <br />
For verbose levels below 7, debugging is turned off and script breakpoints are ignored.<br />
<br />
Invocation:<br />
Debug level e.g.  <span style="font-weight: bold;" class="mycode_b">./eblink -v7 -G </span><br />
Trace   level e.g. <span style="font-weight: bold;" class="mycode_b"> ./eblink -v8 -G</span><br />
<br />
<br />
Example of breakpoint in script:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>    foreach(arch in STMICRO)<br />
      if(arch[0] == targetApi.getCpuName()){<br />
          foreach(addr in arch[1]) {<br />
              try{ <br />
                   devReg = intrfApi.read(addr)<br />
                   brkPt()                &lt;----------- Breakpoint<br />
                   if(devReg) break<br />
              }<br />
              catch(e){}<br />
          }</code></div></div><br />
If the program is halted, all the local variables are printed and the user get the option to: Single-step, step-out,  until exception or step to the end of current function<br />
If the execution is <span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">main </span></span>this means that the script file itself (no functions) is handled.<br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-style: italic;" class="mycode_i">Example output debug level ( cli switch -v7 ) </span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Search script auto.script in path: f:\software\EBlink\scripts<br />
Script found: auto.script<br />
Squirrel debug                          main&copy;[9]    {auto.script}<br />
Squirrel debug                          main&reg;[42]    {auto.script}<br />
Squirrel debug                        ebMain&copy;[22]    {auto.script}<br />
Search script atmel.script in path: f:\software\EBlink\scripts<br />
Script found: atmel.script<br />
Squirrel debug                          main&copy;[13]    {atmel.script}<br />
Squirrel debug                          main&reg;[154]  {atmel.script}<br />
Squirrel debug                    findDevice&copy;[59]    {atmel.script}<br />
Squirrel debug                    findDevice(e)[105]  {atmel.script}<br />
Squirrel debug                    findDevice&reg;[105]  {atmel.script}<br />
Search script stm32.script in path: f:\software\EBlink\scripts<br />
Script found: stm32.script<br />
Squirrel debug                          main&copy;[17]    {stm32.script}<br />
Squirrel debug                          main&reg;[167]  {stm32.script}<br />
Squirrel debug                    findDevice&copy;[90]    {stm32.script}<br />
STmicro device : 0x413<br />
Search script stmicro/stm32f4.script in path: f:\software\EBlink\scripts<br />
Script found: stmicro/stm32f4.script<br />
Squirrel debug                          main&copy;[8]    {stmicro/stm32f4.script}<br />
Squirrel debug                          main&reg;[166]  {stmicro/stm32f4.script}<br />
Squirrel debug                  stm32_device&copy;[111]  {stmicro/stm32f4.script}<br />
STmicro family : STM32F4x5/4x7<br />
Detected FLASH : 1024KB<br />
Configured RAM : 192KB<br />
Search script stmicro/flash/f7_f4_f2.script in path: f:\software\EBlink\scripts<br />
Script found: stmicro/flash/f7_f4_f2.script<br />
Squirrel debug                          main&copy;[10]    {stmicro/flash/f7_f4_f2.script}<br />
Squirrel debug                          main&reg;[350]  {stmicro/flash/f7_f4_f2.script}<br />
Squirrel debug                  stm32_device&reg;[166]  {stmicro/stm32f4.script}<br />
Squirrel debug                    findDevice&reg;[114]  {stm32.script}<br />
Squirrel debug                        ebMain&reg;[27]    {auto.script}</blockquote>
<br />
<span style="font-weight: bold;" class="mycode_b">&copy; = called function start</span><br />
<span style="font-weight: bold;" class="mycode_b">&reg; = return current function</span><br />
<span style="font-weight: bold;" class="mycode_b">(e) = exception</span><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Example output trace level ( cli switch -v8)</span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Required script load: atmel.script<br />
Search script atmel.script in path: f:\software\EBlink\scripts<br />
Script found: atmel.script<br />
Squirrel trace                          main&copy;[13]    {atmel.script}<br />
Squirrel trace                          main(l)[13]    {atmel.script}<br />
Squirrel trace                          main(l)[14]    {atmel.script}<br />
Squirrel trace                          main(l)[15]    {atmel.script}<br />
Squirrel trace                          main(l)[17]    {atmel.script}<br />
Squirrel trace                          main(l)[20]    {atmel.script}<br />
Squirrel trace                          main(l)[21]    {atmel.script}<br />
Squirrel trace                          main(l)[22]    {atmel.script}<br />
Squirrel trace                          main(l)[24]    {atmel.script}<br />
Squirrel trace                          main(l)[30]    {atmel.script}<br />
Squirrel trace                          main(l)[58]    {atmel.script}<br />
Squirrel trace                          main(l)[119]  {atmel.script}<br />
Squirrel trace                          main(l)[154]  {atmel.script}<br />
Squirrel trace                          main&reg;[154]  {atmel.script}<br />
Squirrel trace                        ebMain(l)[26]    {auto.script}<br />
Squirrel trace                    findDevice&copy;[61]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[61]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[66]    {atmel.script}<br />
Squirrel trace                    findDevice(l)[105]  {atmel.script}<br />
Squirrel trace                    findDevice(e)[105]  {atmel.script}<br />
Squirrel trace                    findDevice&reg;[105]  {atmel.script}<br />
Squirrel trace                        ebMain(l)[31]    {auto.script}<br />
Squirrel trace                        ebMain(l)[34]    {auto.script}<br />
Squirrel trace                        ebMain(l)[24]    {auto.script}<br />
Squirrel trace                        ebMain(l)[25]    {auto.script}</blockquote>
<br />
<span style="font-weight: bold;" class="mycode_b">&copy; = called function start</span><br />
<span style="font-weight: bold;" class="mycode_b">&reg; = return current function</span><br />
<span style="font-weight: bold;" class="mycode_b">(e) = exception</span><br />
<span style="font-weight: bold;" class="mycode_b">(l)  = script line</span><br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Example output breakpoint hit</span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite>Squirrel trace                    findDevice(l)[99]    {stm32.script}<br />
Squirrel trace                    findDevice(l)[99]    {stm32.script}<br />
Squirrel trace                    findDevice(l)[100]  {stm32.script}<br />
Squirrel trace                    findDevice(l)[101]  {stm32.script}<br />
Squirrel trace                    findDevice(l)[104]  {stm32.script}<br />
<br />
== BREAKPOINT  ==<br />
*FUNCTION [findDevice()] stm32.script line [104]                        &lt;-- Call stack<br />
*FUNCTION [ebMain()] auto.script line [26]                                 &lt;-- Call stack<br />
-LOCALS:                                                                                 &lt;-- start local variable(s) list<br />
          [arch] ARRAY<br />
          [@INDEX@] INTEGER( 3 )<br />
          [devReg] INTEGER( 268526611 )<br />
          [this] TABLE<br />
            [vendor] "stm32.script"<br />
            [@INDEX@] INTEGER( 1 )<br />
            [this] TABLE<br />
Go, next Call, Return, Exception or Line? [g,c,r,e,l]                         &lt;-- Command line input </blockquote>
<br />
<span style="font-style: italic;" class="mycode_i"><span style="text-decoration: underline;" class="mycode_u">Command line input:</span></span><br />
<span style="font-weight: bold;" class="mycode_b">g = continue (go)</span><br />
<span style="font-weight: bold;" class="mycode_b">c = run to next call of a function</span><br />
<span style="font-weight: bold;" class="mycode_b">r = run to the return of current function</span><br />
<span style="font-weight: bold;" class="mycode_b">e = run until exception trap</span><br />
<span style="font-weight: bold;" class="mycode_b">l = next script line</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Mousing Live View?]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=226</link>
			<pubDate>Fri, 16 May 2025 00:42:37 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=244">Salamander</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=226</guid>
			<description><![CDATA[Have forgot how to turn on "live view" when mousing over changing variables , how was this done?<br />
Example:<br />
MG6acc1+= MG6fc1;              // 32bit up counter<br />
MG6buff1= MG6acc1&gt;&gt;16;     //16 top MSB up count stored in MG6buff1<br />
<br />
I can see MG6acc1 counter values flying by but nothing in MG6buff1 when mousing over.]]></description>
			<content:encoded><![CDATA[Have forgot how to turn on "live view" when mousing over changing variables , how was this done?<br />
Example:<br />
MG6acc1+= MG6fc1;              // 32bit up counter<br />
MG6buff1= MG6acc1&gt;&gt;16;     //16 top MSB up count stored in MG6buff1<br />
<br />
I can see MG6acc1 counter values flying by but nothing in MG6buff1 when mousing over.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[STM32F756BGT6 - No valid STmicro device ID found]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=225</link>
			<pubDate>Thu, 08 May 2025 20:44:59 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=23">PDonchev</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=225</guid>
			<description><![CDATA[The MCU is correctly detected via the ST-Link utility:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>21:29:20 : ST-LINK SN : *<br />
21:29:20 : V2J37S7<br />
21:29:20 : Connected via SWD.<br />
21:29:20 : SWD Frequency = 4,0 MHz.<br />
21:29:20 : Connection mode : Connect Under Reset.<br />
21:29:20 : Debug in Low Power mode enabled.<br />
21:29:20 : Device ID:0x449 <br />
21:29:20 : Device flash Size : 1MBytes<br />
21:29:20 : Device family :STM32F74x/F75x</code></div></div><br />
However, in EmBitz 2.64 using EBlink 6.02-[198], the following issue occurs: <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>EBlink version 6.02-[198] by Gerard Zagema<br />
<br />
Interface USB# : *<br />
Interface type : STlink/V2<br />
Target voltage : 3.21V<br />
Interface speed: 4000KHz<br />
<br />
Target detected: Cortex-M7 (r0p1) with FPv5_SP<br />
HW breakpoints : 8<br />
HW watchpoints : 4<br />
Fault unwind   : Active (level 2)<br />
<br />
ERROR: No valid STmicro device ID found</code></div></div><br />
I resolved the issue by editing the stm32.script file. Specifically, I replaced: <br />
["M7",  [0x5C001000],<br />
with<br />
["M7",  [0xE0042000],<br />
<br />
After this change, device detection in EmBitz started working correctly.]]></description>
			<content:encoded><![CDATA[The MCU is correctly detected via the ST-Link utility:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>21:29:20 : ST-LINK SN : *<br />
21:29:20 : V2J37S7<br />
21:29:20 : Connected via SWD.<br />
21:29:20 : SWD Frequency = 4,0 MHz.<br />
21:29:20 : Connection mode : Connect Under Reset.<br />
21:29:20 : Debug in Low Power mode enabled.<br />
21:29:20 : Device ID:0x449 <br />
21:29:20 : Device flash Size : 1MBytes<br />
21:29:20 : Device family :STM32F74x/F75x</code></div></div><br />
However, in EmBitz 2.64 using EBlink 6.02-[198], the following issue occurs: <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>EBlink version 6.02-[198] by Gerard Zagema<br />
<br />
Interface USB# : *<br />
Interface type : STlink/V2<br />
Target voltage : 3.21V<br />
Interface speed: 4000KHz<br />
<br />
Target detected: Cortex-M7 (r0p1) with FPv5_SP<br />
HW breakpoints : 8<br />
HW watchpoints : 4<br />
Fault unwind   : Active (level 2)<br />
<br />
ERROR: No valid STmicro device ID found</code></div></div><br />
I resolved the issue by editing the stm32.script file. Specifically, I replaced: <br />
["M7",  [0x5C001000],<br />
with<br />
["M7",  [0xE0042000],<br />
<br />
After this change, device detection in EmBitz started working correctly.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[EBlink : can't load device-script : stm32auto.script]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=224</link>
			<pubDate>Tue, 18 Feb 2025 17:16:30 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=216">COP</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=224</guid>
			<description><![CDATA[Hi,<br />
Have installed EMBITZ 2.63(29) and EBLINK 5.30. For test I defined a small program for stm32f407VG disco using the project wizard. I included use of EBMonitor and ebmon.c and .h  were added to the project.  In the generated main.c  source I added for test of ebmonitor  a printf("\f I am alive \n"); <br />
As expected the build was ok. However running Debug gives the the message :   "can't load device-script : stm32auto.script". <br />
I've checked the 3 environment vars in windows 11  for EBlink. They are:  <br />
EB_SCRIPT_PATH     C:\Program Files (x86) \EBLINK\scripts  (here it actually resides)<br />
EB_SCRIPT_ PROBE  stlink<br />
EB_SCRIPT_SCRIPT  auto  <br />
which seems allright to me.<br />
I am using   STlink   V4.5 <br />
<br />
I have no clue were goes wrong, Would appreciate your advice.<br />
<br />
Cop]]></description>
			<content:encoded><![CDATA[Hi,<br />
Have installed EMBITZ 2.63(29) and EBLINK 5.30. For test I defined a small program for stm32f407VG disco using the project wizard. I included use of EBMonitor and ebmon.c and .h  were added to the project.  In the generated main.c  source I added for test of ebmonitor  a printf("\f I am alive \n"); <br />
As expected the build was ok. However running Debug gives the the message :   "can't load device-script : stm32auto.script". <br />
I've checked the 3 environment vars in windows 11  for EBlink. They are:  <br />
EB_SCRIPT_PATH     C:\Program Files (x86) \EBLINK\scripts  (here it actually resides)<br />
EB_SCRIPT_ PROBE  stlink<br />
EB_SCRIPT_SCRIPT  auto  <br />
which seems allright to me.<br />
I am using   STlink   V4.5 <br />
<br />
I have no clue were goes wrong, Would appreciate your advice.<br />
<br />
Cop]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[collect2.exe: fatal error: CreateProcess: No such file or directory]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=223</link>
			<pubDate>Fri, 31 Jan 2025 15:58:47 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=202">Operton</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=223</guid>
			<description><![CDATA[Hi,<br />
<br />
I have a project with a huge amount of files. When adding further files to the project compilation is successful but during linker phase I have this error:<br />
"collect2.exe: fatal error: CreateProcess: No such file or directory"<br />
<br />
On Windows the maximum length of the string (including all arguments) passed to CreateProcess() is 32768 characters and it looks like the final linker command exceeds that limit.<br />
A suggested workaround would be to pass the inputs to the linker via a file.<br />
<br />
Is there a similar or other workaround to this problem in Embitz?<br />
<br />
Thank you!<br />
Operton]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I have a project with a huge amount of files. When adding further files to the project compilation is successful but during linker phase I have this error:<br />
"collect2.exe: fatal error: CreateProcess: No such file or directory"<br />
<br />
On Windows the maximum length of the string (including all arguments) passed to CreateProcess() is 32768 characters and it looks like the final linker command exceeds that limit.<br />
A suggested workaround would be to pass the inputs to the linker via a file.<br />
<br />
Is there a similar or other workaround to this problem in Embitz?<br />
<br />
Thank you!<br />
Operton]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Stm32F0 series debug problem]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=222</link>
			<pubDate>Wed, 15 Jan 2025 17:32:33 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=205">Cseb84</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=222</guid>
			<description><![CDATA[Hi,<br />
While debugging an STM32F0 series processor with swd debug, when I place a breakpoint on any line and debug that line, the system resets itself. This does not happen with the STM32F1 series. Why?]]></description>
			<content:encoded><![CDATA[Hi,<br />
While debugging an STM32F0 series processor with swd debug, when I place a breakpoint on any line and debug that line, the system resets itself. This does not happen with the STM32F1 series. Why?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Stm32L4: No reset exception catch after wakeup]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=220</link>
			<pubDate>Sun, 12 Jan 2025 19:34:34 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=247">Buzzwang</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=220</guid>
			<description><![CDATA[Hello,<br />
I have a battery powered project and want to test it with connected debugger. <br />
The system goes to state "shutdown" and exits it by RTC every15s.<br />
Exit means: "A power-on reset occurs when exiting from Shutdown mode."<br />
<br />
Here my issue is, that EB halts after exit of shutdown at the reset vector and I need to press "F5" to continue.<br />
I tried several debugger settings, like "don't stop at valid source info", "don't reset", "don't load app" and "don't run to main".<br />
But no effect. It always halts.<br />
<br />
What can I do ?<br />
Is it possible to "hot plug" ?]]></description>
			<content:encoded><![CDATA[Hello,<br />
I have a battery powered project and want to test it with connected debugger. <br />
The system goes to state "shutdown" and exits it by RTC every15s.<br />
Exit means: "A power-on reset occurs when exiting from Shutdown mode."<br />
<br />
Here my issue is, that EB halts after exit of shutdown at the reset vector and I need to press "F5" to continue.<br />
I tried several debugger settings, like "don't stop at valid source info", "don't reset", "don't load app" and "don't run to main".<br />
But no effect. It always halts.<br />
<br />
What can I do ?<br />
Is it possible to "hot plug" ?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[EFM32GG]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=219</link>
			<pubDate>Fri, 03 Jan 2025 06:53:19 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=501">Moha131</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=219</guid>
			<description><![CDATA[Error creating a new program for programming microcontroller type EFM32GG<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=212" target="_blank" title="">embitz3.png</a> (Size: 26.6 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=210" target="_blank" title="">embitz5.png</a> (Size: 17.28 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=211" target="_blank" title="">embitz4.png</a> (Size: 5.29 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Error creating a new program for programming microcontroller type EFM32GG<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=212" target="_blank" title="">embitz3.png</a> (Size: 26.6 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=210" target="_blank" title="">embitz5.png</a> (Size: 17.28 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.embitz.org/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=211" target="_blank" title="">embitz4.png</a> (Size: 5.29 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Thread safe Newlib Nano heap]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=218</link>
			<pubDate>Thu, 12 Dec 2024 12:17:58 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=198">matsb</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=218</guid>
			<description><![CDATA[Hi!<br />
<br />
I'm working on a STM32G473 project using FreeRTOS.<br />
Due to FLASH memory size limitations, I had to change from using Newlib to Newlib Nano-branch, and with this, I lost malloc/free heap thread safety.<br />
<br />
With Newlib, I had the heap thread safe by implementing these functions with a FreeRTOS mutex:<br />
<br />
void __malloc_lock(struct _reent * ptr);<br />
void __malloc_unlock(struct _reent * ptr);<br />
<br />
But these functions are not called from Newlib Nano.<br />
<br />
I've googled around about Newlib Nano-branch, and some older versions does not provide this feature, but other versions seems to support it,<br />
for example on this link: <a href="https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=2665915cfc46aa6403bb2efd473c523d3167e0cb" target="_blank" rel="noopener" class="mycode_url">https://sourceware.org/git/gitweb.cgi?p=...3d3167e0cb</a><br />
<br />
<br />
Any suggestions how I can overcome this?]]></description>
			<content:encoded><![CDATA[Hi!<br />
<br />
I'm working on a STM32G473 project using FreeRTOS.<br />
Due to FLASH memory size limitations, I had to change from using Newlib to Newlib Nano-branch, and with this, I lost malloc/free heap thread safety.<br />
<br />
With Newlib, I had the heap thread safe by implementing these functions with a FreeRTOS mutex:<br />
<br />
void __malloc_lock(struct _reent * ptr);<br />
void __malloc_unlock(struct _reent * ptr);<br />
<br />
But these functions are not called from Newlib Nano.<br />
<br />
I've googled around about Newlib Nano-branch, and some older versions does not provide this feature, but other versions seems to support it,<br />
for example on this link: <a href="https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=2665915cfc46aa6403bb2efd473c523d3167e0cb" target="_blank" rel="noopener" class="mycode_url">https://sourceware.org/git/gitweb.cgi?p=...3d3167e0cb</a><br />
<br />
<br />
Any suggestions how I can overcome this?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[STM32H5xx HighCycle memory flashing from file]]></title>
			<link>https://www.embitz.org/forum/showthread.php?tid=217</link>
			<pubDate>Fri, 06 Dec 2024 18:04:16 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.embitz.org/forum/member.php?action=profile&uid=1">embitz</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.embitz.org/forum/showthread.php?tid=217</guid>
			<description><![CDATA[The script files support HighCycle memory programming from production files.<br />
If you use this data will debugging, it will every time be reflashed at every debug session because it is bypassing the cache manager. The HighCycle data is defined as 'virtual' sectors so that we don't have read errors of unused highCycle memory.<br />
<br />
You can find the modified script files on github and from version EBlink 6.00 they will be included into the package.]]></description>
			<content:encoded><![CDATA[The script files support HighCycle memory programming from production files.<br />
If you use this data will debugging, it will every time be reflashed at every debug session because it is bypassing the cache manager. The HighCycle data is defined as 'virtual' sectors so that we don't have read errors of unused highCycle memory.<br />
<br />
You can find the modified script files on github and from version EBlink 6.00 they will be included into the package.]]></content:encoded>
		</item>
	</channel>
</rss>