[SOLVED] Empty mbOS project

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Empty mbOS project

    I try to use one of Nordic ex running on the SES, in mbOS project.
    The problem is that when I get the mbOS package there is only one Start project dedicate to a specific chipset, with all the peripheral of it. SO when I compine an example of the same chip from Nordic tutorial, I get a lot of duplicate and it is very hard to get all the multiply functions, files ect.
    Is there an Empty mbOS project use only the RTOS files with no specific chip , so it can be combine to an example use one of Nordic chip without the overhead functions. At past when I use IAR there was always an Empty project just for that.
  • Hi bar,

    The embOS for Cortex-M and IAR project you're referring to probably is the generic CMSIS project. Such generic project, of course, is available with embOS for Cortex-M and ES, too. Please find it at $ROOT$/Start/BoardSupport/CMSIS/Generic/Start_CMSIS_Generic.emProject within our most recent embOS for Cortex-M and ES trial and/or regular shipment.

    However, it's also possible to sort out the multiple definition problems by merely excluding the files contained in the folder DeviceSupport of our nRF project(s) from build. Since these are the only vendor specific files within our shipped projects, there should be no collision afterwards.

    Please let me know if I can be of any further help.

    Best regards,
  • Thanks for your help.
    I take out the DeviceSupport folder as you suggest. I try to build it and I get a lot of undifies there.
    I attach the output file.
    For example it can't find __start_nrf_sections in ses_startup_nrf_common.s
    Where it should be , because I also don't know where to look for it?
    Also I don't know which command start the SystemInit() taht start all, because I take out the startup file of the nRF project(segger) but leave the startup of the nordic project. Maybe there is a misdirection in the project file.
    Also lot of undefined that I even can't fine where it been called in the functions.
    DO I need to do something to the main project (the Start of Segger) so itr get all the defines from the Nordic projetc example?
  • Hi bar,

    __start_nrf_section should be defined in the flash_placement.xml of the original Nordic project. Apparently, you're not using that in your combined project (i.e. did not merge the placement files from both projects). The same applies to other symbols, e.g. __end_nrf_sections_run, __stop_log_const_data, __start_log_const_data, __start_log_dynamic_data, or __start_pwr_mgmt_data: they, too, are defined in Nordic's placement file.

    Other undefined references include functions like ble_nus_data_send(), which as far as I'm aware is a Nordic UART service routine, or ble_conn_params_init(), which is part of Nordic's Connection Parameters module. So, apparently, you're missing some files from the Nordic project in your combined project.

    Please note that none of these errors are related to embOS or Embedded Studio, hence we can give limited support only. We therefore suggest to contact Nordic for further information on these symbols and functions.

    Best regards,
  • O.K.
    For the Nordic function I will do it myself.
    For the merge process I need some clarification.
    What I did was 2 things.
    1. Add the include files in the Edit Option after the nRF Project, and I check that it point to the right places.
    2. Add the explorer project view in the some order and with the some folder to the nRF Project and check that it see all c files.
    a.What else I should do to marge those two project (like the xml files) ?Is there a tab I can do it from the Edit Options ?
    b. Is there a user guide specific to show the steps need for margin 1 Project into another in SES?

    When I look after the xml file in the emProject file I notice that in the nRF Project by Segger there is also 2 xml files (nrf52840_Registers.xml, nRF52840_xxAA_MemoryMap.xml) which are not show on the Nordic project. Do I need them for the nRF Project as a structure for the Nordic one?

    The post was edited 1 time, last by bar ().

  • Hi bar,

    If all source files, librararies and include paths from the Nordic project are added to your project, there should be no unresolved references to Nordic API functions.
    In addition, you'd need to merge the flash_placement.xml and possibly the nRF52840_xxAA_MemoryMap.xml. To do so, please right-click on the project and select "Edit section placement" or "Edit Memory Map", respectively, and manually edit the files:

    nrf52840_Registers.xml is a device-specific register definition file. Its usage is recommended for debugging purposes, for it allows Embedded Studio to display device-specific register contents, but is not mandatory. The memory map, on the other hand, is mandatory for linking.

    Best regards,
  • Thank you Martin.
    I try to follow you last explanation but I miss the Edit and Import Section (see attach) How is it?
    • build problem.png

      265.82 kB, 1,920×1,080, viewed 358 times
  • Hi bar,

    Sorry for the delay in reply, unfrotunately I haven't been in office for a few days.

    If "Edit section placement" is not shown in the context menu, that typcially indicates no valid placement file was found or, alternatively, no placement file was specified at all. Therefore, could you please check if the path and file name in "Project options -> Code -> Linker -> Section Placement File" do specify a valid placement file?

    Best regards,