source: atk2-sc3_fl850f1l/arch/ccrh/post_cfg_pass4.py@ 117

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

ATK2-SC3 1.3.2 FL850F1L(RH850F1L)依存部(GCC/GHS/CCRH)を追加

File size: 4.3 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-2014 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: post_cfg_pass4.py 181 2015-06-12 10:02:03Z t_ishikawa $
52#
53
54import subprocess
55import os
56import sys
57import re # for regular expression
58import shutil
59
60# set relative path from top proj
61proj_rel_dir = "../"
62
63# call definition file
64common.Source(proj_rel_dir + "def.py")
65
66# path
67src_abs_path = os.path.abspath(proj_rel_dir + SRCDIR)
68
69# call common file
70common.Source(src_abs_path + "/arch/ccrh/common.py")
71
72#
73# convert map file
74#
75inputfile = open("./DefaultBuild/cfg_pass4.map")
76outputfile = open("./DefaultBuild/cfg_pass4.syms", 'w')
77
78r = re.compile("^\s+([0-9a-f]+)\s+[0-9a-f]+\s+\w+\s+,\w+\s+\*\s+")
79line = inputfile.readline()
80pre_line = line
81while line:
82 line = line.replace('\r\n','') #delete newline
83 m = r.search(line)
84 if m:
85 outputfile.write(m.group(1) + " T " + pre_line + "\n")
86 pre_line = line
87 line = inputfile.readline()
88
89inputfile.close()
90outputfile.close()
91
92#
93# copy pass 1 generated files
94#
95print "Copy pass 1 generated file"
96shutil.copy("../cfg/cfg1_out.srec", ".")
97shutil.copy("../cfg/cfg1_out.syms", ".")
98shutil.copy("../cfg/cfg2_out.tf", ".")
99shutil.copy("../cfg/cfg2_out.tf", "./cfg3_out.tf")
100
101#
102# Execute cfg path 3
103#
104# make command
105cfg_command = cfg + " --pass 4 " + "--kernel " + CFG_KERNEL
106cfg_command += " --api-table " + cfg_api_table
107cfg_command += " " + cfg_cfg1_def_tables + cfg_includes
108cfg_command += " --rom-image ./DefaultBuild/cfg_pass4.srec --symbol-table ./DefaultBuild/cfg_pass4.syms"
109cfg_command += " -T " + cfg_mem_tf
110cfg_command += " --ini-file " + cfg_ini_file
111cfg_command += " " + cfg_input_str
112
113print cfg_command
114
115# Execute
116try:
117 output = subprocess.check_output(cfg_command, stderr=subprocess.STDOUT,)
118except subprocess.CalledProcessError, e:
119 print "ERROR!! : ", e.output
120 sys.exit()
121
122output.replace('\r','')
123print output
124
Note: See TracBrowser for help on using the repository browser.