API  2.2
TSmarT Software Library
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Frequently Asked Questions

Programming

  1. Where is the main() function?
  2. Why do you configure some parameters inside the init() function and others outside that function?

Toolchain

  1. What tools does TST recommend?
  2. Do I need to buy any license to work with these tools?
  3. Can I use other tools (IDE, compiler, etc...) than the recommended by TST?
  4. What tools do I need just to flash the compiled binary file into the target board?

FreeRTOS

  1. What is FreeRTOS?
  2. Where do I find the source code?
  3. Where is more documentation available?

Programming

Where is the main() function?

The main function is used as a bootloader by the API to load the operating system and initialize the hardware. Basically the main function creates a task that runs the bootloader sequence, creates another task with the init() function and kills the initial task. From the user perspective, the init function is equivalent to the main function, please place your application code inside the init function.

Why do you configure some parameters inside the init() function and others outside that function?

As a rule of thumb, you have to initialize the hardware resources (e.g. GPS module, ZigBee radio, GPRS modem, UARTs, I/Os, etc...) that you need for your application inside the init function. Sometimes in order to initialize the hardware resouces you have to configure some parameters, therefore that configuration takes place inside the init function. All other parameters for the hardware resources are configured in the corresponding task outside the init function.

Go back to top

Toolchain

What tools does TST recommend?

TST recommends to use Eclipse IDE, OpenOCD debugger, Yagarto tools and Codesourcery GNU compiler:

  • Eclipse: Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. Released under the terms of the Eclipse Public License, Eclipse is free and open source software.
  • OpenOCD: The Open On-Chip Debugger (OpenOCD) aims to provide debugging, in-system programming and boundary-scan testing for embedded target devices. It allows ARM Cortex-M3 based cores like STM32 to be flashed and debugged via the GDB protocol.
  • Yagarto tools are used to execute the makefiles.
  • Codesourcery: GCC compiler.
When you download our SDK, automatically you get all these tools.

Do I need to buy any license to work with these tools?

No, all tools are free to use.

Can I use other tools (IDE, compiler, etc...) than the recommended by TST?

Yes, you can use the tools of your choice as long as they are compatible with our STM32 microcontroller family. Please be aware that TST does not offer support for other toolchains.

What tools do I need just to flash the compiled binary file into the target board?

If you just want to flash a compiled binary file into the target board, you do not need to install the whole toolchain. In this case it is enough to use the ST-LINK tool, which works with the ST-LINK/V2 JTAG programmer included in the TSkiT development kit. You can download this software tool here.

Go back to top

FreeRTOS

What is FreeRTOS?

FreeRTOS is a market leading real time operating system for embedded systems that supports 31 architectures and receives 77,500 downloads a year. It is professionally developed, strictly quality controlled, robust, supported, and free to use in commercial products without any requirement to expose your proprietary source code.

Where do I find the source code?

Please read the instructions at FreeRTOS website. You can download the source code for FreeRTOS here.

Where is more documentation available?

Please visit www.freertos.org.

Go back to top