NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
StarterWare 02.00.00.07 Release Notes
Contents
StarterWare Version 02.00.00.07[edit]
Date: 3 August, 2012.
Document License
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Introduction[edit]
StarterWare 02.00.00.07 provides no-OS platform support for TI AM335x GP EVM, TI AM335x EVM-SK and Beaglebone which are based on TI AM335x SOC. StarterWare 02.00.00.07 provides Device Abstraction Layer, libraries, peripheral/board level sample/demo examples that demonstrate the capabilities of the peripherals of AM335x. StarterWare comes with pre-compiled binaries for bootloader and example applications which can be run from an SD card.
Features[edit]
- Device Abstraction Layer and Example Applications for the peripherals on AM335x as listed in the table below.
Features |
TI AM335x EVM Examples | Beagle Bone (Base board) Examples | EVM-SK Examples |
UART |
|
|
|
High Speed - I2C |
|
|
|
Multi-channel SPI |
|
|
|
DMTimer |
|
|
|
Watchdog Timer |
|
|
|
GPIO |
|
|
|
High Speed MMCSD |
|
|
|
Real-Time Clock (RTC) |
|
|
|
USB |
|
Other examples are not supported due to limitations on beaglebone (baseboard)
|
Other examples are not supported as USB0 port is used used for debugger connection and serial port emulation. |
Ethernet |
|
|
|
McASP |
|
Audio Jacks are not available in BB (base board) |
|
EDMA |
Demonstrated in peripheral level DMA examples |
Demonstrated in peripheral level DMA examples |
Demonstrated in peripheral level DMA examples |
Raster |
|
LCD cape daughter board is not supported in StarterWare |
|
GPMC |
|
No device is connected to GPMC on BB (base board) |
No device is connected to GPMC on EVM-SK |
ELM |
|
No device is connected to ELM on BB (base board) | No device is connected to ELM on EVM-SK |
ECAP |
Available only as part of OOB Demo (LCD brightness control) |
LCD cape daughter board is not supported in StarterWare |
Available only as part of OOB Demo (LCD brightness control) |
DCAN |
|
The DB9 connectors are not available in BB (base board) |
The DB9 connectors are not available in EVM-SK |
TSC-ADC |
|
LCD cape daughter board is not supported in StarterWare |
|
EHRPWM |
|
No device is connected to EHRPWM in BB (base board) |
No device is connected to EHRPWM in EVM-SK |
Bootloader |
|
SPI and NAND flash devices are not available in BB (base board) |
SPI and NAND flash devices are not available in EVM-SK |
Graphics Library |
|
LCD cape daughter board is not supported in StarterWare |
|
Out Of Box Demo |
|
|
|
RTC Only |
Not supported in EVM due to |
Not supported in BB due to 1. External wake is not accessible in BB 2. Silicon issue (Refer errata - Advisory 1.0.5 RTC: 32.768-kHZ Clock is Gating Off) |
Not supported in EVM-SK due to 1. External wake is not accessible in EVM-SK 2. Silicon issue (Refer errata - Advisory 1.0.5 RTC: 32.768-kHZ Clock is Gating Off) |
SGX GFX |
Not supported in StarterWare |
Not supported in StarterWare |
Not supported in StarterWare |
Crypto |
Not supported in StarterWare |
Not supported in StarterWare |
Not supported in StarterWare |
PRU-ICSS |
Not supported in StarterWare |
Not supported in StarterWare |
Not supported in StarterWare |
EMAC- IEEE 1588 |
Not supported in StarterWare |
Not supported in StarterWare |
Not supported in StarterWare |
eQEP |
Not supported in StarterWare |
No device is connected in BB |
No device is connected in EVM-SK |
NOR |
Not supported in StarterWare |
No device is connected in BB |
No device is connected in EVM-SK |
- Ethernet lwIP (a light weight IP stack) Port for AM335X
- MMC/SD Library
- NAND Library
- USB library
- APIs to configure Cache and MMU.
- Support for IRQ Preemption. StarterWare IRQ handler is now prioritized IRQ handler. However, if preemption is not desired, all interrupts can be assigned the same priority level.
- Support for switching between Privileged and Non-Privileged modes.
- Automation test framework for StarterWare.
New in this Release[edit]
- Support for TI AM335x EVM-Starter Kit
- Peripheral level example application to demonstrate UART, HSI2C, McSPI, HSMMCSD, CPSW, USB, DMTimer, WDT, Raster and Touch Screen
- Examples to demonstrate IRQ preemption and Cache/MMU configuration
- Bootloader which support UART and MMCSD Bootmodes
- Graphics Library Demo and Game examples
- Out of Box Demo example using multiple peripherals.
- Cache enabling for Ethernet
- Dual-MAC support for CPSW
- Switch support for CPSW
- Upgradation for lwIP stack to version1.4.0
- New USB Examples
- TI AM335x EVM
- USB Host MSC + Host Mouse example
- USB Composite CDC (serial device) + CDC (serial device) example
- USB Composite CDC (serial device) + Mouse example
- BeagleBone
- USB Host MSC + Device MSC example
- USB Host MSC example
- USB Composite CDC (serial device) + CDC (serial device) example
- TI AM335x EVM
- Stack size change options enabled from IDE for IAR projects
- Removed APIs of unsupported features from the Device Abstraction Layer
- USB error concealment: The USB library is updated to add support for error handling in PIO mode. The error handling for DMA mode of operation is not supported in this release.
Fixed in this release[edit]
Issue Identifier | Issue Description | Issue Resolution |
---|---|---|
SDOCM00090593 | lwip Interface : Phy Autonegotiation Doesnt enable the Transfer mode properly. Also, no advertisement is done for Gigabit. | In /drivers/phy.c, in PhyAutoNegStatusGet() API, replace the line " if(PHY_AUTONEG_INCOMPLETE == (data & (PHY_AUTONEG_STATUS)))" with "if(PHY_AUTONEG_COMPLETE == (data & (PHY_AUTONEG_STATUS)))" |
SDOCM00084262 | UART: UART EDMA example application is not working in FIFO Enabled mode. | Additional APIs implemented to set transmit trigger level for DMA |
SDOCM00086247 | INF file required to support the USB CDC serial device on WIN 7 64 bit host | INF file for USB CDC serial device is added for WIN7 64 Bit support |
SDOCM00091263 | Logical error while configuring horizontal resolution of raster by RasterHparamConfig() API | RasterHparamConfig() API is modified to configure horizontal resolution correctly by shifting MSB of PLL(Pixel per line) filed to bit 3(pllmsb). |
SDOCM00091265 | Logical error while configuring the DMA MasterPriority by RasterDmaMasterPrioritySet() API | RasterDmaMasterPrioritySet() API is modified to configure DMA MasterPriority correctly by clearing DMA MasterPiority bitfileds before setting it and preserving the current contents. |
SDOCM00091782 | DMTimer example uses DMTIMER_INT_OVF_EN_FLAG as an argument to DMTimerIntStatusClear() instead of DMTIMER_INT_OVF_IT_FLAG | In examples/<evmskAM335x><evmAM335x><beaglebone>/dmtimer/dmtimerCounter.c,DMTimerIntStatusClear(SOC_DMTIMER_2_REGS, DMTIMER_INT_OVF_EN_FLAG)" line of code has been replaced with "DMTimerIntStatusClear(SOC_DMTIMER_2_REGS, DMTIMER_INT_OVF_IT_FLAG)" |
SDOCM00092099 | Bootloader uses E_PASS and E_FAIL which are signed for assigning to unsigned variables | Removed E_PASS and E_FAIL definitions from Bootloader. Replaced with TRUE and FALSE respectively |
SDOCM00086180 | Starterware web server takes a long time to start sometimes | Upgraded the httpserver_raw application to latest version |
SDOCM00086319 | Beagle Bone Demo application home web page is not coming consistently, when tested across networks | If DHCP is done the number of times specified in lwipopts.h, if failed. Also, upgraded the httpserver_raw application to latest version. |
SDOCM00092216 | AM335X: USB Control SET transfer to the device with a data payload of exactly 64 bytes fails | Changed the statement if(pDevInstance->ulEP0DataRemain < EP0_MAX_PACKET_SIZE) to if(pDevInstance->ulEP0DataRemain <= EP0_MAX_PACKET_SIZE) in line 1225 of usbdenum.c also modified the comment accordingly |
SDOCM00092289 | Definitions for macro values to McASPRxClkPolaritySet API are wrong in /include/mcasp.h | Macro values are corrected according to TRM |
SDOCM00086390 | Unable to load .out file from IAR IDE. | Code Can be loaded via XDS100 emulator |
SDOCM00093234 | HSMMCSD : SD Card reinsertion doesnt work with example application | Re-initialise state variables and use Card Detect gpio pin to check for card. |
SDOCM00093236 | MMCSD buswidth macro SD_CARD_BUSWIDTH gives wrong value | Removed typecast, as relevant bits get lost because of typecast before shift. |
SDOCM00092816 | GPMC : Missing ~ in front of "GPMC_CONFIG1_0_TIMEPARAGRANULARITY" in GPMCTimeParaGranularitySelect function | Added missing ~ in front of "GPMC_CONFIG1_0_TIMEPARAGRANULARITY" in GPMCTimeParaGranularitySelect function |
SDOCM00092102 | AM335X: USB Documentation; Clarify usage of functions "USBxyInit" and "USBxyCompositeInit" | Updated Documentation/code comments |
SDOCM00091431 | AM335X: Code clean-up is needed to avoid mis-understanding of 'Bulk Tick Handler' is used to process data. | Removed Bulk tick handler registration and USB tick module Initialization |
SDOCM00086202 | Hardware register layer files of peripherals which are not part of AM335x SoC are included in the Starterware release package. | Removed hardware register layer files of peripherals which are not part of AM335x |
SDOCM00086320 | The software implementation of CLZ, NumLeadingZeros() in grlib/string.c, misses a special case: the case of being passed a zero. | Updated the code to add a check that, if the parameter passed is zero, returns 32. |
SDOCM00094185 | CPSW Driver: CPSWCPDMARxIntStatMaskedGet() API reads RX_INTMASK_SET instead of RX_INTSTAT_MASKED register | Corrected the CPSWCPDMARxIntStatMaskedGet() API to read RX_INTSTAT_MASKED register instead of RX_INT_MASK register. |
SDOCM00094186 | Cache Clean/Flush Buffer APIs cleans one extra cache line | Implementation InformationCache Clean/Flush Buffer APIs are corrected to use BLT instruction instead of BLE to check if the last cache line to be cleaned/flushed is reached. |
SDOCM00094198 | DCAN applications are configured to accept CAN frames with Standard Ids only | Configured a Receive message object to accept CAN frames with extended Ids. To configure a message object to accept Extended Id CAN frames the CAN_EXT_FRAME macro has to be passed to function CANMsgObjectConfig as flag |
SDOCM00094205 | Receive objects for CAN frames in DCAN applications are configured to transmit a remote frame | Revmoved the setting of Transmit Request(TxRqst) bit for the receive message object in the DCAN applications |
What is Not Supported[edit]
- Power Management features: EVM(DS2), EVM-SK(DS1, DS2), Beaglebone (DS0, DS1, DS2)
- J-Link Emulator: Using J-Link to download and debug executables with IAR IDE
- Performance Benchmarking: Bench marking for Cortex A8 and peripherals
- Test Automation: Only a basic framework is available and not integrated with VATF and buildforge
- Routing of interrupts to FIQ (Not supported in AM335x GP devices)
- Security Extention Features (Not supported in AM335x GP devices)
- Data Cache Enabling on TI AM335x EVM and BeagleBone Examples
- Demo applications for TI AM335x EVM and BeagleBone enable D-Cache. However stability issues were observed with Power Managment in EVM demo application
- Demo applications for TI AM335x EVM and BeagleBone enable D-Cache. However stability issues were observed with Power Managment in EVM demo application
- Applications using standard malloc/calloc
- StarterWare 02.00.00.07 Startup Code neither call any library nor initializes heap. Hence does not perform initializations required for malloc/calloc.
Known Issues / Limitations[edit]
Issue Identifier | Issue Description | Workaround |
---|---|---|
SDOCM00084263 | McSPI: McSPI is not working at 48MHz, eventhough the flash and the McSPI controller supports operation at 48MHz | The frequency of operation can be kept at 24MHz for SPI Flash access |
SDOCM00086275 | Spurious interrupts generation can happen sometimes and generate an abort and halt the execution. | Dummy ISR is added to handle spurious interrupt during INTC initialization. This ISR just returns to the caller without performing anything. |
SDOCM00090972 | AM335X: Stability issues are observed with USB Multi-instance MSC class scenarios when tested with usb_device_host_msc e.g. | Issue is not observed with increased stack size. However, it is not proven that this issue is related to less stack size provided earlier. |
SDOCM00094144 | In TI AM335x EVM, stability issues are observed with Power Management in Demo Application when D-Cache is enabled | Stability issues were observed in Power Management while Data Cache is enabled. When some sequence changes are made, the issue is resolved, but the root cause is not yet identified. So, if any stability issues are identified, Data Cache can be disabled |
SDOCM00091027 | OPP50 is not supported for Core voltage domain. |
None |
SDOCM00091026 | DS2 is not supported | None |
- If the CodeSourcery installation path contains white spaces, Cygwin may give errors while linking.
Installation and Usage[edit]
- The StarterWare Quick Start Guide explains how the precompiled binary for the demo application can be run on the target
- For detailed user instructions refer to StarterWare User Guide
Dependencies[edit]
Refer to Host Platform Requirements of the User Guide
Device Support[edit]
SOCs Supported:
- AM335X
EVMs Supported:
- TI AM335x EVM Rev 1.1A and above
- TI AM335x EVM-SK Rev 1.2B and above
- Beagle Bone Rev A3
Technical Support[edit]
For further information or to report any problems, contact http://e2e.ti.com