Astek's firmware/software design expertise was established to augment our hardware design capabilities. Astek has developed code for the Intel x86, Intel 8051 and derivatives, Motorola 68xxx, Atmel AVR, Texas Instruments tms320Cxx DSPs, and the ARM7 and ARM9 cores. Astek has the latest development and debugging tools including the ARM Development Suite. We also have probes that enable development engineers to control and see what is happening in the target processor and system. Astek has extensive knowledge of "C", "C++", Visual Basic, Perl, and assembly languages. We have developed software for Windows and Unix platforms and native firmware for embedded processors that use no operating system. Our architecture and design methodologies enable us to accommodate future design changes and upgrades with ease.
Embedded Firmware
Embedded AVR and ARM Code for DVD Device Controller This project contained an Atmel AVR and ARM 7TDMI to control the surrounding logic in the DVD controller chip. The AVR code was written in AVR assembly language and the ARM code was written in both assembly and C utilizing ARM’s “thumb” mode. Thumb mode allows the ARM to work as a 16-bit processor increasing code density and reducing power consumption. The firmware is completely interrupt driven, making it very efficient in a device type application. The firmware supports the following media formats: - DVD-R
- DVD-RAM
- DVD-RW
- DVD+RW
Infiniband TCA Firmware This firmware was written in C using ARM™’s ADS software. Written for the ARM™ 9 series of processors, its main tasks are to handle communication management, performance management, subnet management, general services and device management for an infiniband environment. ARM Test Code Astek has significant experience in writing custom ARM™ code to work in conjunction with our ASIC Prototyping Services. This test code primarily is used to test single blocks within an ASIC or an FPGA emulation environment. Utilizing ARM™ ADS and ARM Multi-ice, real-time firmware debugging is easily accomplished. ARM™ test code accelerates RTL verification by allowing real-time access to all logic available to the ARM™ processor. DRAM Test Software/Firmware This project consisted of a PC running a Windows application, written in Visual Basic 6.0, communicating through a RS-485 interface with a Microchip PIC 18F8720 microcontroller. The microcontroller firmware interprets commands and performs tests on a DRAM test chip utilizing an FPGA for logic control. The firmware was written in C and was compiled using Microchip’s C18 compiler. The PC software also handles complex tasks such as error calculations, bitmap creation, two variable SHMOO plot creation, and user-defined custom tests. This software utilizes a login window to grant select users more options than average users. This prevents a novice user from destroying the test chip with improper settings. The firmware also has the ability to run predefined self-tests without the use of a PC. Self-tests can easily be added or modified in firmware. back to top APPLICATION SOFTWARE ATA/ATAPI Test Software This software was written to run on a PC in a DOS environment to test an ATAPI device ASIC. Written in C, this program utilizes a rudimentary user interface allowing the user to select from a list of commands to execute. These commands include: - Test Unit Ready
- Mode Sense
- Request Sense
- Read 10 – returned data is displayed on the screen
- Read DVD Structure
- Write 10 – writes the same data to multiple addresses
- Read TOC PMA – TOC is displayed on the screen
- Mechanism Status – Status is displayed on the screen
- Write Verify File -- using a Write 10 command
- Write Verify Random – writes random data to the device, reads back and compares
- Eject Media
- Microcode Download
This program was written in a modular fashion to quickly allow the addition of more commands. Astek BSDL File Generator(ABG) This program was written to be used in conjunction with Astek’s Boundary Scan Compiler(ABC) tool. The ABG tool provides an ‘easy to use’ GUI interface for creating and editing BSDL files while removing BSDL file syntax knowledge requirements from the user. Key features of this tool include: - BSDL files that are IEEE 1149.1b-1994 compliant.
- All public instructions (BYPASS, SAMPLE, IDCODE, USERCODE, EXTEST, CLAMP, HIGHZ, RUNBIST, and INTEST) are supported.
- Creates a new BSDL file from scratch.
- Edits an existing BSDL file that was originally created using ABG.
- Provides pull-down boxes for Port Type, Disable Result, Differential, and Tri-state Value.
- A separate JTAG Port Menu allows unique port names for the JTAG signals.
- A separate Group Ports Menu simplifies differential pair definition and provides a running list of defined pairs.
- Help buttons are available on every menu that the user sees.
ABG needs no input files, however some information will be necessary for the user to input data via the GUIs including a pin list, and package description. This program was written entirely in Perl utilizing the TK graphics packages to create the GUI. It has been compiled into a binary form and is available on Solaris, HP-UX, and Linux. |