Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Product List
Operating System Slide 5

Several options are provided for managing runtime allocation and freeing of memory. The default is a traditional heap manager that supports variable sized-alloc and free. TI also provides support for multiple memory pools which are fixed-sized blocks of memory that can be allocated and freed quickly at the expense of some wasted memory since all blocks are of a common size. The Log module is used to log internal BIOS state transitions, but can also be used for application logging. Timestamp information is included in the Log module for each log, which allows the logs to be analyzed with host side tooling. Logging is very efficient since the runtime code just stores the raw data which is sent (or read during emulation halt) to the host for rendering. A Startup module is used to help with boot-time device initialization. This module can be used to initialize PLLs and the memory interface early in the boot process, before the app reaches the main() function. The System module provides low level system services like a minimal-footprint printf function. It also supports handling system errors with System_abort() and System_exit() functions. Mutual exclusion APIs are provided by the Gate module and is used to share data and control between different threads.

PTM Published on: 2012-09-05