<?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>FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/60314/fds-not-setting-event-handler-properly</link><description>Hi! 
 
 I am feeling a bit stupid, since I know that I must have made a config error somewhere. I just don&amp;#39;t know where. I am developing a BLE HID device using SDK 16.0 and SD 132. Config has been a breeze, and the device advertises as expected. However</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 23 Apr 2020 09:41:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/60314/fds-not-setting-event-handler-properly" /><item><title>RE: FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/thread/246190?ContentTypeID=1</link><pubDate>Thu, 23 Apr 2020 09:41:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ff65838-78ac-4970-a0f4-69142bedca7b</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;It&amp;#39;s hard to say what it could be without seeing your project. In general, we highly recommend starting out with one of the example projects and not creating the project from scratch. There is a lot of configs in SES that could cause issues, while the example projects have been generated with correct settings and have been tested by us before the SDK releases.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/thread/246154?ContentTypeID=1</link><pubDate>Thu, 23 Apr 2020 07:06:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f0f476cd-7908-4121-b451-6816b0ac4085</guid><dc:creator>Henrik K</dc:creator><description>&lt;p&gt;I created the project from scratch, using the wizard in SES after installing the MDK. The project isn&amp;#39;t exactly share-worthy at the time, especially the BLE handling, and in any case it is working after adding that one line to fds.c in the SDK. It would just have been nice if it didn&amp;#39;t come back to bite me later if I happened to upgrade to a newer SDK and if it didn&amp;#39;t affect other developers. It doesn&amp;#39;t seem that others are affected, so it&amp;#39;s likely just some setting I&amp;#39;ve missed. I&amp;#39;ll get back to you later either if it doesn&amp;#39;t resolve or if I find the problem. Thanks for your responses!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/thread/246087?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2020 14:19:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2348910-53e1-4b52-b42d-146a2684e5d4</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;I&amp;#39;m not able to reproduce the problem with that file in the SDK examples, and it looks OK. Did you create your own project from scratch, or did you start with one of the existing SDK examples?&lt;/p&gt;
&lt;p&gt;Could you upload the full project for us to reproduce and debug this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/thread/245659?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2020 20:05:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fb734cc-b818-4e9e-94a0-6f8854c59233</guid><dc:creator>Henrik K</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for your reply. I am using SES with the following flash_placement.xml.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;!DOCTYPE Linker_Placement_File&amp;gt;
&amp;lt;Root name=&amp;quot;Flash Section Placement&amp;quot;&amp;gt;
  &amp;lt;MemorySegment name=&amp;quot;FLASH&amp;quot; start=&amp;quot;$(FLASH_PH_START)&amp;quot; size=&amp;quot;$(FLASH_PH_SIZE)&amp;quot;&amp;gt;
    &amp;lt;ProgramSection load=&amp;quot;no&amp;quot; name=&amp;quot;.reserved_flash&amp;quot; start=&amp;quot;$(FLASH_PH_START)&amp;quot; size=&amp;quot;$(FLASH_START)-$(FLASH_PH_START)&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;0x100&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.vectors&amp;quot; start=&amp;quot;$(FLASH_START)&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.init&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.init_rodata&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.text&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_ant_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_ant_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_ant_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_ant_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_ble_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_ble_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_ble_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_ble_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_soc_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_soc_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_soc_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_soc_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_state_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_state_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_state_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_state_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_stack_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_stack_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_stack_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_stack_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.sdh_req_observers&amp;quot; inputsections=&amp;quot;*(SORT(.sdh_req_observers*))&amp;quot; address_symbol=&amp;quot;__start_sdh_req_observers&amp;quot; end_symbol=&amp;quot;__stop_sdh_req_observers&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.log_const_data&amp;quot; inputsections=&amp;quot;*(SORT(.log_const_data*))&amp;quot; address_symbol=&amp;quot;__start_log_const_data&amp;quot; end_symbol=&amp;quot;__stop_log_const_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.nrf_balloc&amp;quot; inputsections=&amp;quot;*(.nrf_balloc*)&amp;quot; address_symbol=&amp;quot;__start_nrf_balloc&amp;quot; end_symbol=&amp;quot;__stop_nrf_balloc&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.nrf_queue&amp;quot; inputsections=&amp;quot;*(.nrf_queue*)&amp;quot; address_symbol=&amp;quot;__start_nrf_queue&amp;quot; end_symbol=&amp;quot;__stop_nrf_queue&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.cli_command&amp;quot; inputsections=&amp;quot;*(.cli_command*)&amp;quot; address_symbol=&amp;quot;__start_cli_command&amp;quot; end_symbol=&amp;quot;__stop_cli_command&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.crypto_data&amp;quot; inputsections=&amp;quot;*(SORT(.crypto_data*))&amp;quot; address_symbol=&amp;quot;__start_crypto_data&amp;quot; end_symbol=&amp;quot;__stop_crypto_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.pwr_mgmt_data&amp;quot; inputsections=&amp;quot;*(SORT(.pwr_mgmt_data*))&amp;quot; address_symbol=&amp;quot;__start_pwr_mgmt_data&amp;quot; end_symbol=&amp;quot;__stop_pwr_mgmt_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.log_backends&amp;quot; inputsections=&amp;quot;*(SORT(.log_backends*))&amp;quot; address_symbol=&amp;quot;__start_log_backends&amp;quot; end_symbol=&amp;quot;__stop_log_backends&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.nrf_sections&amp;quot; address_symbol=&amp;quot;__start_nrf_sections&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.log_dynamic_data&amp;quot;  inputsections=&amp;quot;*(SORT(.log_dynamic_data*))&amp;quot; runin=&amp;quot;.log_dynamic_data_run&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.log_filter_data&amp;quot;  inputsections=&amp;quot;*(SORT(.log_filter_data*))&amp;quot; runin=&amp;quot;.log_filter_data_run&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.cli_sorted_cmd_ptrs&amp;quot;  inputsections=&amp;quot;*(.cli_sorted_cmd_ptrs*)&amp;quot; runin=&amp;quot;.cli_sorted_cmd_ptrs_run&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.fs_data&amp;quot;  inputsections=&amp;quot;*(.fs_data*)&amp;quot; runin=&amp;quot;.fs_data_run&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.dtors&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.ctors&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.rodata&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; name=&amp;quot;.ARM.exidx&amp;quot; address_symbol=&amp;quot;__exidx_start&amp;quot; end_symbol=&amp;quot;__exidx_end&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; runin=&amp;quot;.fast_run&amp;quot; name=&amp;quot;.fast&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; runin=&amp;quot;.data_run&amp;quot; name=&amp;quot;.data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;Yes&amp;quot; runin=&amp;quot;.tdata_run&amp;quot; name=&amp;quot;.tdata&amp;quot; /&amp;gt;
  &amp;lt;/MemorySegment&amp;gt;
  &amp;lt;MemorySegment name=&amp;quot;RAM&amp;quot; start=&amp;quot;$(RAM_PH_START)&amp;quot; size=&amp;quot;$(RAM_PH_SIZE)&amp;quot;&amp;gt;
    &amp;lt;ProgramSection load=&amp;quot;no&amp;quot; name=&amp;quot;.reserved_ram&amp;quot; start=&amp;quot;$(RAM_PH_START)&amp;quot; size=&amp;quot;$(RAM_START)-$(RAM_PH_START)&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;0x100&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.vectors_ram&amp;quot; start=&amp;quot;$(RAM_START)&amp;quot; address_symbol=&amp;quot;__app_ram_start__&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.nrf_sections_run&amp;quot; address_symbol=&amp;quot;__start_nrf_sections_run&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.log_dynamic_data_run&amp;quot; address_symbol=&amp;quot;__start_log_dynamic_data&amp;quot; end_symbol=&amp;quot;__stop_log_dynamic_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.log_filter_data_run&amp;quot; address_symbol=&amp;quot;__start_log_filter_data&amp;quot; end_symbol=&amp;quot;__stop_log_filter_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.cli_sorted_cmd_ptrs_run&amp;quot; address_symbol=&amp;quot;__start_cli_sorted_cmd_ptrs&amp;quot; end_symbol=&amp;quot;__stop_cli_sorted_cmd_ptrs&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.fs_data_run&amp;quot; address_symbol=&amp;quot;__start_fs_data&amp;quot; end_symbol=&amp;quot;__stop_fs_data&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.nrf_sections_run_end&amp;quot; address_symbol=&amp;quot;__end_nrf_sections_run&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.fast_run&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.data_run&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.tdata_run&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.bss&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.tbss&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.non_init&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; size=&amp;quot;__HEAPSIZE__&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.heap&amp;quot; /&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;8&amp;quot; size=&amp;quot;__STACKSIZE__&amp;quot; load=&amp;quot;No&amp;quot; place_from_segment_end=&amp;quot;Yes&amp;quot; name=&amp;quot;.stack&amp;quot;  address_symbol=&amp;quot;__StackLimit&amp;quot; end_symbol=&amp;quot;__StackTop&amp;quot;/&amp;gt;
    &amp;lt;ProgramSection alignment=&amp;quot;8&amp;quot; size=&amp;quot;__STACKSIZE_PROCESS__&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.stack_process&amp;quot; /&amp;gt;
  &amp;lt;/MemorySegment&amp;gt;
&amp;lt;/Root&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In the project option Memory Segments is set to &amp;quot;FLASH RX 0x0 0x80000;RAM RWX 0x20000000 0x10000&amp;quot;&lt;/p&gt;
&lt;p&gt;There&amp;#39;s also an auto-generated MemoryMap.xml:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;!DOCTYPE Board_Memory_Definition_File&amp;gt;
&amp;lt;root name=&amp;quot;nRF52832_xxAA&amp;quot;&amp;gt;
  &amp;lt;MemorySegment access=&amp;quot;ReadOnly&amp;quot; name=&amp;quot;FLASH&amp;quot; size=&amp;quot;0x00080000&amp;quot; start=&amp;quot;0x00000000&amp;quot; /&amp;gt;
  &amp;lt;MemorySegment access=&amp;quot;Read/Write&amp;quot; name=&amp;quot;RAM&amp;quot; size=&amp;quot;0x00010000&amp;quot; start=&amp;quot;0x20000000&amp;quot; /&amp;gt;
  &amp;lt;MemorySegment access=&amp;quot;Read/Write&amp;quot; name=&amp;quot;CODE_RAM&amp;quot; size=&amp;quot;0x00010000&amp;quot; start=&amp;quot;0x00800000&amp;quot; /&amp;gt;
&amp;lt;/root&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If I remember correctly, both of these were generated when creating a new project using the MDK.&lt;/p&gt;
&lt;p&gt;Henrik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FDS not setting event handler properly?</title><link>https://devzone.nordicsemi.com/thread/245561?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2020 13:24:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7eb9d7aa-7320-45a6-9c17-695034c375dc</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The only thing that comes to mind is that this could be related to the section-config.&lt;/p&gt;
&lt;p&gt;Which compiler are you using? If using SES, can you upload your flash_placement.xml file, or linker script for ARMGCC?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>