Index

MityDSP Software Release Notes



March 26, 2012
MDK Version 2.11.0
Core Version 1.11.0
  1. Fixed a bug in tcDspI2C2 base class driver for I2C core version 2.0. The tcDspI2C2::read() failed to return a gnI2C_NO_ACK when a device failed to ACK the read request.
  2. Added a tcDspAwgDual class (based off of tcDspAwg), for controlling a dual Arbitrary Waveform Generator FPGA core.
  3. Added RECONFIG_CLOCKS macro in dsp_macros.h to support the MityDSP_Pro. It supports the following frequencies: CPU_FREQ_600MHZ, CPU_FREQ_800MHZ, CPU_FREQ_1000MHZ, and CPU_FREQ_1200MHZ.
Bootloader Version 4.7.0
  1. Added support for tcp_sendflash command to upload complete FLASH image to a remote server via a simple TCP/IP protocol.
  2. Added support for xmodem_sendflash command to upload complete FLASH image to a PC connected via serial port connection.

MityGUI Version 4.0.6
  1. Add support for tcp_sendflash to extract FLASH image from connected MityDSP.
  2. Fixed up state machine logic for flash image upload to properly close dialogs.



Nov 1, 2011
MDK Version 2.10.1
Core Version 1.10.1
  1. Fixed a bug in tcDspI2C2 base class driver for I2C core version 2.0. A TSK_lock handle was being used before it was initialized, resulting in unpredictible behavior.



Sep 21, 2011
MDK Version 2.10.0
Core Version 1.10.0
  1. Added tcDspI2C2 base class driver for I2C core version 2.0. Left tcDspI2C intact to support legacy I2C version 1.x cores fielded.

Bootloader Version 4.6.1
  1. Fix a bug that occurred when a HSUSB port connection is made and the UART interfaces show no activity (e.g., are quiet / pulled down). Bugzilla #2020


Jun 22, 2011
MDK Version 2.9.2

MityGUI Version 4.0.5
  1. Added the NIC IP address to the selection combo Bugzilla #2008.

Core Version 1.9.1
  1. Fixed a bug in the tcDspRomFs::open function where errors were returning error codes instead of just -1. This caused file descriptors to get used up after fopen returned with an error, eventually making it impossible to open any new files. Error codes are indicating by setting errno instead. Bugzilla #2006.
  2. Fixed a bug in tcDspRomFs::lseek that caused any seek on a file, including an attempt to "rewind" the file to the beginning, to just seek all the way to the end of the file. Bugzilla #2006.
  3. Updated DspMacros.h to change the internal PLLM output from 600 MHz to 400 MHz in the RECONFIG_CLOCKS macro. This alters the available CPU frequencies that may be used by the DSP (most importantly, 150 MHz is not an option anymore). This change is necessary due to a recent lot of MityDSPs that no longer function reliably with 600 MHz PLLM outputs. It appears to be a silicon issue at TI, but has not been confirmed. Applications using this macro should be rebuilt and redeployed using the DspMacros.h file in this release.
  4. Updated constructor for DspCameraLink to handle cases where code is reloaded or initialized but the FPGA Camera Link core is active. Bugzilla #2002.
Ggui Version 1.3.2
  1. Fix but where GGUI was computing invalid region of text, leading to failure to update the display region that may have changed. Bugzilla #2005.


Jan 20, 2011
MDK Version 2.9.1

MityGUI Version 4.0.4 (4.0.3 was internal release)
  1. Added the ability to launch the MityGUI with a command line argument containing an ini file. (ex: MityGUI.exe –i “C:\Program Files\Alstom\TestFixtureGui\bin\MityTF.ini”)
  2. New ini parm: mbHideGUI – will hide the gui from the user so that it can be run from another program
  3. New ini parm: mRestartTimeoutmS – timeout value in which the gui will close if a target is never connected
  4. New ini parm: mnStatusX, mnStatusY – if the gui is hidden then the status messages are displayed in a dialog box, so the calling program has feedback
  5. Added the ability to run the batch command to only download the app file and the fpga file
  6. Added an error code to be returned by the MityGUI when it closes
  7. (4.0.3) Fixed bug in ethernet interface seleciton causing app to always use first listed interface.
  8. (4.0.3) First time log is displayed, position it next to main window
  9. (4.0.3) Fix tab order in ethernet options dialog
Core Version 1.9.0
  1. Updated DspNetClientHttp::query to delete ssl context when connect fails and resolve a memory leak. Bugzilla #1944
  2. Updated DspNetClientHttp::query to handle upload (post) of large packets over a slow link. Bugzilla #1942
  3. Changed order of CL000104 OLED init commands to enable last.
  4. Added methods to tcDspBootloader to support flashing images directly from buffers (in addition to decoding from supplied hex files, which require a working filesystem).
  5. Added tcDspDac9881 Core.
  6. Added tcDspBiosDebug class.
  7. Added IssueReset command to tcDspAds8329 class.
  8. Added Reset bit to CSR for the tcDspLcd Register Map.
  9. Added GetCount method to tcDspCircularIndex class. Bugzilla #2001
Ggui Version 1.3.1
  1. Add SetBaseColor() and EnableScreen() to tcGuiFramework class.
  2. Fixed bug in tcGuiCheckBox draw routine selecting wrong image for checked state.
  3. Added the tcGuiCanvas object for custom drawn controls.
  4. Added the tiGuiScreenManagerIface for the framework to communicate events (screen saver state) back to the application
  5. Added set_text_font() function to gui_object in order to programatically set an object's text font using the name of a font in the filesystem.
SigProc Version 0.3.1
  1. Added MityDSP-Pro configuration.
All libraries built with Code Generation Tools 6.1.13 and DSP/BIOS 5.33.06


March 16, 2010
MDK Version 2.9.0

Core Version 1.8.3

  1. Updated VTR bitfield to correct Vertical Front Porch Timing bug in LCD Display Core. Bugzilla #1904
  2. Updated tcDspCameraLink to be more robust with respect to aborting a camera capture. tcDspCameraLink::AbortCapture() now takes an optional parameter to flush the message queue on the abort. Bugzilla #1897
  3. Changed tcDspAdcBase::SetCaptureLength so the base function does not change an odd length when in packed mode.Bugzilla #1874
  4. Changed tcDspAdc9235::SetCaptureLength to adjust the capture length if it is odd and it is packed mode. The tcDspAdc9235::SetPack method was also changed to adjust the length if needed when entering packed mode. Bugzilla #1874
  5. Added a general-purpose class (tcDspAutoLCK) to automatically let go of a LCK in a LCK_pend()/LCK_post() pair. See core/DspAutoLCK.h
  6. Added a general-purpose class (tcDspCircularIndex) to help manage a circular index. see core/DspCircularIndex.h
  7. Corrected UART settings to support SPACE and MARK parity settings Bugzilla #287
  8. Added DspLcdTimings.h to provide sane settings for Touchscreen and LCD panels built by Critical Link, LLC
  9. Updated tcDspTouchscreen class to support sending display commands and GPIO commands on shared Display SPI bus
  10. Fixed problem with MityDSP-PRO interrupt vectors exceeding 7 Bugzilla #1915
Net Version 2.5.2
  1. Fix bug in rfb server preventing it from binding to a specific network interface.
  2. Add addr[MAX_HTTP_ADDR_LEN(=32)] field to tsHttpdParams to allow user to bind web server to a specific network interface.
  3. Fix bug in telnetd server to perform basic option negotiation to work better with more clients. Echo is the only option that is really understood.Bugzilla #1896
SigProc Version 0.3.0
  1. Fix problem with ExtractDualRealFFT. Bugzilla #1766
All libraries built with Code Generation Tools 6.1.13 and DSP/BIOS 5.33.06


November 6, 2009
MDK Version 2.8.2

Bootloader Version 4.6.0

  1. Compile with LwipBootloader.lib (built with optimizations for codesize) in order to fit within default 0x60000 bytes allocation in FLASH. Bugzilla #1863
GGUI version 1.3.0
  1. Added scroll_page(), add_str_front(), and remove_last() functions to the tcGuiListbox widget. These functions facilitate efficiently working with listboxes with many entries that may be changing frequently (such as log viewers).
  2. Added a "home view" to the guiFrameWork class that allows the user to set up a single view as the "home view" within the framework which can be returned to by calling ShowHomeView().
  3. Added the ability for tcGuiLabels to wrap text when they contain a long string.
Core Version 1.8.2
  1. Updated tcDspTimingGenerator to support payload bit overriding. Bugzilla #1870
Net Version 2.5.1
  1. Remove key_id (optional) field from SNTP packet changing size from 52 to 48 bytes.
  2. Remove include of sntp.h from DSPNetStack.h to reduce header dependencies.
  3. Make LinkUp a virtual method in tcDspNetPhy so phy-specific classes can determine link state in the most efficient manner for the phy. Added bool tcDspPhyMicrelKS8995::LinkUp() phy-specific overload to use SPI interface to get link status directly instead of going through the MII.
Tools
  1. Added methods to support reading floating point and hex numbers in a timing file variable
Bootloader GUI Version 4.02
  1. Fixed bug with network adapter selection logic.Bugzilla #1872.
All libraries built with Code Generation Tools 6.1.12 and DSP/BIOS 5.33.03


October 16, 2009
MDK Version 2.8.1

Core Version 1.8.1

  1. Fixed bug in tcBootloader.


October 8, 2009
MDK Version 2.8.0
Net Version 2.5.0
  1. Added remote frame buffer (tcRFB) class object to support VNC connections to MityDSP.
  2. Created tcDspNetPhy class and subclasses for handling PHY interface mechanism a little cleaner.
  3. Added support for VLAN tagging to lwip network interface class.
Lwip Version 1.3.4
  1. Added support for Micrel KS83348 managed switch PHY and VLAN tagging and tagging removal in lwip port.
Bootloader GUI Version 4.01
  1. Fixed bug with manual edit of path names Bugzilla #1777.
  2. Fixed bug causing extra baud rates added to serial connection settings dialog Bugzilla #1827.
GGUI version 1.2.0
  1. Added tcRFBIface interface class to support VNC connections to GGUI controlled LCD Framebuffer.
  2. Added set_bitmap function to gui_image to support loading of images off a filesystem device.
  3. Added a hook in the tcBench class to enable gui objects to request the framework's update rate. This allows for objects to animate themselves for specific periods independent of the framework's update rate.
  4. Added a "blink" method in tcGuiLamp to allow for lamp objects to turn from one state to antoher after a specified period of time.
  5. Added support for fonts in 8-bit per pixel depth for antialiased text drawing.
  6. Added the ability for a button to be disabled using set_enabled(false) on a button object. This feature uses an additional state in the button image strip.
  7. Fixed a bug in the tcGuiDspDisplay::drawFillRect method that could not honor the clipping region correctly when the display was not rotated.
  8. Reworked framework to use TinyXML library instead of expat for size reduction.
  9. Reworked XML processing to have each object decode it's own attribute tags and allow for future widget design without needing to modify the bench class.
Core Version 1.8.0
  1. Added tcDspFtdiVNC1 Core for dual-host USB support.
  2. Added tcDspFtdiUsbFs Core for USB filesystem support.
  3. Updated Camera Link core to support new timing interfaces (version 1.09 of firmware). Bugzilla #1221
  4. Added tcDspTimer::enabled() method.
  5. Updated tcDspSerial to fix a bug in the calculation of the baud rate divisor. Bugzilla #1844
  6. Updated tcDspLcd::tsLCDConfig structure to include fields for swapping horizontal and vertical scan dircetions. This field is only supported for panels to support this option.
  7. Updated tcDspFont to recognize if a .MFN file is a standard 1-bit per pixel font, or an antialiased 8-bit per pixel font.
  8. Added tcDspBootloader class. First revision.
  9. Added methods to tcDspConfig to support getting offset and size information for FPGA images, CLUB images, and the bootstrapper image.
  10. Added method to DspAdc8402 to get the latest clocked sample from the part.
Display Emulator version 0.03
  1. Updated application to use Plastique mode and support resizing LCD panel. Bugzilla #1839


June 4, 2009
MDK Version 2.7.0 Core Version 1.7.0
  1. Changed SCRATCHPAD_OFFSET to 18 and SCRATCHPAD_LENGTH to 56 to support storing Bootstrapper Version information in scratchpad. Bugzilla #1759
  2. EzUSB core modified to correctly disable interrupts when out of RX DMA buffers. This corrects a data drop issue on inbound packets that overflow the FPGA receive FIFO. Fixed during investigation of Bugzilla #1767
  3. Reworked Timing Generator Compiler to be more modular to support inclusion into other design software. Bugzilla #1756
  4. Updated Timing Generator code to support version 1.02 of the firmware. This provides up to 10 bits of Program Space at the price of reduced alternate jump table size. Bugzilla #1762
  5. Update EzUSB core to align allocated Tx and Rx DMA buffers along CACHE_L2_LINESIZE boundaries. Bugzilla #1767
FATFS Version 0.6.2
  1. Modified to allow for 64K cluster size which is needed for 4GB partitions in FAT16. Bugzilla #1771
GGUI version 1.1.1
  1. Modified to properly support clipping regions during invalidation cycles from GUI framework. Bugzilla #1719
Bootstrapper Version 1.3.0
  1. Add support for zlib compressed image extraction for DSP images. Note: this feature is currently only supported for MityDSP and MityDSP-XM platforms. It is not yet supported on the MityDSP-PRO platform. Bugzilla #1772
  2. The bootstrapper now writes it's version number and version date information to the first two words of the base module scratch RAM after loading an application and prior to launching it. This will allow retrieval of the bootstrapper version number from the bootloader and the main application. Also copies the remainder of the scratchpad memory from old loaded to newly loaded fpga. Bugzilla #1179
Bootloader Version 4.5.0
  1. Add trailing newline to Waiting for HEX file status text to support the high speed USB interface. Bugzilla #1732
  2. Add preliminary support for the high speed USB core into the bootloader. Bugzilla #1553
  3. Add optional TimeOut field for ipsetup DHCP command. Clear IP settings prior to running a DHCP request (via ipsetup dhcp command) in order to avoid nominal timeout issues with pickier routers. Bugzilla #1697
  4. Add support for catching compressed DSP images and writing them to FLASH without byte swapping the data. This is an alternative to byte swapping the gzipped image prior to converting to an intel hex file.
  5. Initialize ethernet receive thread priority to 1 higher than stack priority. Bugzilla #1760
  6. Fix number of bytes written on bootstrapper flash operation. Bugzilla #1773
Net Version 4.5.0
  1. Fix MityDSP-PRO on-board MAC network driver bug with short packets (<64 bytes).
  2. Enable on-board MAC network driver if no FPGA ethernet driver is detected during polling.
Tools, Gel Files, and Templates
  1. Improved/updated cache flushing routines in all GEL files (except MityDSP_L1_Reset.gel).
  2. Added the watchdog disabling routine to all non-L1_Reset GEL files.
  3. Disabled automatic EMIF & PLL initialization in all non-L1_Reset GEL files - must now be manually issued via GEL Hot Menus. (IMPORTANT FOR PRODUCTION)
  4. Non-L1_Reset GEL files may now be used in all known use cases (eg. development & production). The L1_Reset GEL files may now be phased out of general use. These files can and probably will be deprecated in a future MDK release.
  5. All line items in regard to Bugzilla #1725
  6. New version of MityGUI with compression support.
Bootloader GUI Version 4.01
  1. Application ported to Qt 4.5 framework in order to support future feature growth and legacy compiler issues.
  2. Capability to reprogram Bootstrapper and FLASH full image added to Admin level options for image downloads. This requires bootloaders > 2.0 to be loaded in the MityDSP prior to utilizing. Bugzilla #1260
  3. Capability to compress Application and Bootloader DSP images for download using internal ZLIB option. Note: downloading compressed images requires the bootstrapper from MDK version 2.7 or high to be loaded in order to decompress the images. Bugzilla #1758 and #1097
  4. Capability to connect to a MityDSP using the High Speed USB interface added. Bugzilla #1757
  5. Added timeout option to DHCP configuration to bootloader IP settings. Bugzilla #1606
  6. Added display for Bootstrapper version and FPGA in the GUI. This will only work with bootloader/strapper images from MDK 2.7 and higher. Bugzilla #1759
  7. Added support for multiple network interface cards. Bugzilla #1188
  8. Added preliminary support for Windows Vista 32 bit operating system. Bugzilla #1622
All libraries built with Code Generation Tools 6.1.10 and DSP/BIOS 5.33.03


March 17, 2009
MDK Version 2.6.0 libPNG
  1. Initial port Bugzilla #1709
Core Version 1.6.0
  1. The tcDspMmc read_sector() method was failing to read the trailing CRC from the device. Occasionally, the unread CRC would match the "ready" pattern and the device would be marked ready prematurely. Some devices would then fail the following read attempt when this occurred. Bugzilla #1691
  2. The tcDspStorageCache read() method now properly returns the correct byte count when a sector read from the physical device fails. Bugzilla #1689
  3. Added tcDspAd56x5 Module for Analog Devices AD56x5 digital to analog converters.
  4. Added ISR support to tcDspMmc class when a card detect GPIO is provided. Bugzilla #1708
  5. Updated DspFirmware get_version_info_internal method to correctly function with TI Code Generation Tools 6.1.X. Bugzilla #1714
  6. Added tcDspAdc1278 Module for TI ADS1278 24 bit 8-channel analog to digital converter support over McBSP interface. Bugzilla #1700
  7. Added tcDspAdc834xMcBsp class for interfacing to TI ADS834x series 16 bit multi-channel analog to digital converters over McBSP interface.
  8. Added tcDspAdc7844 class for interfacing to TI ADS7844N analog to digital converter over McBSP interface. Bugzilla #1696
  9. Updated tcDspSerial::get() method to allow passing in an optional timeout field to support blocking serial port reads. Applications can now elect to poll or wait on serial port received data. Bugzilla #289
FATFS Version 0.6.1
  1. Changed max device count to 3 for FATFS devices. This is the max that the OS will support. Also checking return value of OS call so failures can be detected. Bugzilla #1706
  2. Added RemoveFATDriver function for removal of FAT devices. Bugzilla #1707
Tools, Gel Files, and Templates
  1. Install CPU load task hook function (cpu_load_hook_function from Core library) by default. Bugzilla #1690
All libraries built with Code Generation Tools 6.1.8 and DSP/BIOS 5.33.03


February 11, 2009
MDK Version 2.5.0 Core Version 1.5.0
  1. Modified tcDspGpio to allow setting output pins from within an ISR. Bugzilla #1685
  2. Added methods to tcDspSerial to retrieve transmit and receive FIFO depths. Bugzilla #1645
  3. Added an interrupt driven alarm queue to tcDspClock1305G core. Bugzilla #1613
  4. tcDspMmc modified to detect and properly initialize 2GB and 4GB SDC cards. Note that this does not include SDHC cards. Bugzilla #1550
Network Version 2.4.0
  1. Corrected coding error dealing with adding or removing MAC filters for multicast. Even before this fix, the code generally worked as intended. Bugzilla #1592
  2. Fixed tcTelnetd class to comply with RFC 854 (control characters) and RFC 857 (support of remote echo control). Bugzilla #1634
  3. Used netif_access to locate certain fields in a netif structure. This makes the Network library independent of the following lwipopt.h settings: LWIP_DHCP, LWIP_AUTOIP, LWIP_SNMP, LWIP_IGMP, LWIP_NET_HWADDRHINT. Bugzilla #1647
  4. Added set_timeout() method to tcDspNetClientHttp to adjust the default HTTP timeout, if required. Bugzilla #1673
Lwip Version 1.3.3
  1. Added netif_access function to the lwIP library porting layer. This allows the Network library to access netif structures regardless of the build settings used in lwipopts.h. Bugzilla #1647
GGUI Version 1.1.1
  1. Correct text and label drawing bug due to lack of correct text box calculation and bug with | operator of internal tcRect class. Bugzilla #1672
FATFS Version 0.6.0
  1. Corrected error in cluster offset computation in FAT_read and FAT_write that was causing corruption in large files. Bugzilla #1549
Tools, Gel Files, and Templates
  1. Corrected MityDSP-XM template to create task stacks and DSP/BIOS objects in SDRAM_UPPER (where heap exists). Bugzilla #1632
  2. Added L1 cache flushing functionality to MityDSP50.gel and MityDSP50XM.gel. Bugzilla #1538
All libraries built with Code Generation Tools 6.0.21 and DSP/BIOS 5.33.03


October 27, 2008
MDK Version 2.4.0
Core Version 1.4.0
  1. Added tcDspBufPool to provide an automatically-size, semi-static (created once and never deleted) buffer pool manager for MityDSP applications. Buffers up to 64 Kbytes are supported. Bugzilla #1494
  2. Modified tcDspMmc to allow additional time for sector writes to complete. The original amount of time allowed was found to be insufficient on occasion with some SD cards. Bugzilla #1167
  3. Added tcDspStorageProxy to allow storage devices with large sector sizes to be accessed as if they have smaller sector sizes, perhaps for use with a FAT filesystem. Bugzilla #1430
  4. Fixed bug in tcDspError::report that could result in buffer overrun condition with long debug messages. Bugzilla #1507
  5. Allow tcDspStorageProxy to pass cache flush commands through to the proxied device. Bugzilla #1526
  6. Rewrite macros in string_extras.h as inline functions. This prevents accidental use on constant strings (and also requires use of MityDSP namespace). Bugzilla #1518
Network Version 2.3.0
  1. Added simple FTP server daemon. Requires both lwIP and FAT filesystem support. Bugzilla #1475
  2. General clean up of WINS daemon, removing problematic header files and hidden use of the DSP/BIOS LOG_printf function. Bugzilla #1493
  3. Added the RNFR/RNTO commands to the FTP server. These commands allow clients to rename files on the server. Bugzilla #1525
Lwip Version 1.3.2
  1. Corrected debug print formatting in porting layer. Bugzilla #1428
  2. Corrected memory corruption issue observed when closing TCP server sockets. Bugzilla #1474
  3. Corrected potential NULL-pointer reference in sockets.c. Bugzilla #1523
FATFS Version 0.5.0
  1. Truncation of a file greater than 1 cluster long could corrupt the file itself, and possibly the FAT table. FIlesystems created with FATFS v0.4.0 and earlier should be reformatted to correct potential issues. Bugzilla #1524
tinyXML Version 2.5.3
  1. Port of the tinyXML library for the MityDSP. This library supports parsing of XML files, as well as creatng an internal Document Object Model (DOM). Bugzilla #1437
Bootloader Version 4.3.1
  1. Don't allow traffic from other Bootloaders/applications to interfere with an established Ethernet session. Bugzilla #1429


September 2, 2008
MDK Version 2.3.0
Core Version 1.3.0
  1. Updated DSP camera link core to support using FPGA based DMA transfer engine to move frame data directly to SDRAM for increased camera link throughput. Bugzilla #1327
  2. Added tcDspEzUsb class to support new EZ-USB interface. Bugzilla #1350
  3. Added tcDspClk1305G class to handle interface to a frequency adjustable firmware clock baced upon RFC-1305, Appendix G. Bugzilla #1364
  4. Added comments for tcDspCameraLink usage description. Bugzilla #1178
Network Version 2.2.0
  1. Updated tcNetDrvr_B to support multiple MAC filters in firmware. This allows IGMP and multicast support. Bugzilla #1363
Lwip Version 1.3.1
  1. Enabled IGMP support in lwIP by default. Bugzilla #1363
  2. Enable AUTO_IP support by default. Documented additional lwipopts.h fields that may not be changed without rebuilding the Net library. Bugzilla #1420
PTPd Version 1.0.0
  1. Library added to provide support for IEEE-1588, otherwise known as Precision Time Protocol. Used in conjunction with RFC-1305 clock core and firmware timestamping of message packets, time synchronization with errors approaching one microsecond can be achieved on a local network. Bugzilla #1369
FATFS Version 0.4.0
  1. Correct issue where a corrupt FAT table could lock the target CPU. Bugzilla #1295
Bootloader Version 4.3.0
  1. Allowed firmware images to be as large as necessary. The only limitation is that they must fit within 1 bank (1MB for MityDSP, 4MB for MityDSP-Pro). Bugzilla #1305
Bootloader GUI Version 3.9
  1. Remove (incorrect) check of MAC address in GUI. The embedded bootloader code was already properly checking allowable addresses. Bugzilla #1367


May 23, 2008
MDK Version 2.2.1
XySSL Version 0.9.1
  1. Fixed memory leak in tcSslDefaultHelper. Bugzilla #1290


May 20, 2008
MDK Version 2.2.0
Core Version 1.2.0
  1. Updated DSP camera link core to support reading from alternate FIFO location (e.g., support reading in burst mode from CE2 space). Bugzilla #1214
  2. Updated DSP camera link core to support frame decimation control register. Bugzilla #1219
  3. Updated documentation in tcDspRtcBase to clarify ranges on day of month, hour, minute, and second fields. Bugzilla #1220
  4. Added cpu_load_hook_function, to allow CPU load visualization via the DSP/BIOS Hook Manager's thread hook function. Bugzilla #1205
  5. Updated DspMacros.h RECONFIG_CLOCKS MACRO to only allow changing CPU speed, correctly handle speeding up or slowing down CPU speed, and correctly identifying MityDSP-XM memory topologies in all scenarios. Also added harmless write to FPGA to ensure FPGA DCMs are locked following a PLL reset (if it was required). Bugzilla #1253
  6. Corrected error in LVDS interrupt service routine that was allowing stalls to occur under heavy load. Bugzilla #1281
Network Version 2.1.0
  1. Modified tcDspNetClientsHttp to provide support for secure connectios (HTTPS). This is accomplished through use of an SSL "helper" class based on the pure virtual base class tcDspNetClientsSslHelper. This allows applications that do not require HTTPS to not include the overhead of the XySSL library. Bugzilla #1255
  2. Worked around bug introuduced by TI with Code Generation Tools 6.1.2. Their own "errno.h" header must be included after any DSP/BIOS header files. Bugzilla #1283
Lwip Version 1.3.0
  1. Worked around lwIP "ping of death" (IP fragmentation) bug by increasing size of IP_FRAG_MAX_MTU in lwipopts.h. Bugzilla #1215
  2. Updated to official lwIP 1.3.0 from "release candidate" version. Bugzilla #1194
XySSL Version 0.9.0
  1. Imported XySSL open source project v0.9.0 and ported to MityDSP environment. Bugzilla #1254
  2. Added a default SSL "helper" class, derived from tcDspNetClientsSslHelper, for use with tcDspNetClientsHttp to provide support for https: connections. Bugzilla #1255
FATFS Version 0.3.0
  1. Added IOCTL FATIONOATIME to disable access time updates for read-only files. This is most useful when working with a flash based filesystem to eliminate unneccessary writes to the device. Bugzilla #1206
  2. Fixed bug in FAT_open where it was returning error codes other than -1. The BIOS runtime assigns the return value from FAT_open to the file descriptor in the _ftable array. It uses the magic value -1 to determine if the entry if free. Bugzilla #1279
Bootloader Version 4.2.4
  1. Corrected error that was causing all application FPGA images to get written to the FLASH location defined for the first application. Bugzilla #1265
  2. Removed check that was only allowing application FPGA images to be written to FLASH bank 0 for the MityDSP-Pro. Bugzilla #1265
Bootstrapper Version 1.2.0
  1. Modified build procedure for compatibility with TI's new Code Generation Tools (v6.1.2) Bugzilla #1284


April 2, 2008
MDK Version 2.1.1
Core Version 1.1.1
  1. Corrected stall in tcDspQdma (impacts MityDSP-Pro only). Bugzilla #1207
  2. Corrected handling of Transmit and Idle interrupts in tcDspLvds. Bugzilla #1191
GGUI Version 1.1.0
  1. Fix scroll bar enable logic in the tcGuiListBox class. Bugzilla #1183
Bootloader Version 4.2.3
  1. Added parameter to default .ini file to enable Ethernet features by default. Bugzilla #1187
  2. Corrected cut and paste error between BlinkLeds and SendArp threads. Bugzilla #1204


March 5, 2008
MDK Version 2.1.0
Network Version 2.0.0
  1. Separated lwIP (3rd-party) library from the MityDSP network library. Imported the latest lwIP code baseline and re-wrote the porting layer. The lwIP source code and project file is now provided in all MDK distributions so end users may modify lwipopts.h (config file) as needed and rebuild the library. Bugzilla #317
  2. Combined the network drivers and network interface support from the previous Net library and combined it with the Clients, Httpd, Wins, and Telnetd libraries. Some include path, library dependencies, and application code changes are required. See the FAQ's for detailed porting instructions. Bugzilla #317
  3. Re-architected the network interface layer to improve significant inefficiencies in the previous design. Bugzilla #1058
  4. The new architecture also addressed issues with (now unnecessary) intermediate ring buffers. Bugzilla #1055
  5. New driver code maintains strict adherence to TI's SPRU656, Cache User's Guide. This addresses cache coherency issues reported with the previous code. Bugzilla #1057
  6. HTTP read_buffer timeout was reduced. Corrections were also made to both HTTP code and lwIP which should prevent future deadlocks. Bugzilla #1024
Lwip Version 1.3.0
  1. Separated lwIP (3rd-party, open source) code from the remaining Network Library. Full source code and project file now provided in all MDK releases to allow user customization of lwIP library (usually via changes to the lwipopts.h file). Source code baseline captured from lwIP CVS head as of 12/11/2007. Bugzilla #317
  2. New lwIP code addressed issues with the first packet to a new address being lost, possible data loss in tcp_receive, and a stall when under heavy IGMP load. Bugzilla #688, #964, #1067
Core Version 1.1.0
  1. Added base version of tcDspCameraLink class. Bugzilla #1037
  2. Fixed wrap around bug error in tcDspCircBuffer class. Bugzilla #1062 Bugzilla #293
  3. Added pre-initialization function _cl_int00 to the library to address issues with non-initialized global variables. The ISO standard requires these variables be set to zero, but the TI compiler is non-compliant (and requests to TI to address the issue were denied). While all MityDSP code does not depend on this feature, some 3rd party or legacy code does. Note that use of this function is required with the 3rd-party lwIP library! See the core library documentation for detailed instructions on using this function. Bugzilla #1093
  4. Fixed tcDspTouchScreen class to initialize touch semaphore in constructor. Added method to retrieve tcDspTouchScreen touch semaphore. Bugzilla #1101
  5. Corrected error in QDMA processing which could cause DMA transfers to stall. This impacted only the MityDSP-Pro. Bugzilla #1139
  6. Increased EDMA ISR processing speed for the MityDSP-Pro by up to 16x. Bugzilla #1142
  7. Added tcDspLvds class to provide access to the MityDSP LVDS interface core. Bugzilla #1028
  8. Added tcDspRomFs, a ROM/FLASH file system driver hook for DSP/BIOS. Bugzilla #1068
eXpat Library Port
  1. Initial port of the eXpat XML processing library. Bugzilla #1064
GGUI Version 1.0.0
  1. Baseline delivery of graphics user interface library and framework. Beta. Bugzilla #1143 Bugzilla #1059 Bugzilla #1060 Bugzilla #1061
SigProc Version 0.2.0
  1. Added BFFT, BitRev, FFFT, FFFT2, FFTRECRS, and RDFT functions. Moved #include files that were is the "src" directory to the "inc" directory. Bugzilla #1075
Bootstrapper Version 1.1.1
  1. Reduce EMIF turn-around time to zero for MityDSP-Pro (no penalty for this with the 645x DSP architecture) Bugzilla #1171
Bootloader Version 4.2.2
  1. Assigned a default MAC address when an unprogrammed board is detected (MAC set to 00:00:00:00:00:00) Bugzilla #1071
  2. Ported to use latest lwip and network libraries. Bugzilla #317
Tools, Gel Files, and Templates
  1. Updated make_romfs.exe utility to generate files readable/usable by the tcDspRomFs class in the DspCore library. Bugzilla #1068
  2. Added guiDisplayEmulator tool to allow PC development of GGUI graphics screens. Bugzilla #1143
  3. Added MityDSP-PRO template and updated MityDSP and MityDSP-XM templates to default the L2 RAM to cache. Bugzilla #1130


November 1, 2007
MDK Version 2.0.1
Core Version 1.0.1
  1. Allowed sufficient time for MMC block writes to complete. Bugzilla #1051
  2. Corrected potential loss of sync when performing a SPI receive. Bugzilla #1051
  3. Corrected a potential loss of data when the SPI TX FIFO became full. Bugzilla #1050
  4. A potential deadlock was corrected in tcDspSpi. This bug could only manifest itself during the first SPI write with tcDspSpi managing chip selects for multiple devices. Bugzilla #1048
  5. Corrected error in tcDspMcBsp and tcDspSpi that was allowing multiple devices to be simultaneously chip selected when the bus was shared. Bugzilla #1041
  6. Added utility methods for printing board types (strings) and revs to the tcDspConfig class. Bugzilla #1035
  7. Added new macro to DspMacro.h to configure CPU and EMIF rates, updated FAQ to reference macro. Bugzilla #1000
Network Version 1.0.1
  1. Corrected buffer conflict when using multiple instances of tcNetDrvr_B. Bugzilla #1052
  2. Added support and example code for use of the Micrel KS8995 PHY with integrated 5-port managed switch. Bugzilla #1030
  3. Added tcDspNetIFConfigUtil class and example code for use with the MityDSPLocator GUI tool. Bugzilla #1032
  4. Added sys_thread_unregister method. This method may require additional regression testing but has been provided for initial use. Bugzilla #1001
Bootstrapper Version 1.1.0
  1. Corrected issue with configuration of external interrupt pins. Bugzilla #1033
  2. Changed SDRAM refresh rate to 32 ms for MityDSP XM parts due to errata from SDRAM vendor. Bugzilla #1000
Bootloader Version 4.1.0
  1. Changed SDRAM refresh rate to 32 ms for MityDSP XM parts due to errata from SDRAM vendor. Bugzilla #1000
Bootloader GUI Version 3.8
  1. Removed deprecated CPU/EMIF speed setting from Config panel. Bugzilla #1046
  2. Corrected issue with lost data when running serial interface at high data rates (above 115.2 Kbaud). Bugzilla #1031


September 21, 2007
MDK Version 2.0.0 Core Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
  2. Moved ADC FIFO locations to support DMA's to/from the MityDSP-Pro. Bugzilla #1017
  3. Added methods to tcDspStepper to control step sizes and current level used to drive motor. Bugzilla #1015
  4. Updated tcDspFlash to use timers rather than loop delays. Added macros to ensure FLASH command read/writes occurred sequentially on MityDSP-Pro. Bugzilla #1008
  5. Modified the screen manipulation routines in tcDspDisplay to use the default screen ID if none is provided. Bugzilla #995
  6. Modified string_extras.h so it can be used with C or C++ source code. Bugzilla #990
  7. Addes tcDspStorageCache, which provides a simple read/write cache for devices derived from tcDspStorageBase. Bugzilla #989, #1005
  8. Added parameter to tcDspQvga16 class to handle portrait mode devices (scanned on the shorter axis first) in addition to landscape mode devices (scanned on the longer axis first). Bugzilla #987
  9. Added tools to generate custom fonts for the tcDspFont class to the tools area of the MDK. Documentation and examples are included for this "FontGen" program. Bugzilla #975
  10. Added ability to have draw fonts with transparent backgrounds to tcDspFont. Bugzilla #974
  11. Added further documentation to tcDspSpi Bugzilla #973
  12. Added tcDspMmc class to control MMC storage devices via the MityDSP SPI interface. Derived from tcDspStorageBase. Bugzilla #966, #1004
  13. Created base class for all MityDSP storage devices (tcDspStorageBase). Reworked tcDspAta and tcDspFlash classes to be derived from this new base class. This required some rework to the existing tcDspFlash sector map, although it has been made backwards-compatible for all existing FLASH devices. Bugzilla #965
Network Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
  2. Added ability to control network mailbox depth through tsDSPNetStackInit structure. This provides additional buffering in high-traffic applications. Bugzilla #1025
  3. Moved tcNetDrvr_B FIFO locations to support DMA's to/from the MityDSP-Pro. Bugzilla #1017
  4. Corrected issue where buffers could become corrupted due to improper handling of return values from functions. This fix was preventative only, no cases of these issues actually occurring has been observed. Bugzilla #977
Network Clients Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
HTTPd Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
Telnetd Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
WINS Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
Zlib Version 1.0.0
  1. Library now supports MityDSP-Pro. Bugzilla #1006
Camera Version 0.7.0
  1. A callback was added to allow application notification when an image capture is aborted. Bugzilla #986
  2. The discard time for masked areas is now stored with the timing information. Bugzilla #985
  3. Accessors added to get the vertical and horiztonal shift speeds for the camera. Bugzilla #984
Bootstrapper Version 1.0.3
  1. Built for 1 MB of IRAM so the Bootstrapper will work with either the TI 6454 or 6455 processor. Bugzilla #1022
  2. Version rewritten to support either MityDSP or MityDSP-Pro. Bugzilla #1006
  3. Made use of new tcDspFlash features to query FLASH information. Bugzilla #965
Bootloader Version 4.0.4
  1. Built for 1 MB of IRAM so the Bootloader will work with either the TI 6454 or 6455 processor. Made use of new MityDSP-Pro template file to configure DSP/BIOS for the Bootloader. Bugzilla #1022
  2. This version supports either MityDSP or MityDSP-Pro. Bugzilla #1006
  3. Made use of new tcDspFlash features to query FLASH information. Bugzilla #965
Bootloader GUI Version 3.7
  1. Corrected button label spelling errors. Bugzilla #963
  2. Corrected issues handling USB-to-serial bridge connections. USB connections are now handled in the same manner as all other serial connections, since the Windows(tm) drivers make the devices look like a UART. Bugzilla #1011


June 19, 2007
MDK Version 1.12.2
Core Version 0.15.0
  1. Removed obsolete DspRtc.cpp and DspRtc.h files from MDK. Bugzilla #950
  2. Rather than write directly to a frame buffer, created a tcDspDisplayDriver base class to provide a consistent interface to all display devices. Derived the specific class tcDspQvga16 from this base class to support a quarter VGA 16-bit color LCD panel. Modified tcDspDisplay to interface to the new tcDspDisplayDriver base class. Bugzilla #928
  3. Added the ability to register an ISR callback in tcDspGpio. This is more flexible and consistent with other core library classes. The existing semaphore based notification is still supported. Bugzilla #927
  4. Added tcDspTouchScreen class to support for 4-wire touch screen overlay. Bugzilla #641
  5. Modified tcDspDisplay class to use new DMA interface to frame buffer. Bugzilla #640
  6. Added interface to new FPGA DMA interface (tcDspFpgaDma), required for new display frame buffer. Bugzilla #639
Network Version 0.12.0
  1. Corrected error where DSPNetDHCP would keep launching new timer threads whenever multiple network interfaces were used, or when DHCP was stopped and then restarted. Bugzilla #953
  2. Corrected errors with raw socket interface (other protocol layers were corrupting packets received by a raw socket). Bugzilla #943
  3. Fixed broken LWIP LOG_printf statement. Bugzilla #931
Network Clients Version 0.4.1
  1. Explicitly checked for remote socket closure in tcDspNetClientHttp internal read_line method. Bugzilla #914
Critical Link Camera Version 0.6.1
  1. Added additional variables to the CamTimingBase class to support additional timing control. Bugzilla #961
  2. Added "shutter" callbacks. An application may register a callback to run just before the shutter opens, and just after it closes to perform specific processing. Bugzilla #960
  3. Added the capability to specify multiple CCD readout code instructions (up to 8). Added the ability to specify the sequence that each up these (up to 8) sets of readout codes is used when a multiple image acquisition is being performed. This sequence can be up to 16 long and repeats when it reaches the end. Bugzilla #959
  4. Modified the temperature and cooling thread to use a PID loop to drive the CCD temperature to a target value while still enforcing maximum temperature rate of change limits of the device. Bugzilla #958
Bootstrapper Version 0.5.2
  1. Modified tcDspFlash to not return bank select to zero if compiled for the Bootstrapper. This fixes an issue where FPGA images outside of FLASH bank zero could not be loaded. Bugzilla #926
Bootloader Version 3.2.4
  1. Detected DP83848 PHY and put it into auto-MDIX mode. Bugzilla #938
  2. Corrected inconsistent return code from "ipsetup" command which was causing the GUI to incorrectly report failures. Bugzilla #923
Bootloader GUI Version 3.6
  1. Corrected issue where download buttons may not be activated when using Ethernet with a static IP address. Bugzilla #923
  2. Moved default application ID to the configuration screen and only downloaded it when the configuration datai was sent to the MityDSP. Bugzilla #957


May 9, 2007
MDK Version 1.12.1
Core Version 0.14.1
  1. Modified tcDspFlash to attempt to complete a read request even if bank selection fails. This supports the Bootstrapper, which must still read from FLASH before firmware (and the bank selector is loaded). An error code is still returned. Bugzilla #911
Bootstrapper Version 0.5.1
  1. Rebuilt Bootstrapper to use latest tcDspFlash, which will complete a read request even if bank selection fails. Note that the FLASH bank should already be positioned in bank 0 when the Bootstrapper runs. Bugzilla #911


May 4, 2007
MDK Version 1.12.0
Core Version 0.14.0
  1. Allow "EDMA_OPT_PRI_ANY" to be passed into tcDspQdma functions as a valid priority. This will cause the tcDspQdma class to first attempt to obtain a hig-priority channel, and if this fails, attempt to obtain a low-priority channel. Bugzilla #868
  2. The constructor in the tcDspDacTlv5610 class was not waiting for DAC initialization to complete before de-asserting chip select. This has been corrected. Bugzilla #802
  3. Added tcDspAdc8329 class to support the Burr-Brown ADS8329 analog to digital converter. Bugzilla #774
  4. Added registerGlobalInputSemaphore to tcDspGpio class to allow an application to provide a semaphore to be posted whenever any other registered GPIO input semaphore is posted. This assists with monitoring of multiple events simultaneously. Bugzilla #759
  5. Removed obsolete class tcDspMcbspTxi from library. Bugzilla #724
  6. Removed unnecessary semaphores in tcDspFirmware which could have caused a deadlock if pended on in an ISR. Bugzilla #689
  7. All tcDspFlash operations return bank select to zero, reducing the chances of a reset starting from the wrong FLASH bank. Bugzilla #680
  8. Fixed error in tcDspIntDispatch that allowed the software to be susceptible to spurious interrupts. Bugzilla #653
  9. Added an optional user parameter to all existing callback functions in order to allow an application to provide an arbitrary value when the callback is activated. One potential application is to register a "this" pointer so a member function of a class instance may be dispatched as a callback. This change impacted tcDspAdcBase, tcDspCounter, tcDspI2C, tcDspPulseIntegrator, tcDspRamBlock, tcDspSerial, tcDspSpi, tcDspTimingGenerator, and tcWatchdog. Bugzilla #618
  10. Added tcDspThermBase class to provide a consistent method of computing and storing temperatures for thermistor devices. Also added derived class tcDspThermERTJV1G ispecifically for ERTJV1G devices. Bugzilla #617
Critical Link Camera Version 0.5.4
  1. First external release of the Critical Link Camera support library.
Network Version 0.11.0
  1. Corrected error in LWIP that would allow a thread to hang indefinitely if the memory allocated to TCP messages was ever exhausted. Bugzilla #864
  2. Fixed an internal bug in DspNetClientHttp which was miscounting the number of characters returned by a server in response to a query, sometimes resulting in a communications failure. Bugzilla #803
  3. Added GetPhyType() and GetPhyStatus() methods to tcNetDrvr_B class to provide information on the type of PHY in use, and the status of the link. Bugzilla #676
  4. Added assertion to sys_thread_new to ensure that all LWIP threads are created at a lower priority than the stack itself. Bugzilla #675
  5. Correct tcp output longevity problem associated with continuous transmission of packets on a maintained tcp socket that may include odd length packet sizes. Bugzilla #622
  6. Correct return code for send() calls of tcp sockets that employ MSG_DONTWAIT or the IO_NODELAY ioctl and are able to send some (but not all) of the requested message block. Bugzilla #591
  7. Original LWIP code declared some variables as "long" or "unsigned long". On the 67xx a "long" is 40-bits, rather than 32. These declarations have been changed to int32 or uint32. Bugzilla #517
Network Clients Version 0.4.0
  1. Fixed problem with timeouts due to the use of the time() function, which is not functional when the emulator is not present. Bugzilla #751
  2. Corrected potential hang during HTTP operations by providing a timeout. Bugzilla #529
Bootloader Version 3.2.3
  1. Added additional diagnostics and status checks to catch failed FLASH writes. Bugzilla #668
  2. Updated maximum firmware size and other configuration block checks for the MityDSP-XM version. Bugzilla #638
  3. To support firmware debug, the MityDSP Bootloader application monitors the serial port cores and re-initializes them if it detects that a new version of firmware has been downloaded via the emulator. Bugzilla #589
  4. Allow Application Data sections with zero size. Bugzilla #533
  5. Added advanced command ("fwrev") to print out revision information for selected firmware cores. Bugzilla #513
Zlib Version 0.1.0
  1. First release of the MityDsp Zlib Data Compression library.


November 15, 2006
MDK Version 1.11.0
  1. New default GEL file (MityDSP_L1_Reset) for debugging. Automatically disables watchdog (if enabled) upon connection and halt. Flushes L1 cache upon file load.
Core Version 0.13.0
  1. Corrected issue with chip select usage within the tcDspRtcDS1305 interface class. Bugzilla #503
  2. Provided software access to new firmware base-module features (base module version, watchdog, scrathpad memory). Bugzilla #496
  3. Made sure that tcDspConfig and Bootloader handled conversion of older FLASH configuration blocks in exactly the same manner. Bugzilla #425
  4. When the McBSP chip select scheme was modified as part of MDK 1.9, an error was introduced where chip select could be released too soon following an attempt to write to a device through the McBSP. This caused certain devices (such as the DAC7616) to behave in an unreliable manner. The McBSP status register is now properly checked to ensure that all bits have been written prior to releasing chip select. Bugzilla #424
Net Version 0.10.0
  1. Corrected LOG_printf with too many parameters (caused a garbled trace log entry in the debug library). Bugzilla #397
  2. Added Non-Blocking support for sockets api send() call (lwip_send). If the socket is NONBLOCKING (via ioctl) or is send() uses the MSG_DONTWAIT option, send() will return immediately if there is no buffer space left in the stack (EWOULDBLOCK condition) or the socket has a terminal error condition (e.g., has been reset or closed by the peer, etc). Also added needed support for getting the errno, as well as adding a lasterr(int sock) method for thread safety as well as use the TSK_seterr() method. Bugzilla #464
Network Clients Version 0.3.0
  1. Corrected potential hang during DNS lookups. Bugzilla #497
Bootloader Version 3.1.5
  1. Corrected issue where multiple MityDSP's starting at once could end up communicating to each other, rather than the Downloader GUI. This impacted Ethernet connections only. Bugzilla #488


September 18, 2006
MDK Version 1.10.0
  1. Added "-mi10000" compiler switch to all libraries to ensure that interrupts may not be disabled by the compiler for more than 10000 clocks (100usec @ 100MHz, or 50usec @ 200MHz). Bugzilla #408
Core Version 0.12.0
  1. Added class (tcDspFpgaIir) to control the Quad Infinite Impulse Response (IIR) FPGA core. Bugzilla #360
  2. Modified tcDspParserBase and tcDspParseIHex to allow portability to Windows(tm) environment. This allows the same parser code to be used on both sides of a PC to MityDSP interface. Bugzilla #371
  3. Added a user parameter to the parser callback in tcDspParserBase. This allows the application to provide information or additional parameters to the parser callback. Bugzilla #372
  4. Modified the SetWaveformSamples method in tcDspAwg to account for discontinuous waveforms properly (e.g., a ramp). The change is backwards-compatible with the initial implementation, which only allowed for continuous waveforms (e.g., a sine). Bugzilla #382
  5. A provided type definition to read ADC and SPI FIFOs was 5-bytes long instead of 4-bytes. Using this structure with DMA transfers would cause incorrect data to be read. The structure size has been corrected. Bugzilla #399
  6. Reboot hanging up, Level 1 cache needed to be flushed. Bugzilla #401
  7. Support new interrupt vector mask. This allows interrupts to be installed and enabled in any order. Bugzilla #327
Net Version 0.9.0
  1. Fixed releasing a semaphore after it was deleted, causing a lock-up. Bugzilla #400
Network Clients Version 0.2.0
  1. Added provision for optional header fields to POST command. Bugzilla #390
  2. When posting large amounts of data, break message into managable-sized chunks. Bugzilla #395
  3. Corrected error where return data from POST was being placed in the wrong location. Bugzilla #396
Signal Processing Version 0.1.0
  1. Added a flathead window function.
Bootloader Version 3.1.4
  1. Fix potential hang-up if no network device is available and socket handle is not initialized to something sane. Bugzilla #406


July 6, 2006
MDK Version 1.9.0
Core Version 0.11.0
  1. Added class (tcDspAwg) to control the Arbitrary Waveform Generator (AWG) FPGA core. Bugzilla #352
  2. Updated McBSP interface class to handle managing a configurable chip select latch for multiple devices (if provided). Also added an optional LCK object to the constructor to provide thread-safe operation. Added a feature to the Write method to support waiting for completion of current transmit before returning. Modified the tcDspOutputLatch header to define the logic state for latch assertion and release. Modified the following McBSP device classes for compatibility with the above changes: tcDspCs552x, tcDspDac7616, tcDspTlv254x, tcRtcDS1305. Bugzilla #346
  3. Updated SPI interface class to handle managing a configurable TX latch for multiple devices (if provided). Also added an optional LCK object to the constructor to provide thread-safe operation. Bugzilla #345
  4. Added an optional latch and ID to tcDspDac8534 to support multiple devices connected to the SPI interface. Bugzilla #344
  5. Added class to support the AD420 Digital Current Loop Converter via the MityDSP SPI interface. Bugzilla #339
  6. Added class to support the TLV5610 DAC via the McBSP interface. Added a base class for DACs using the McBSP for commonality with the DAC7616. Bugzilla #340
  7. Removed obsolete tcDspChipsel class. The tcDspOutputLatch template should be used in all cases. Bugzilla #353
  8. Added convert_time methods to tcDspRtcBase to allow conversion between a tsCLTime structure and seconds since the start of the current epoch. Bugzilla #347
  9. Updated the tcDspAdc8343 class with some small enhancements and to fix a minor bug (setting the "flip bit" - for 2's complement output - was not being done in the constructor). Bugzilla #342
  10. Corrected corrupted core name text in tcDspFirmware.h. Only an aesthetic bug. Bugzilla #341
  11. Fixed tcDspAdcBase class to not clear BurstComplete when setting other control attributes (e.g., Enable, FIFOPack, channel mask, etc). Bugzilla #351
Net Version 0.8.0
  1. Changed TCP Window Size to 2920 (two full 1460-byte packets) in order to cut down on missed packets with servers capable of serving packets at the full 100 Mbps rate. Bugzilla #364
Bootloader 3.1.3
  1. Alert GUI at initialization of bad config is detected. Implement all default values when creating a config for the first time. Completed remaining checks for bad board configiurations. Bugzilla #354
  2. Added support for TCP image download, via the TCP_PROCESS command. Bugzilla #357
  3. Worked around issue where a router was stealing the MityDSP's initial ARP and redirecting the Downloader GUI to an invalid location. Bugzilla #337
  4. Added reset of EMIF and L1 cache flush to Bootstrapper. Also added a GEL file to perform an L1 cache flush when using the emulator. Bugzilla #359, 126, 282
  5. Corrected error with non-existant parameters being parsed. Allowed HTTP downloads to be more forgiving of server errors. Bugzilla #365
  6. Added board ID filters to Downloader GUI to limit connection to a range of board ID's when connected via Ethernet. Bugzilla #349
  7. Modified Downloader GUI to write temporary files only to the startup directory. Bugzilla #355


May 15, 2006
MDK Version 1.8.1
Core Version 0.10.1
  1. Corrected issue in tcBootstrapper class that was allowing downloads to get corrupted. A cache operation was not being allowed to complete before copying the Bootstrapper to SRAM. Bugzilla #335
Bootloader 3.0.5
  1. Rebuilt against Core v0.10.1 to address unreliable download issue. Bugzilla #335


May 11, 2006
MDK Version 1.8.0
Core Version 0.10.0
  1. Added tcDspBootstrapper class to reactivate CLUB Bootstrapper to load a new executable (effectively a software reset). Bugzilla #306
  2. Added new include directory for CLUB files (inc/boot). The configsect.h header now lives in this area (removed from top-level inc). Bugzilla #315
  3. Updated tcDspConfig to work with new v3 configuration blocks. Reads and internally converts v2 blocks to v3 format. Added support for multiple application data areas, retrieving the default application ID, and accessing a static copy of the full config block (always in v3 format). All previously existing methods are fully backwards compatible. Bugzilla #318
  4. Added tcDspAdc8402 to support Burr Brown ADS8402 devices. Bugzilla #324
  5. Updated interrupt handling code to deal with register race condition and force disabling of intergrator prior to reading data. Resolves intermittent errors seen during continuous operation. Resolves Buzilla #332
Net Version 0.7.0
  1. Corrected UDP/TCP checksum issue. Depending on buffer alignment, certain messages were sent with incorrect checksums. Bugzilla #316
  2. Updated TCP Maximum Segment Size to be the more "standard" 1460 bytes, rather than 1024. This resulted in a small performance increase. Bugzilla #310
  3. Version 0.6.0 added DMA capability directly to the net_drvr_b ISR. Unfortunately, the class to handle the DMAs (tcDspQDMA) is a singleton... a class that automatically creates an instance the first time it is called. The previous code did not guard against the ISR being the first caller, so creation could occur in the ISR. This is illegal, since malloc/new operations are not permitted in an ISR. This resulted in corruption of one of the internal locks around heap, which manifested itself downstream with various unexpected behaviours. This is now corrected. Bugzilla #319
  4. The LWIP stack now sends a gratuitous ARP at initialization, and whenever its IP address is changed. Bugzilla #320
  5. DHCP could fail because of a check to ensure that the IP address offered by a DHCP server was not already in use. The DHCP server itself could respond to the ARP probe of the address, making the MityDSP think the address was invalid. The extra check has been removed. Bugzilla #321
  6. Corrected bug for out-of-sequence FIN handling (TCP messages were corrupted when the remote side closed the connection before LWIP finished processing all the data). Bugzilla #325
  7. Fixed LWIP code for producing a gratuitous ARP. The ARP is actually broadcast to all users instead of just itself. Bugzilla #328
  8. Fixed deadlock in LWIP code that could occur under heavy load. A queue was written with an indefinite timeout by the same thread that was responsible for reading the queue. If the queue became full in the meantime, the thread would lock up. Bugzilla #329
Bootloader 3.0
  1. Now known as CLUB (Critical Link Unified Bootloader). The previous Bootloader is split into a separate Bootstrapper and Bootloader. The Bootstrapper runs in SRAM and is responsible for copying and activating SW and FPGA code. The Bootloader is now a full fledged application with enhanced features (inluding ethernet download) Bugzilla #75


April 21, 2006
MDK Version 1.7.0
Core Version 0.9.0
  1. Added modem controls to tcDspSerial Bugzilla #260
  2. Added "Flip Bit" (2's compliment) support to tcDspAdc8343 class. Bugzilla #288
  3. Added additional format option (meOutputFormat) to tcDspError. Bugzilla #291
  4. Added baseline version of tcDspPulseIntegrator Bugzilla #215
  5. tcDspAdcBase class modified to handle 8 channel devices. The existing tcDspAdv8343 class will now work with ADC8344 devices. Bugzilla #256
  6. Modified tcDspFlash so only BOOTLOADER-specific code is to enable bank 0 writes. Bugzilla #301
  7. Corrected tcDspFlash to work properly with RoHS parts. Bugzilla #297
  8. Added a base class for generic parsing capability (tcDspParseBase), as well as a derived class to parse Intel HEX files. Bugzilla #298
  9. The setBank method of tcDspBankSelect now returns "true" only if the proper bank is indicated by the firmware. Bugzilla #307
Net Version 0.6.0
  1. Added rudimentary NTP client. The client will return a time_t value representing the seconds since the start of the epoch as set by the NTP server, ignoring network delays. Bugzilla #281
  2. Added ability to retrieve nameserver addresses from DHCP server and store them in the netif data structure. Bugzilla #270
  3. Changed FD_SETSIZE to increase number from 16 to 64. Bugzilla #300
  4. General clean-up of net_drvr_b code. Updated MII read routines to match firmware implementation. Scheduled DMA transfers directly within ISR in an attempt to improve throughput (requires one less context switch). Bugzilla #245, #249, and #302
  5. Add PHY address as a parameter to GetMIIRegister and SetMIIRegister in net_drvr_b. Default of 0 provided for backward compatibility. Bugzilla #308
Network Clients Version 0.1.0
  1. Added ability to get host IP from nameserverBugzillia #280
  2. Added a simple HTTP/1.0 client capabilityBugzillia #286
  3. Added minimal HTTP/1.1 support so that GET requests may select a byte range to transfer. Required to support code download via web servers. Bugzilla #296
  4. Corrected memory corruption error in the read_line method of tcDspNetClientHttp. Bugzillia #303


March 30, 2006
MDK Version 1.6.1
Core Version 0.8.1
  1. Corrected a stall in tcDspStepper due to velocity being allowed to go to zero. Bugzilla #278
  2. Corrected documentation errors with tcDspAdcBase, tcDspCounter, tcDspI2c, tcDspSpi, tcDspPulseIntegrator and tcDspRamBlock. Bugzilla #272
Net Version 0.5.0
  1. Added DSPNetDHCP.cpp to provide better support for DHCP with MityDSP. Updated documentation to show example of usage Bugzilla #255
Signal Processing Version 0.0.1
  1. Bugzillia #273


March 23, 2006
MDK Version 1.6.0
Core Version 0.8.0
  1. Updated tcDspQDMA class to allow usage directly from an ISR. Bugzilla #187
  2. Added tcTmp0506, a class to provide access to the TMP05/06 temperature sensors. The class is derived from tcDspRamBlock. Bugzilla #252
  3. Added a base class (tcDspRamBlock) to support the RAM Block interface to be used by simple MityDSP firmware cores. Bugzilla #251
  4. Fixed DspConfig GetAppDataOffset() and GetAppDataSize() methods to return unsigned integers as they now return byte offsets and sizes instead of sector offsets and sizes. Resolves Bugzilla #243.
  5. Added tcDspRtcM41T81, a derived tcDspRtc class to support the M41T81 real-time clock. Bugzilla #242
  6. Corrected issue with some code usage examples being cut-off in the documentation Corrects Bugzilla #241
  7. Added tcDspDac8534 to provide support for the DAC8534 digital-to-analog converter using the generic SPI interface. Bugzilla #238
  8. Added tcDspSpi, a generic I2C interface (transmit only) Bugzilla #233
  9. Added tcDspI2c, a generic SPI interface (transmit only) Bugzilla #231
Signal Processing Version 0.0.0
  1. New Library, SigProc.lib and SigProcD.lib added which provides support functions for the TI digital signal processing libraries as well as optimized vector math libraries not included in the TI processing suite.
  2. Added tcSigProcNoise to provide utilities for generating uniform and gaussian noise data.
  3. Added tcSigProcTIDSPSupport to provide utilities for: generating FFT twiddle factors needed by the TI FFT routines, generating bit reversal tables needed for using the optimized TI complex bit-order reverse routines, utilities for extracting dual real time FFT spectra from a combined complex FFT operation.
  4. Added tcSigProcVector to provide utilities for fast conversion of 16 bit integer vectors to floating point vectors. Added optimized methods for performing vector multiplications and additions.
  5. Added tcSigProcWinFunc to provide generalized methods for generating floating point windowing functions (Blackman, Hamming, Hanning) using in signal processing applications.
  6. Added project files and version.cpp file for managing revision history to libraries.


February 24, 2006
MDK Version 1.5.0
Core Version 0.7.0
  1. Added DspCounter class for use with the new Event Counter core. Support for quadrature counters is also provided by this class. Resolves Bugzilla #72.
  2. ADC Base class rearchitected to better support family of high speed ADC's. Superset of features added to base class, while derived classes disable features that don't apply. Rather than making the end user register an interrupt handler, the interrupts are automatically handled, and hooks are provided to allow applications to add specific functionality by registering ISR callbacks. Resolves Bugzilla #196.
  3. Added derived high speed ADC class to support the 8343 ADC. Resolves Bugzilla #236.
  4. Updated Real-Time Clock (RTC) class to allow support for multiple devices. Old DspRtc replaced with a base class (DspRtcBase) and a derived class for the DS1305 RTC (DspRtcDS1305). Resolves Bugzilla #222.
  5. Fixed issue with chip select not being released properly within DspTlv254x. Replaced old chip selector interface with the more flexible DspOutputLatch method. Resolves Bugzilla #213.
  6. Added the option to have DspError report timestamps in msec since boot, rather than HH:MM:SS (which is only valid when running the emulator or with a RTC and a custom clock routine). Resolves Bugzilla #216.
  7. Stepper interface class updated after final baseline testing with firmware class and' available hardware. Move, Reset, Sleep, Abort, SetParams, Locate, Seek, and count/position commands tested with TS1 and TS2 terminal switches. Overshoot/iterate logic for locating switches TS3-TS7 (not terminal switches) not tested with this delivery. This drop Resolves Bugzilla #176.


January 23, 2006
SDK Version 1.4.0
Core Version 0.6.0
  1. Updated DspFlash to use the Common Flash Interface (CFI), allowing this class to be used with multiple Flash devices. Resolves Bugzilla #143
  2. Added DspPwm to provide interface to new PWM core module. Resolves Bugzilla #101
  3. Removed call to log error file name/line numbers to LOG_obj in DspError. replaced with a application-defined (optional) callback. Resolves Bugzilla #185
  4. Fixed bug with DspSerial that can result in stalls on transmits. Resolves Bugzilla #186
  5. Added Beta version of Stepper interface class. This drop is an initial build to address Bugzilla #176. However, complete functionality is not yet implemented. Supported methods include the ::Move command and the ::SetPulseParams. Methods involving locating or seeking switch positions are unimplemented; therefor the associated Bug is not yet resolved.
Net Version 0.4.0
  1. Fixed Bugzillia #88 - Applications hang or crash if the Ethernet cable is unplugged while an active TCP connection exists.
  2. Added an assertion check if a thread is registered with the TCP/IP stack which has a higher priority than the TCP/IP thread.
  3. Added a field to the tsDSPNetStackInit structure so that the TCP/IP priority may be application adjusted by the DSPNetStackInit() function. Previously the TCP/IP thread was hardcoded to be priority 5, which can cause problems since all threads which access the socket interface must be a lower priority than the TCP/IP thread.
  4. Added a field to the tsDSPNetStackInit structure so that an application specified assertion hook function may be specified. This allows users with the binary only library to trap LWIP assertions in debug builds without having the source code to place a breakpoint in. Note: When an LWIP assert is called, the function jumps to the DSP BIOS abort() function and the callstack is not available in the debugger. This hook allows the user to see the call stack and/or the assert message with file name and line number where the assertion occured.
  5. Synched up with LWIP CVS. Two fixes came from the synch...
    File: core/tcp_in.c CVS Version: 1.57
    Description: Duplicate FIN ACK race condition fix by Kelvin Lawson.
    Note: Did not take version 1.56 changes... ...Introduced cc.h formatters and removed SO_REUSE from transport layers.
    File: core/tcp.c CVS Version: 1.50
    Description: Remove PCBs which stay in LAST_ACK state too long.
    Note: Did not take version 1.49 changes... ...Introduced cc.h formatters and removed SO_REUSE from transport layers.


November 17, 2005
SDK Version 1.3.2 (also known as "Build 0a")
Core Version 0.5.0
  1. Added DspIntDispatch to provide the capability to have multiple ISR's on each of the external interrupts (4-7). Bugzilla #92.
  2. Updated DspGpio and DspSerial to use DspInterruptDispatch.
  3. Added support for automatic interrupt level and vector determination in DspGpio and DspSerial (new firmware feature).
  4. Added support for reading/writing the new interrupt vector masks in DspFirmware (part of Bugzilla #92).
  5. Also added support for reading the automatic interrupt level and vector information from each core to DspFirmware.
Net Version 0.3.0
  1. Updated net_drvr_b to use DspInterruptDispatch (Bugzilla #92).
  2. Added support for automatic interrupt level and vector determination in net_drvr_b (new firmware feature).
  3. Updated net_drvr_b to use local core interrupt enable, rather than global interrupt enable, when performing DMA transfers (Bugzilla #98).
  4. Made DMA usage in net_drvr_b to be run time configurable via optional constructor parameters. Also allowed DMA receive thread priority to be user-modified.
  5. Corrected unitialized variables in TCP stack that would sometimes cause a stall if a TCP packet was sent before one was received.


November 3, 2005
SDK Version 1.2.0
Core Version 0.4.0
  1. Added DspGpio core to provide a general purpose digital I/O capability.
  2. Corrected potential compilation errors in DspSerial.h.
  3. Added full baud rate support in tcDspSerial. EMIF speed and type of UART (hardware or MityUART) is sensed and used to create proper baud settings.
  4. Added support for hardware flow control in tcDspSerial.
  5. Added tcDspFirmware class to provide generic firmware access methods to report version information, set global interrupt masks, report EMIF clock speed, etc.
Boot Loader 1.1
  1. Added board configuration that is stored in flash. Separated FPGA images
  2. into boot and application. Added peek and poke commands. Added support for
  3. download of board configuration from Bootloader GUI and execution of peek and
  4. poke commands from the Bootloader GUI.
Net Version 0.2.0
  1. Modified stack memory initialization to allow for runtime configuration of the amount of buffers that will be available for the stack rather than only having the predefined buffer space available. This is a backward compatile fix. Bugzilla #42, #40 & #44
  2. Added task registration functions so that a task created through the standard TI runtime functions can safely access the network stack. This task registration function may be used in place of using the LWIP task creation functions. This is a backward compatile fix. Bugzilla #40
  3. Added a pre-IP address udp port hook function to allow use of custom bootp like protocols. Bugzilla #38
  4. Fixed array overflow in mem.c. Buzilla #44


August 30, 2005
SDK Version 1.1.4
Net Version 0.1.2
  1. Updated network interface driver B to not sleep 1 ms following each packet receipt.
  2. Changed LWIP options to use 512 KBytes for buffer space, increased TCP window sizes in order to improve TCP and UDP throughput.
  3. Updated LWIP sys_arch.c to correctly handle timeouts structure in multi-threaded environments. Timeouts structures are no longer keyed by priority, but instead by task ID number.
  4. Turned on LWIP statistics.
  5. Enabled DHCP in LWIP.


August 8, 2005
SDK Version 1.1.3
Core Version 0.3.3
  1. Fixed incorrect core.pjt file, so that the new tcDspQDMA class actually gets built into the library.


August 4, 2005
SDK Version 1.1.2
Core Version 0.3.2
  1. Added tcDspQDMA class to Core library.
  2. Added MityDspDownloader aplication to the tools directory.
Net Version 0.1.1
  1. Added MityDSP network driver B to net_drvr section. Includes DMA based interface to 32 bit FPGA ethernet core.
  2. Changed SEM_ipost to SEM_post in net_iface.cpp to support non-ISR receive tasks
  3. Fixed Bug #15 (socket() writes to address 0x00000000)


June 23, 2005
SDK Version 1.1.1
Core Version 0.3.1
  1. Added tcDspOutputLatch interface to the tcDspTlv254x class.


June 17, 2005
SDK Version 1.1.0
  1. Added boot loader binaries to standard install.
  2. Added boot loader sources to source code install.
  3. Added doxygen look and feel main index page and added a release notes page to the documentation.
  4. Removed "hexify.bat" and GEL files from the demo projects.
  5. Changed Code Composer path from C:\ti to C:\ccstudio in the demo projects for the hex file conversion step.
  6. Added GEL files for MityDSP and CL6713 to the installation.
Core Version 0.3.0
  1. Added new classes tcDspOutputLatch and tcDspDac7616.
  2. Added new bootloader configuration access class tcDspConfig.
  3. Fixed a THR overflow in the tcDSPSerial class when buffers less than 64 bytes were sent back to back.
  4. Fixed namespace error in the definition of the runtime version check variables.
  5. Added a tcDspSerial demo project.
  6. Changed includes within the headers so that you do not need to have C:/MityDSP/x.x/inc/core in your projects include path. You now just need C:/MityDSP/x.x/inc in your path.
Net Version 0.1.0
  1. First release of the TCP/IP network stack library. Note: Does not include drivers for the MityDSP FPGA Ethernet core yet only for the CL6713 FPGA.
Telnetd Version 0.1.0
  1. First release of the telnet server library.
Httpd Version 0.1.0
  1. First release of the HTTP server library.
Wins Version 0.1.0
  1. First release of the WINS deamon library.


May 19, 2005
SDK Version 1.0.1
  1. Added more documentation.


May 17, 2005
SDK Version 1.0.0
  1. Initial release of SDK installer.
Core Version 0.2.0
  1. First release of the core library.



  
Copyright © 2005-2006, Critical Link LLC, All rights reserved.