source: rc_autosar_rh850/trunk/swc-application/common/tools/cancfg.py@ 122

Last change on this file since 122 was 122, checked in by ertl-honda, 9 years ago

ID属性の付加.

  • Property svn:keywords set to Id
File size: 4.9 KB
Line 
1#!python
2# -*- coding: euc-jp -*-
3#
4# TOPPERS ATK2
5# Toyohashi Open Platform for Embedded Real-Time Systems
6# Automotive Kernel Version 2
7#
8# Copyright (C) 2013-2014 by Center for Embedded Computing Systems
9# Graduate School of Information Science, Nagoya Univ., JAPAN
10# Copyright (C) 2013-2015 by FUJI SOFT INCORPORATED, JAPAN
11# Copyright (C) 2013-2014 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12# Copyright (C) 2013-2014 by Renesas Electronics Corporation, JAPAN
13# Copyright (C) 2013-2014 by Sunny Giken Inc., JAPAN
14# Copyright (C) 2013-2014 by TOSHIBA CORPORATION, JAPAN
15# Copyright (C) 2013-2014 by Witz Corporation, JAPAN
16#
17# 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
18# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
19# 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
20# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
21# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22# スコード中に含まれていること.
23# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
24# 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
25# 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
26# の無保証規定を掲載すること.
27# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
28# 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
29# と.
30# (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
31# 作権表示,この利用条件および下記の無保証規定を掲載すること.
32# (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
33# 報告すること.
34# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
35# 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
36# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
37# 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
38# 免責すること.
39#
40# 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
41# 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
42# はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
43# 用する者に対して,AUTOSARパートナーになることを求めている.
44#
45# 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
46# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
47# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
48# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
49# の責任を負わない.
50#
51# $Id: cancfg.py 122 2015-07-17 01:31:28Z ertl-honda $
52#
53
54import os.path
55import os
56import subprocess
57import sys
58import time
59
60os.chdir(os.path.dirname(project.Path))
61
62common.Source("./def.py")
63
64src_abs_path = os.path.abspath(SRCDIR)
65wd_abs_path = os.path.abspath('.')
66proj_rel_dir = ""
67
68common.Source(src_abs_path + "/arch/ccrh/common.py")
69
70project.Create(wd_abs_path + "\\cancfg\\cfg",
71 MicomType.RH850,
72 TARGET_MCU,
73 ProjectKind.Empty,
74 Compiler.CC_RH,
75 False)
76
77str = src_abs_path + '\\' + statup_file
78project.File.Add(str, u"スタートアップ")
79
80project.File.Add("cfg1_out.c", u"configuration")
81
82project.Close(True)
83
84inputstr = ReadFile('./cancfg/cfg.mtpj')
85inputstr = NewSetCCRHIncludes(inputstr, cfg_rel_includes, INCLUDES, "../" + SRCDIR)
86inputstr = NewSetCCRHIncludes(inputstr, cfg_rel_includes, ['.', 'arch/rs_can', 'target/hsbrh850f1l_ccrh'], '../../../../a-comstack/can/')
87inputstr = ChangeItemXml(inputstr, 'OutputMessageFormat-0', '%Program% %Options%')
88#inputstr = ChangeItemXml(inputstr, 'UseProEpiRuntimeLibrary-0', 'False')
89#inputstr = ChangeItemXml(inputstr, 'HexadecimalFileFormat-0','MotrolaSType32Bit')
90inputstr = ChangeItemXml(inputstr, 'HexOptionOutputFileName-0', 'cfg1_out.srec')
91inputstr = ChangeItemXml(inputstr, 'LinkOptionShowSymbol-0', 'True')
92inputstr = ChangeItemXml(inputstr, 'HexOptionOutputFolder-0', '.')
93
94
95inputstr = NewSetDefine(inputstr, USER_MACRO)
96
97WriteFile('./cancfg/cfg.mtpj', inputstr)
98
99project.Open('./cancfg/cfg.mtpj')
100
101cfg_command = cfg + " --pass 1 " + "--kernel " + CFG_KERNEL
102cfg_command += " --api-table " + cfg_api_table
103cfg_command += " " + cfg_cfg1_def_tables + " --cfg1-def-table ../../../a-comstack/can/arch/rs_can/prc_def.csv " + cfg_includes
104cfg_command += " --ini-file " + cfg_ini_file
105cfg_command += " " + cfg_input_str
106
107print cfg_command
108
109try:
110 output = subprocess.check_output(cfg_command, stderr=subprocess.STDOUT)
111except subprocess.CalledProcessError, e:
112 print "ERROR!! : ", e.output
113
114print output
115
116if build.All():
117
118 inputfile = open("./cancfg/DefaultBuild/cfg.map")
119 outputfile = open("./cfg1_out.syms", 'w')
120
121 r = re.compile("^\s+([0-9a-f]+)\s+[0-9a-f]+\s+\w+\s+,\w+\s+\*\s+")
122 line = inputfile.readline()
123 pre_line = line
124
125 while line:
126 line = line.replace('\r\n','') #delete newline
127 m = r.search(line)
128 if m:
129 outputfile.write(m.group(1) + " T " + pre_line + "\n")
130 pre_line = line
131 line = inputfile.readline()
132
133 inputfile.close()
134 outputfile.close()
135
136project.Close(True)
137CubeSuiteExit()
138time.sleep(1)
Note: See TracBrowser for help on using the repository browser.