diff --git a/User b/User index 5ca7ab1..45910e7 160000 --- a/User +++ b/User @@ -1 +1 @@ -Subproject commit 5ca7ab1db0b5d9646eb60d7d5f218c93921504a6 +Subproject commit 45910e7f04003016f34fa93af10510f7f98594a6 diff --git a/parsemap.php b/parsemap.php new file mode 100755 index 0000000..5ddb677 --- /dev/null +++ b/parsemap.php @@ -0,0 +1,63 @@ +#!/usr/bin/env php +type = $m[1]=='rodata'?'DATA':'CODE'; + $sec->name = $m[2]; + $sec->addr = "0x".$m[3]; + $sec->size = hexdec($m[4]); + $sec->file = $m[5]; + + if (($p=strrpos($sec->file, 'arm-none-eabi/')) !== false) { + $sec->file = "\033[90m".substr($sec->file, $p)."\033[0m"; + } else { + $sec->file = "\033[35m".str_replace("build/","",$sec->file)."\033[0m"; + } + + //print_r($sec); + $sections[] = $sec; + } +} + +usort($sections, function($a,$b) { + return -($a->size - $b->size); +}); + +$limit = 60; +foreach($sections as $s) { + if ($s->type=='DATA')echo "\033[33m";else echo "\033[32m"; + echo "{$s->type}\033[0m {$s->addr} \033[96m{$s->size}\033[0m\t". + "\033[36m{$s->name}\033[0m"; + + for($i=0;$i<36-strlen($s->name);$i++) echo " "; + + echo "{$s->file}\n"; + + if($limit--==0) break; +}