Arrow / Mbed OS DAPLink Reset
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers firmware.py Source File

firmware.py

00001 #
00002 # DAPLink Interface Firmware
00003 # Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
00004 # SPDX-License-Identifier: Apache-2.0
00005 #
00006 # Licensed under the Apache License, Version 2.0 (the "License"); you may
00007 # not use this file except in compliance with the License.
00008 # You may obtain a copy of the License at
00009 #
00010 # http://www.apache.org/licenses/LICENSE-2.0
00011 #
00012 # Unless required by applicable law or agreed to in writing, software
00013 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00014 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 # See the License for the specific language governing permissions and
00016 # limitations under the License.
00017 #
00018  
00019 from __future__ import absolute_import
00020 from enum import Enum
00021 
00022 
00023 class FirmwareBundle(object):
00024 
00025     def get_firmware_list(self):
00026         """Return the firmware objects associated with this bundle"""
00027         raise NotImplementedError()
00028 
00029     @property
00030     def build_sha(self):
00031         """The GIT SHA this build was created at as a string or None"""
00032         raise NotImplementedError()
00033 
00034     @property
00035     def build_local_mods(self):
00036         """True if this was a clean build, False otherwise"""
00037         raise NotImplementedError()
00038 
00039 
00040 class Firmware (object):
00041     """Class wrapping a firmware build"""
00042 
00043     class TYPE(Enum):
00044         BOOTLOADER = 1
00045         INTERFACE = 2
00046 
00047     def __str__ (self):
00048         """A string that describes this firmware"""
00049         raise NotImplementedError()
00050 
00051     @property
00052     def name (self):
00053         """Name of this project"""
00054         raise NotImplementedError()
00055 
00056     @property
00057     def hic_id (self):
00058         """HIC ID for the type of board this firmware can run on"""
00059         raise NotImplementedError()
00060 
00061     @property
00062     def type (self):
00063         """Build type - either interface or bootloader"""
00064         raise NotImplementedError()
00065 
00066     @property
00067     def bin_path (self):
00068         """Path to the binary vesion of this firmware or None"""
00069         raise NotImplementedError()
00070 
00071     @property
00072     def hex_path (self):
00073         """Path to the hex vesion of this firmware or None"""
00074         raise NotImplementedError()
00075 
00076     @property
00077     def elf_path (self):
00078         """Path to the hex vesion of this firmware or None"""
00079         raise NotImplementedError()