code: def firmware_version(self):
          
          buf = (ctypes.c_char * self.MAX_BUF_SIZE)()
          self._dll.JLINKARM_GetFirmwareString(buf, self.MAX_BUF_SIZE)
          return ctypes.string_at(buf).decode()
docs: Returns a firmware identification string of the connected J-Link.
  
          It consists of the following:
            - Product Name (e.g. J-Link)
            - The string: compiled
            - Compile data and time.
            - Optional additional information.
  
          Args:
            self (JLink): the ``JLink`` instance
  
          Returns:
            Firmware identification string.