<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/89788/nordic-uart-2mbit</link><description>Dear Forum, 
 I am using the provided BLE-NUS UART examples (central/peripheral) to create a COM link via bluetooth. 
 As I failed to generate a setup which directly operates on 2MBit (including advertising), I considered the following threads: 
 
 AND</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 20 Jul 2022 11:39:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/89788/nordic-uart-2mbit" /><item><title>RE: Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/thread/377835?ContentTypeID=1</link><pubDate>Wed, 20 Jul 2022 11:39:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb5a545f-3ad5-4f4f-8a7f-9f3ded28745e</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Since the project in the case I linked to is for SDK v16.0.0 there are some migration actions necessary to make it run correctly. Please check out the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/migration.html"&gt;migration guide here&lt;/a&gt; and get back to me if you run into trouble.&lt;/p&gt;
&lt;p&gt;The RAM1_segment_end error I recognize, and I think this is due to the RAM changing from RAM1 to RAM in either the Memory Segments or Section Placement Macros in SEGGER Embedded Studios &lt;strong&gt;Project options &amp;gt; Linker&lt;/strong&gt;&amp;nbsp;at some point. Please try changing RAM1 to RAM or the other way around in Memory Segments. (It&amp;#39;s been a while so I don&amp;#39;t remember which of the two is correct to use unfortunately.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/thread/377632?ContentTypeID=1</link><pubDate>Tue, 19 Jul 2022 12:50:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4281e4f6-e5d5-4c52-8f35-128972c6630d</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hello Simon,&lt;/p&gt;
&lt;p&gt;Thank you for the suggestion. I downloaded the zip, extracted (in the correct path relation to libs) to SDK_17.0.2_d674dde which I&amp;#39;m using and compiling ble_app_uart_c, I got the following errors after successful compilation during linking with SES:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;  Generating linker script &amp;#39;ble_app_uart_c_pca10056_s140.ld&amp;#39;
  Linking ble_app_uart_c_pca10056_s140.elf
    Output/Release/Obj/ble_app_uart_c_pca10056_s140/ses_startup_nrf_common.o: in function `InitializeUserMemorySections&amp;#39;:
    undefined reference to `__RAM1_segment_end__&amp;#39;
    Output/Release/Obj/ble_app_uart_c_pca10056_s140/main.o: in function `main&amp;#39;:
    undefined reference to `ble_nus_c_string_send_old&amp;#39;
Build failed&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The ___RAM1_segment_end__ error also applies to the ble_app_uart.&lt;/p&gt;
&lt;p&gt;Additional info: I used the pca10056_s140 definitions for usage, because these are most similar to the projects I used for my development.&lt;/p&gt;
&lt;p&gt;I use SES 5.44 on Xubuntu 20.04 LTS.&lt;/p&gt;
&lt;p&gt;Maybe Edwin could take a look and suggest solutions?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/thread/376714?ContentTypeID=1</link><pubDate>Wed, 13 Jul 2022 07:18:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10bfa30a-08c1-4f75-ac4f-7d991a713b6e</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Please check out &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/60624/maximizing-uart-over-ble-throughput/260149"&gt;this case&lt;/a&gt;, where this topic has&amp;nbsp;been discussed already, and my colleague Edvin has uploaded an example project where he has combined the Nordic UART Service and throughput projects to maximize UART throughput.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/thread/376493?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 17:02:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8cbe25f-431d-4535-98ab-99f84d2aa4cd</guid><dc:creator>RichardHdrd</dc:creator><description>&lt;p&gt;Hello Simon,&lt;/p&gt;
&lt;p&gt;Thank you for the response. I previously increased the UART speed to 230k, which I also could verify, because the communicating client program, which runs on the PC was also set to 230kBaud and I could get the data, which was sent over bluetooth connection. But, increasing there from 1MBit to 2MBit, I didn&amp;#39;t see the required latency for calls to&amp;nbsp;ble_nus_data_send was allowed to be reduced below the value that can be used when using 1MBit (if doing so, I get a frequent response of errorcode 19&amp;lt;=&amp;gt;NRF_ERROR_RESOURCES).&lt;/p&gt;
&lt;p&gt;Following your advice, I started using BLE throughput example. But, as stated, I use also one EV-BM833 instead of two&amp;nbsp;NRF DK52833.&lt;/p&gt;
&lt;p&gt;So&amp;nbsp; needed to adjust Flash and RAM, as the EV-Kit is limited.&lt;/p&gt;
&lt;p&gt;DK: 1MB/256kB&lt;/p&gt;
&lt;p&gt;EV: 512kB/128kB&lt;/p&gt;
&lt;p&gt;Simply compiling and starting the debugger renders: Stopped by Vector catch.&lt;/p&gt;
&lt;p&gt;As I did this before, I changed the corresponding settings in the .emProject file:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;      linker_section_placement_macros=&amp;quot;FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x20000;FLASH_START=0x27000;FLASH_SIZE=0x59000;RAM_START=0x20002a38;RAM_SIZE=0x1d5c8&amp;quot;
      linker_section_placements_segments=&amp;quot;FLASH RX 0x0 0x80000;RAM1 RWX 0x20000000 0x20000&amp;quot;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;After that, I could start, but got:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&#x1B;[22D&#x1B;[J[00:00:00.000,000] &amp;lt;warning&amp;gt; nrf_sdh_ble: Insufficient RAM allocated for the SoftDevice.
&#x1B;[22D&#x1B;[J[00:00:00.000,000] &amp;lt;warning&amp;gt; nrf_sdh_ble: Change the RAM start location from 0x20002A38 to 0x20003278.
&#x1B;[22D&#x1B;[J[00:00:00.000,000] &amp;lt;warning&amp;gt; nrf_sdh_ble: Maximum RAM size for application is 0x1CD88.
&#x1B;[22D&#x1B;[J[00:00:00.000,000] &amp;lt;error&amp;gt; nrf_sdh_ble: sd_ble_enable() returned NRF_ERROR_NO_MEM.
&#x1B;[22D&#x1B;[J[00:00:00.000,000] &amp;lt;error&amp;gt; app: Fatal error&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Changing the RAM start to the suggested address (0x20003278) only renders a crash.&lt;/p&gt;
&lt;p&gt;When I also adjust RAM size accordingly (0x1cd88), I also get a crash.&lt;/p&gt;
&lt;p&gt;So I&amp;#39;m stuck here.&lt;/p&gt;
&lt;p&gt;But rather than pursuing to get the new example to run, I&amp;#39;d rather have the original UART example run at 2MBit seeing the required send-latency reduced when using the 2MBit instead of 1MBit. As stated before, switching to 128kBit renders the expected latency-increase of approximately factor 8, so I don&amp;#39;t get, why I cannot get factor 0.5 when switching to 2MBit (in fact, I see no change when doing so, the same latency needs to be applied as with 1MBit to avoid error 19).&lt;/p&gt;
&lt;p&gt;Any suggestions?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nordic UART 2MBit</title><link>https://devzone.nordicsemi.com/thread/376226?ContentTypeID=1</link><pubDate>Fri, 08 Jul 2022 13:00:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b10568b7-35fc-4f69-a394-4517288b6d54</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi Richard&lt;/p&gt;
&lt;p&gt;What SDK version are you using for making thi example project?&lt;/p&gt;
&lt;p&gt;I think the reason you&amp;#39;re not seeing an increase in transmission speed is because you&amp;#39;re using the UART which in this case is likely the bottleneck instead of BLE. The UART operates at 115.200 kbps which is less than you can expect from the 2MBPS (or even 1MBPS) PHY. I would recommend you try out the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/ble_sdk_app_att_mtu.html"&gt;BLE Throughput example&lt;/a&gt; instead, that lets you test the limits of what the 2MBPS PHY can do. There is also a great blog post over on&lt;a href="https://www.novelbits.io/bluetooth-5-speed-maximum-throughput/"&gt; Novelbits on the maximum throughput&lt;/a&gt;&amp;nbsp;in Bluetooth 5&amp;nbsp;where they have used&amp;nbsp;two nRF52840 DKs to test the throughput.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>