The tcDspFirmware static class provides access to features of the MityDSP firmware that are core independent. This includes manipulating the global interrupt enable register, and providing access to the firmware version information (either the global version, or for an individual core.
The firmware is assumed to be located at the default base address, unless changed via a call to tcDspFirmware::set_firmware_base.
This is a simple example of tcDspFirmware usage:
{ // set firmware base ID tcDspFirmware::set_firmware_base(0xC0000000); // display firmware revision info tcDspFirmware::print_version_info(); // enable interrupts of interest new_mask = tcDspFirmware::global_int_enable(IE_MASK_6 | IE_MASK_7); // play with an LED... unsigned int ledState = tcDspFirmware::get_led_state(); ledState = ~ledState; tcDspFirmware::set_led_state(ledState); // check the EMIF speed (in Hz)... unsigned int emifSpeed = tcDspFirmware::get_emif_clock(); // read one of the interrupt vector registers unsigned int vmask = tcDspFirmware::read_vector_register(5); // acknowledge a couple vectors tcDspFirmware::clear_vector_register(5, 0x00022097); ... }