用于检查模块是否正在将数据写入内存部分的 makefile 命令
makefile command to check if the module is writing data into a memory section
我正在尝试更改我的 makefile 以通知程序何时将数据放入特定内存部分。
例如,如果有 2 个内存部分 asw0 和 asw1。当程序将数据放入 asw1 部分时,必须在构建期间通知它。
我可以通过分析 .map 文件手动检查这些。但是有没有我可以实现它的makefile?
目前我可以访问 .map 文件并显示如下所示的一些信息..
grep Total $(BUILD_DIR)/main.map
谢谢。
正如@EtanReisner 所建议的,我们可以将 shell 命令直接添加到 makefile 中。因此,为了检查内存数据分配在哪个部分,我们需要解析映射文件数据部分,然后检查地址范围。我想出了这个简单的命令行,它完美地完成了任务。
awk '/^.data/ {if (>=0x70000000&& <=70040000) print"\n!!WARNING:Initialized data section allocated in ASW0!!\n"}' $(BUILD_DIR)/main.map
这会解析整个映射文件的数据部分,然后检查地址是否在 ASW0 部分内。在这种情况下,它会打印一条警告消息。
我正在尝试更改我的 makefile 以通知程序何时将数据放入特定内存部分。 例如,如果有 2 个内存部分 asw0 和 asw1。当程序将数据放入 asw1 部分时,必须在构建期间通知它。 我可以通过分析 .map 文件手动检查这些。但是有没有我可以实现它的makefile?
目前我可以访问 .map 文件并显示如下所示的一些信息..
grep Total $(BUILD_DIR)/main.map
谢谢。
正如@EtanReisner 所建议的,我们可以将 shell 命令直接添加到 makefile 中。因此,为了检查内存数据分配在哪个部分,我们需要解析映射文件数据部分,然后检查地址范围。我想出了这个简单的命令行,它完美地完成了任务。
awk '/^.data/ {if (>=0x70000000&& <=70040000) print"\n!!WARNING:Initialized data section allocated in ASW0!!\n"}' $(BUILD_DIR)/main.map
这会解析整个映射文件的数据部分,然后检查地址是否在 ASW0 部分内。在这种情况下,它会打印一条警告消息。