From bc4e6b7efe2b4e8560761e6b40220e64b901d569 Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Thu, 3 Dec 2020 20:29:40 +1100 Subject: [PATCH] Reduce hello_world footprint to fit in 8kB When building with yosys we assume hello_world fits in 8kB. There's enough free space that we can adjust the linker script to make it fit. Signed-off-by: Anton Blanchard --- hello_world/hello_world.bin | Bin 8328 -> 6280 bytes hello_world/hello_world.elf | Bin 89464 -> 87184 bytes hello_world/hello_world.hex | 444 ++++++++---------------------------- hello_world/powerpc.lds | 2 +- 4 files changed, 95 insertions(+), 351 deletions(-) diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index abd7cd0148087df8dbdb2680663f1630eaab3057..e4b14ca6f70843d9d43a149c8d18fb1f22072fe5 100755 GIT binary patch delta 538 zcmZvYze~eF6vtm;l~O7urj?3P&(fj6YU$Qc0;xYx(Qj&#Y_&AfGv<+tR3l5!`y<#Hzfz&a_5Pq@90x zLf#hY^hln{&NkUn0HTQ?l#PDOnqzFK@Nrktu|J?NikIMs0ELk)88s;Ce02`mVBOSK?C%=0qn$&KEH*LxS{wt3ZQdVn=y+O zDCamAfN1!NV}2)y-yB9XeurnD&y%9-#9mwHWutW#Z%xYws@BbVz|ewiHe{c7j8eCW z3Q8o3(-<>5(}*4+DsHE?U$Jb^k~|do^IPLdfNH9>Jl#}wg$4Sgq*V8tu?j+75(-V= rA#GyokcF1|BIW2< z7ZVh%Ww~y?`7g(#i)>TAkB&UaUaFaHB!?oXxjp2WS8Aqowp(>5?i0vT4<*8qcwtyA zzMboU>qKD5!``l{)|=P78`Rt)-nfzD5VJwwm|9cHa1z|2KCRZB$TQ&S5`PDSo5eq` zpU&u)2bM=kLqCx^evFNL8a4Sc_KIcYUToAV|5nOxTbLB71gDgH*Uk-5bO}XyKmL%d n%BS&I|HnT{Wmrp~YgP%3OQlLXZ{yXDoqBw!JuR^WTS@p=!;q~P diff --git a/hello_world/hello_world.elf b/hello_world/hello_world.elf index 45f5a3d0f5c2425b23c174a7340300d6082022a9..5eeedc452464d33864fa4a2deb5dd10f5eccbfd1 100755 GIT binary patch literal 87184 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