How to write a program for the development board and import it

Recently, I have been researching how to build a UWB indoor positioning system, and I have encountered some problems. The software used in the development board (DWM-1001) is Segger Embedded Studio for ARM. I’m a beginner and haven’t had any experience in this area. So, I would like to ask if there is anyone who can show me how to use it, or have a tutorial link to share with me! I would be grateful!

I will help you with that. First let’s define the environment more precisely. The dwm-1001 has a multitude of sw from different providers. In this page, I have a list of them, and this link is probably the one you’re referring to as it also uses segger studio, but you can confirm

As the segger studio version the samples were designen for is no longer available, I provided the last version I used and the needed modification.

Let me know which version you use, and if you tried to open the project and compile and if you got any error you can paste text or screenshot.

If you want, you can start with simpler examples, here a guide from Nordic for the ses=segger embedded studio

Thank you very much for your reply. These things you gave seem very helpful to me. However, since my basic knowledge is poor and my native language is not English, IT may take me some time to digest or process the knowledge. So, there may be questions to ask you later, or to determine if this is what I need. Thank you very much, I wish you a happy summer vacation and the forum will be better!


我所用的版本如下:SEGGER Embedded Studio for ARM V5.50d(Shown above Non-Commercial License,Whether to activate?)
GCC Version:10.2

OK, no worries about it, I’ll guide you step by step till you get everything up and running.

  • First point, SES needs a very specific version of gcc.arm different than the one you have installed, as that’s what it’s complaining about.

Do you have the version exactly 5.4 2016q3 installed on your machine, look, for example, in my machine, it’s here

in the you have to scroll down the old versions to find it

After you install it, let me know if it fixes your issue and what is the next step you get blocked with.
It might also help me if you mention more about your situation, if you’re a student, a hobbyist or running an own business,…

I am sorry that I have been resting at home for a period of time due to the epidemic. I am so sorry that I did not reply you in time. Today I tried your method, and to my surprise, it worked successfully. Thank you very much indeed! I am a graduate student, and my direction is UWB indoor navigation. SEGGER doesn’t make an error, but I still don’t know much about it, such as what some of the areas it displays mean. Also, how can I use it to compile the algorithm I want and import it into DWM1001-dev. Can you give me some help or a website for me to take the next step?

1 Like

No need to apologize, public forums and open source projects are a cool place, everyone can answer when he has time.
Glad that this first step worked out for you.
In order to progress with higher efficiency, it’s good to first to get info about the basics.
Segger is the company that creates programmers for nRF52 and develop software for the programmer and a full IDE (Integrated Development Environment) that runs on multiple devices including nRF52 and others. The best start point to get familiar with the IDE is the official website (google keywords “segger embedded studio” ) lead you to

From there onwards with a bit of navigation you can find in the online documentation in the support section

That is something you can take the time to read to become a real expert, but admittedly might be a bit overwhelming in the beginning so you might want to start with some classes, they have lots of videos

But you should not “overlearn” things specific to a single vendor or microcontroller brand, in order to be efficient in embedded systems and as complement to your university classes, I recommend reading few books about keywords “Programming Embedded Systems” or “Cross-compiler” “Microcontrollers”,…

The IDE being good for beginners, hide stuff that becomes more complex as soon as you want to do more, that’s when open environment without IDE become more efficient for professionals e.g. “Toolchain, Make, CMake” and as particula example I can recommend “west, Zephyr RTOS”

The examples you found were made for an old version of Segger but it very impractical to start a new project with a deprecated IDE which version is no longer available, so instead of porting to an old version you can port it to the latest version or even consider other environments depending on your Project flexibility

For example, you can read about the open source framework for UWB that I developed and if it is interesting for you, I can give you support until you get it running, but be careful not to deviate from your projects goal if you are under time constraints.

In this section, I even have a survey of existing software for UWB I found so far

Thank you very much for your guidance. I plan to learn about it first according to the materials you gave me. And then focus on learning what I need. I look forward to receiving your advice again in the future.

I wish you a better forum and a happy life!

1 Like

I am sorry that I shelved the development of the equipment while researching the algorithm of indoor positioning. I have one more question I’d like to ask you. In DWM1001, I can’t find where the location algorithm is written. How do I write my algorithm into DWM1001 and make it work? I don’t have relevant hardware development experience, please give me a little more details. Thank you very much!


@AndrewGao this forum is shutting down, I will provide help and support on github discussions, feel free to chose a proper summary of a new topic and post it here in case it is uwb general

and here if it’s UWB for nRF52 on zephyr repo specific