Includes library modifications to allow access to AIN_4 (AIN_0 / 5)

Committer:
bryantaylor
Date:
Tue Sep 20 21:26:12 2016 +0000
Revision:
0:eafc3fd41f75
hackathon

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bryantaylor 0:eafc3fd41f75 1 """
bryantaylor 0:eafc3fd41f75 2 mbed SDK
bryantaylor 0:eafc3fd41f75 3 Copyright (c) 2011-2016 ARM Limited
bryantaylor 0:eafc3fd41f75 4
bryantaylor 0:eafc3fd41f75 5 Licensed under the Apache License, Version 2.0 (the "License");
bryantaylor 0:eafc3fd41f75 6 you may not use this file except in compliance with the License.
bryantaylor 0:eafc3fd41f75 7 You may obtain a copy of the License at
bryantaylor 0:eafc3fd41f75 8
bryantaylor 0:eafc3fd41f75 9 http://www.apache.org/licenses/LICENSE-2.0
bryantaylor 0:eafc3fd41f75 10
bryantaylor 0:eafc3fd41f75 11 Unless required by applicable law or agreed to in writing, software
bryantaylor 0:eafc3fd41f75 12 distributed under the License is distributed on an "AS IS" BASIS,
bryantaylor 0:eafc3fd41f75 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
bryantaylor 0:eafc3fd41f75 14 See the License for the specific language governing permissions and
bryantaylor 0:eafc3fd41f75 15 limitations under the License.
bryantaylor 0:eafc3fd41f75 16 """
bryantaylor 0:eafc3fd41f75 17 from exporters import Exporter
bryantaylor 0:eafc3fd41f75 18 from os.path import basename
bryantaylor 0:eafc3fd41f75 19
bryantaylor 0:eafc3fd41f75 20
bryantaylor 0:eafc3fd41f75 21 class DS5_5(Exporter):
bryantaylor 0:eafc3fd41f75 22 NAME = 'DS5'
bryantaylor 0:eafc3fd41f75 23
bryantaylor 0:eafc3fd41f75 24 TARGETS = [
bryantaylor 0:eafc3fd41f75 25 'LPC1768',
bryantaylor 0:eafc3fd41f75 26 'LPC11U24',
bryantaylor 0:eafc3fd41f75 27 'LPC812',
bryantaylor 0:eafc3fd41f75 28 'UBLOX_C027',
bryantaylor 0:eafc3fd41f75 29 'ARCH_PRO',
bryantaylor 0:eafc3fd41f75 30 'RZ_A1H',
bryantaylor 0:eafc3fd41f75 31 ]
bryantaylor 0:eafc3fd41f75 32
bryantaylor 0:eafc3fd41f75 33 USING_MICROLIB = [
bryantaylor 0:eafc3fd41f75 34 'LPC812',
bryantaylor 0:eafc3fd41f75 35 ]
bryantaylor 0:eafc3fd41f75 36
bryantaylor 0:eafc3fd41f75 37 FILE_TYPES = {
bryantaylor 0:eafc3fd41f75 38 'c_sources':'1',
bryantaylor 0:eafc3fd41f75 39 'cpp_sources':'8',
bryantaylor 0:eafc3fd41f75 40 's_sources':'2'
bryantaylor 0:eafc3fd41f75 41 }
bryantaylor 0:eafc3fd41f75 42
bryantaylor 0:eafc3fd41f75 43 TOOLCHAIN = "ARM"
bryantaylor 0:eafc3fd41f75 44
bryantaylor 0:eafc3fd41f75 45 def get_toolchain(self):
bryantaylor 0:eafc3fd41f75 46 return 'uARM' if (self.target in self.USING_MICROLIB) else 'ARM'
bryantaylor 0:eafc3fd41f75 47
bryantaylor 0:eafc3fd41f75 48 def generate(self):
bryantaylor 0:eafc3fd41f75 49 source_files = []
bryantaylor 0:eafc3fd41f75 50 for r_type, n in DS5_5.FILE_TYPES.iteritems():
bryantaylor 0:eafc3fd41f75 51 for file in getattr(self.resources, r_type):
bryantaylor 0:eafc3fd41f75 52 source_files.append({
bryantaylor 0:eafc3fd41f75 53 'name': basename(file), 'type': n, 'path': file
bryantaylor 0:eafc3fd41f75 54 })
bryantaylor 0:eafc3fd41f75 55
bryantaylor 0:eafc3fd41f75 56 ctx = {
bryantaylor 0:eafc3fd41f75 57 'name': self.project_name,
bryantaylor 0:eafc3fd41f75 58 'include_paths': self.resources.inc_dirs,
bryantaylor 0:eafc3fd41f75 59 'scatter_file': self.resources.linker_script,
bryantaylor 0:eafc3fd41f75 60 'object_files': self.resources.objects + self.resources.libraries,
bryantaylor 0:eafc3fd41f75 61 'source_files': source_files,
bryantaylor 0:eafc3fd41f75 62 'symbols': self.toolchain.get_symbols()
bryantaylor 0:eafc3fd41f75 63 }
bryantaylor 0:eafc3fd41f75 64 target = self.target.lower()
bryantaylor 0:eafc3fd41f75 65
bryantaylor 0:eafc3fd41f75 66 # Project file
bryantaylor 0:eafc3fd41f75 67 self.gen_file('ds5_5_%s.project.tmpl' % target, ctx, '.project')
bryantaylor 0:eafc3fd41f75 68 self.gen_file('ds5_5_%s.cproject.tmpl' % target, ctx, '.cproject')
bryantaylor 0:eafc3fd41f75 69 self.gen_file('ds5_5_%s.launch.tmpl' % target, ctx, 'ds5_%s.launch' % target)