解决:UVProj2makefile(在OSX上)的SED问题

3个帖子/ 0新
最后一篇
Kazuki Yamamoto.
离线
最后一次露面:2个月15小时前
加入:2014-02-14 04:32
解决:UVProj2makefile(在OSX上)的SED问题

你好,

我正在尝试将辅助引导程序项目转换为GCC + Makefile。为此,我找到了UVProj2makefile util脚本,但脚本中的sed命令有问题。
最后,我发现SED模式似乎不足以覆盖UVProj文件结构,但我不是SED专家,所以不能自己改变它。
我只搜索了第一个错误,似乎似乎引起了一个原因的错误。

shell环境是Mac OSX和默认BASH,SDK为5.0.3(无法从下拉列表中选择!)。

============我做了什么(1):请采用“$”的行是shell ============的输入
$ PWD
/users//downloads/da1458x_sdk/5.0.3/utitiess/uvproj2makefile.
$ chmod + x ./uvproj2makefile
$ ./uvproj2makefile -i ../secondary_bootloader/secondary_bootloader.uvproj
将../secondary_bootloader/secondary_bootloader.uvproj使用makefile.tmpl作为模板...
SED:1:“s!\ @ \ @ core_inc_search_p ......”:未经认行的换行符内部替代模式
sed:1:“/ ^ core_inc_search_paths ...”:d命令末尾的额外字符
sed:1:“/ ^ core_inc_search_paths ...”:p命令末尾的额外字符
sed:1:“/ ^ core_inc_search_paths ...”:替换命令的坏标志:'}'
sed:-i:没有这样的文件或目录
sed:1:“/ 1 <\ / fileType ......”:P命令结束时的额外字符
sed:-i:没有这样的文件或目录
sed:1:“/ ^ core_src_cfiles /,/ ^ $ ...”:p命令末尾的额外字符
SED:1:“/ ^ core_src_cfiles /,/ ^ $ ......”:替换命令的坏标志:'}'
sed:-i:没有这样的文件或目录
sed:1:“/ 3 <\ / filetype ......”:p命令末尾的额外字符
sed:-i:没有这样的文件或目录

==================.

其次,我将脚本复制到回应实际的“core_inc_search_path”变量,该变量在第61行定义./uvproj2makefile。

==========我做了什么(2)==========
$ sed -n's / \(。* \)<\ / compryepath> / \ 1 / p'../secondary_bootloader/secondary_bootloader.uvproj

。\包括; .. \ .. \ .. \ sdk \ platform \包括; .. \ .. \ sdk \ platform \ driver \ spi; .. \ .. \ sdk \ platform \ driver \ i2c_eeprom; .. \ .. \sdk \ platform \ driver \ spi_flash; .. \ .. \ s
dk \ platform \ driver \ gpio; .. \ .. \ sdk \ platform \ arch; .. \ .. \ sdk \ platform \ arch \ compiler \ rvds; .. \ .. \ sdk \ platform \ arch \ ll \RVDS; .. \ .. \ SDK \ Platform \ Driver \ Reg
。\包括
=============================.

从这一点来看,我们可以看到“。\ /包括”两次,它会导致“未知向下的替代模式”错误。
我理解SED部件正在拾取,包括来自 ... 行的路径。
我检查了UVProj文件并找到了几行的标签,大多是没有值,而只有2个,其中只有2个“。\包括......”和“。\包括”值。

我的猜测是脚本假定标记具有有效值仅显示一次。
您能否请检查那些SED线路以正确转换这些路径,并使其工作。

提前致谢,
kazuki

设备:
mt_dialog.
离线
最后一次露面:1周21小时前
职员
加入:2015-06-08 11:34
嗨Kazuki,

嗨Kazuki,

我没有OSX来测试它,尽管它应该是与线结尾有关的问题。我附上了一个UVProj2makefile应该在OS X中工作。作为替代方案,您可以尝试安装GNU-SED,这应该与我们的脚本兼容。如果您这样做,那么您可以将所有引用转换为UVProj2makefile的SED转换为GNU-SED。

谢谢mt_dialog.

Kazuki Yamamoto.
离线
最后一次露面:2个月15小时前
加入:2014-02-14 04:32
你好mt_dialog,

你好mt_dialog,

谢谢您的帮助。

首先,使用“Mac-sed”新脚本仍然没有工作 - 输出文件是空白的。
然后我将GNU-SED安装为GNU-SED作为GSED,将所有'SED'替换为“GSED”,然后工作。

我报告的错误似乎是mac-sed问题;Mac-Sed似乎基于BSD SED
并发现一些报告称,可以选择与GNU SED不匹配。

感谢和问候,
kazuki

主题锁定