diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100755
index 0000000000000000000000000000000000000000..4aa91ea5ab95b0feb7bbe5fe2dd724aff4ef6723
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/drivers_framework.iml b/.idea/drivers_framework.iml
new file mode 100755
index 0000000000000000000000000000000000000000..d888fca690d8f48e8d1024176529dc595f5619cb
--- /dev/null
+++ b/.idea/drivers_framework.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100755
index 0000000000000000000000000000000000000000..9c69411050eac81b5dce09314516a30b38c41a20
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100755
index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100755
index 0000000000000000000000000000000000000000..b534b897444122d9e95dac64b198b150354be79a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100755
index 0000000000000000000000000000000000000000..4e7c49967991c29e6ed28c94e8cdeea84e3fa39b
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100755
index 0000000000000000000000000000000000000000..9661ac713428efbad557d3ba3a62216b5bb7d226
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/hdf_dev_eco_tool/command_line/hdf_add_handler.py b/tools/hdf_dev_eco_tool/command_line/hdf_add_handler.py
index 7aeb77e81a63804004f87906934c8287d2f34309..9b74ab165a6f8b1e69a005ad9d400e4ef4a44a99 100755
--- a/tools/hdf_dev_eco_tool/command_line/hdf_add_handler.py
+++ b/tools/hdf_dev_eco_tool/command_line/hdf_add_handler.py
@@ -114,90 +114,98 @@ class HdfAddHandler(HdfCommandHandlerBase):
args_tuple = self.get_args()
root, vendor, module, driver, board, kernel = args_tuple
- converter = hdf_utils.WordsConverter(self.args.module_name)
- driver_name_converter = hdf_utils.WordsConverter(self.args.driver_name)
- framework_hdf = hdf_utils.get_vendor_hdf_dir_framework(root)
- if not os.path.exists(framework_hdf):
- raise HdfToolException(
- ' framework model path "%s" not exist' %
- framework_hdf, CommandErrorCode.TARGET_NOT_EXIST)
- # 在 framework 目录下创建对应的 module 的文件目录用于存放 .c 驱动文件
- framework_drv_root_dir = hdf_utils.get_drv_root_dir(
- root, vendor, module)
- if os.path.exists(framework_drv_root_dir):
- raise HdfToolException('module "%s" already exist' % module,
- CommandErrorCode.TARGET_ALREADY_EXIST)
- os.makedirs(framework_drv_root_dir)
+ board_list = HdfToolSettings().get_board_list()
+ if board in board_list:
+ converter = hdf_utils.WordsConverter(self.args.module_name)
+ driver_name_converter = hdf_utils.WordsConverter(
+ self.args.driver_name)
+ framework_hdf = hdf_utils.get_vendor_hdf_dir_framework(root)
+ if not os.path.exists(framework_hdf):
+ raise HdfToolException(
+ ' framework model path "%s" not exist' %
+ framework_hdf, CommandErrorCode.TARGET_NOT_EXIST)
+ # 在 framework 目录下创建对应的 module 的文件目录用于存放 .c 驱动文件
+ framework_drv_root_dir = hdf_utils.get_drv_root_dir(
+ root, vendor, module)
+ if os.path.exists(framework_drv_root_dir):
+ raise HdfToolException('module "%s" already exist' % module,
+ CommandErrorCode.TARGET_ALREADY_EXIST)
+ os.makedirs(framework_drv_root_dir)
- # 创建 .c 模板驱动
- state, driver_file_path = self._add_driver_handler(*args_tuple)
- if not state:
- raise HdfToolException(
- 'create drivers file fail "%s" ' %
- driver_file_path.split("\\")[-1])
- adapter_hdf = hdf_utils.get_vendor_hdf_dir_adapter(root, kernel)
- if not os.path.exists(adapter_hdf):
- raise HdfToolException(
- ' adapter model path "%s" not exist' %
- adapter_hdf, CommandErrorCode.TARGET_NOT_EXIST)
+ # 创建 .c 模板驱动
+ state, driver_file_path = self._add_driver_handler(*args_tuple)
+ if not state:
+ raise HdfToolException(
+ 'create drivers file fail "%s" ' %
+ driver_file_path.split("\\")[-1])
+ adapter_hdf = hdf_utils.get_vendor_hdf_dir_adapter(root, kernel)
+ if not os.path.exists(adapter_hdf):
+ raise HdfToolException(
+ ' adapter model path "%s" not exist' %
+ adapter_hdf, CommandErrorCode.TARGET_NOT_EXIST)
- # 创建 adapter 路径下的 module 文件夹
- adapter_model_path = os.path.join(adapter_hdf, 'model', module)
- if not os.path.exists(adapter_model_path):
- os.makedirs(adapter_model_path)
+ # 创建 adapter 路径下的 module 文件夹
+ adapter_model_path = os.path.join(adapter_hdf, 'model', module)
+ if not os.path.exists(adapter_model_path):
+ os.makedirs(adapter_model_path)
- data_model = {
- "module_upper_case": converter.upper_case(),
- "module_lower_case": converter.lower_case(),
- "driver_file_name": ("%s_driver.c" %
- driver_name_converter.lower_case()),
- "driver_name": driver_name_converter.lower_case()
- }
- # 创建 adapter 下的 module中的三个文件
- if kernel == 'liteos':
- file_path, model_level_config_file_path = \
- self._add_module_handler_liteos(
- framework_hdf, adapter_model_path,
- data_model, converter, *args_tuple)
- elif kernel == "linux":
- file_path, model_level_config_file_path = \
- self._add_module_handler_linux(
- framework_hdf, adapter_model_path,
- data_model, *args_tuple)
+ data_model = {
+ "module_upper_case": converter.upper_case(),
+ "module_lower_case": converter.lower_case(),
+ "driver_file_name": ("%s_driver.c" %
+ driver_name_converter.lower_case()),
+ "driver_name": driver_name_converter.lower_case()
+ }
+ # 创建 adapter 下的 module中的三个文件
+ if kernel == 'liteos':
+ file_path, model_level_config_file_path = \
+ self._add_module_handler_liteos(
+ framework_hdf, adapter_model_path,
+ data_model, converter, *args_tuple)
+
+ elif kernel == "linux":
+ file_path, model_level_config_file_path = \
+ self._add_module_handler_linux(
+ framework_hdf, adapter_model_path,
+ data_model, *args_tuple)
+
+ else:
+ file_path = {}
+ model_level_config_file_path = {}
+ config_item = {
+ 'module_name': module,
+ 'module_path': file_path,
+ 'driver_name': "%s_driver.c" % driver,
+ 'driver_file_path': driver_file_path,
+ 'enabled': True
+ }
+ config_file_out = {
+ 'module_name': module,
+ 'module_path': file_path,
+ 'driver_name': driver_file_path.split("\\")[-1],
+ 'driver_file_path': driver_file_path,
+ 'module_level_config_path': model_level_config_file_path
+ }
+ config_file = hdf_utils.read_file(
+ os.path.join('resources', 'create_model.config'))
+ config_file_json = json.loads(config_file)
+ config_file_json[module] = config_file_out
+ if platform.system() == "Windows":
+ config_file_replace = json.dumps(config_file_json, indent=4).\
+ replace(root.replace('\\', '\\\\') + '\\\\', "")
+ hdf_utils.write_file(
+ os.path.join('resources', 'create_model.config'),
+ config_file_replace.replace('\\\\', '/'))
+ if platform.system() == "Linux":
+ config_file_replace = json.dumps(config_file_json, indent=4).\
+ replace(root + '/', "")
+ hdf_utils.write_file(
+ os.path.join('resources', 'create_model.config'),
+ config_file_replace)
+ return json.dumps(config_item)
else:
- file_path = {}
- model_level_config_file_path = {}
- config_item = {
- 'module_name': module,
- 'module_path': file_path,
- 'driver_name': "%s_driver.c" % driver,
- 'driver_file_path': driver_file_path,
- 'enabled': True
- }
- config_file_out = {
- 'module_name': module,
- 'module_path': file_path,
- 'driver_name': driver_file_path.split("\\")[-1],
- 'driver_file_path': driver_file_path,
- 'module_level_config_path': model_level_config_file_path
- }
- config_file = hdf_utils.read_file(
- os.path.join('resources', 'create_model.config'))
- config_file_json = json.loads(config_file)
- config_file_json[module] = config_file_out
- if platform.system() == "Windows":
- config_file_replace = json.dumps(config_file_json, indent=4).\
- replace(root.replace('\\', '\\\\') + '\\\\', "")
- hdf_utils.write_file(
- os.path.join('resources', 'create_model.config'),
- config_file_replace.replace('\\\\', '/'))
- if platform.system() == "Linux":
- config_file_replace = json.dumps(config_file_json, indent=4).\
- replace(root + '/', "")
- hdf_utils.write_file(
- os.path.join('resources', 'create_model.config'),
- config_file_replace)
- return json.dumps(config_item)
+ raise HdfToolException(
+ 'supported boards name : %s not exits ' % board)
def _add_module_handler_liteos(self, framework_hdf, adapter_model_path,
data_model, converter, *args_tuple):
@@ -205,8 +213,9 @@ class HdfAddHandler(HdfCommandHandlerBase):
liteos_file_path = {}
liteos_level_config_file_path = {}
liteos_file_name = ['BUILD.gn', 'Kconfig', 'Makefile']
- template_path = "/".join([framework_hdf] + ["tools",
- "hdf_dev_eco_tool", "resources", "templates", "lite"])
+ template_path = "/".join([framework_hdf] +
+ ["tools", "hdf_dev_eco_tool",
+ "resources", "templates", "lite"])
for file_name in liteos_file_name:
for i in os.listdir(template_path):
if i.find(file_name.split(".")[0]) > 0:
diff --git a/tools/hdf_dev_eco_tool/command_line/hdf_defconfig_patch.py b/tools/hdf_dev_eco_tool/command_line/hdf_defconfig_patch.py
index e0d1cdb0ce1f79c5850fc0e7d92b45c3370a7d7b..4e33656f08ca43754e151ccf91c701cbd0640e66 100755
--- a/tools/hdf_dev_eco_tool/command_line/hdf_defconfig_patch.py
+++ b/tools/hdf_dev_eco_tool/command_line/hdf_defconfig_patch.py
@@ -66,7 +66,7 @@ class HdfDefconfigAndPatch(object):
if not os.path.isdir(new_path):
self.find_file(new_path, files)
else:
- self.add_module(new_path, files=[])
+ self.add_module(new_path, files=files)
return files
def delete_module(self, path):
@@ -98,6 +98,7 @@ class HdfDefconfigAndPatch(object):
if line.find("CONFIG_DRIVERS_HDF_INPUT=y") >= 0:
insert_index = index
elif line.find(self.new_demo_config) >= 0:
+ files.remove(path)
state = True
if not state:
if path.split(".")[-1] != "patch":
@@ -108,3 +109,4 @@ class HdfDefconfigAndPatch(object):
"+" + self.new_demo_config)
with open(path, "w", encoding=codetype) as fwrite:
fwrite.writelines(data)
+ return files
diff --git a/tools/hdf_dev_eco_tool/command_line/hdf_vendor_kconfig_file.py b/tools/hdf_dev_eco_tool/command_line/hdf_vendor_kconfig_file.py
index 2359dab2cedff9325d8bbc77c99f94e8be52e97e..a7071413d2411fa7e5106b300ddc1f28c1559a6b 100755
--- a/tools/hdf_dev_eco_tool/command_line/hdf_vendor_kconfig_file.py
+++ b/tools/hdf_dev_eco_tool/command_line/hdf_vendor_kconfig_file.py
@@ -91,7 +91,7 @@ class HdfVendorKconfigFile(object):
def add_module(self, module_to_k_path_parts):
module_k_part = '/'.join(module_to_k_path_parts)
- index, line = self._find_line(module_k_part)
+ index, line = self._find_line("model/"+module_k_part)
if line:
return
line = '\n%s/%s"\n' % (self.line_prefix, module_k_part)
diff --git a/tools/hdf_dev_eco_tool/hdf_tool_settings.py b/tools/hdf_dev_eco_tool/hdf_tool_settings.py
index d1f72412a0ae369dd1498930f3658d69da65ebb4..fff1c21a499bf629c6c62b7df64ed2cfe7133b99 100755
--- a/tools/hdf_dev_eco_tool/hdf_tool_settings.py
+++ b/tools/hdf_dev_eco_tool/hdf_tool_settings.py
@@ -122,3 +122,7 @@ class HdfToolSettings(object):
if board_name in self.settings[key]:
return self.settings[key][board_name]["patch_and_config"]
return ''
+
+ def get_board_list(self):
+ key = self.supported_boards_key
+ return list(self.settings[key].keys())
diff --git a/tools/hdf_dev_eco_tool/resources/create_model.config b/tools/hdf_dev_eco_tool/resources/create_model.config
index 9e26dfeeb6e641a33dae4961196235bdb965b21b..2c63c0851048d8f7bff41ecf0f8cee05f52fd120 100755
--- a/tools/hdf_dev_eco_tool/resources/create_model.config
+++ b/tools/hdf_dev_eco_tool/resources/create_model.config
@@ -1 +1,2 @@
-{}
\ No newline at end of file
+{
+}
diff --git a/tools/hdf_dev_eco_tool/resources/settings.json b/tools/hdf_dev_eco_tool/resources/settings.json
index ecbf0e13764c3714fb33415e1df40e75685c643e..c38733ee51b040f1fe92973828129ce1d7742bf3 100755
--- a/tools/hdf_dev_eco_tool/resources/settings.json
+++ b/tools/hdf_dev_eco_tool/resources/settings.json
@@ -10,11 +10,6 @@
"hispark_taurus_linux": {
"patch_and_config": ["hi3516dv300.patch", "hi3516dv300_small_defconfig", "hi3516dv300_standard_defconfig",
"small_common_defconfig", "standard_common_defconfig"]
- },
- "hispark_aries": {
- "board_parent_path": "vendor/hisilicon/hispark_aries",
- "dot_config_path": "kernel/liteos_a/tools/build/config",
- "dot_configs": ["hispark_aries_clang_release.config", "hispark_aries_release.config", "hispark_aries_debug_shell.config"]
}
},
"drivers_path_relative_to_vendor": "drivers/framework",