From e92e49f9b5d5d5f5e78e11226e9ec7c3acb5cbfa Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Mon, 11 Jun 2018 14:44:49 +0800 Subject: [PATCH] tools: loaderimage and trust_merger support "--size" command With this command, we can assign image size. command format: --size [per image KB size] [copy count] [per image KB size]: per copy image size(unit KB), should be 512Kb align; [copy count]: copies count to pack; Change-Id: I43c075c4b5018ed4f7af2966a07af73c974cde39 Signed-off-by: Joseph Chen --- tools/loaderimage | Bin 26576 -> 26530 bytes tools/trust_merger | Bin 53147 -> 53228 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/loaderimage b/tools/loaderimage index d28ccd7243b85438a62c5403c4a974eb2796e07f..26fbb259f34e2841ba6229c359b0636631474d4c 100755 GIT binary patch delta 4456 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