用于检查模块是否正在将数据写入内存部分的 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 部分内。在这种情况下,它会打印一条警告消息。