Skip to content

Commit 0f72dcd

Browse files
committed
feat(build): add --cpu=pi5 flag for raspberry pi 5
- Add pi5_64 target platform for Cortex-A76 optimization - Support arm64 architecture with -mcpu=cortex-a76+nocrypto - Update device platform switch for exhaustiveness
1 parent 3b33866 commit 0f72dcd

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

lib/src/cli/commands/build.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import '../../common.dart';
1414
class BuildCommand extends FlutterpiCommand {
1515
static const archs = ['arm', 'arm64', 'x64', 'riscv64'];
1616

17-
static const cpus = ['generic', 'pi3', 'pi4'];
17+
static const cpus = ['generic', 'pi3', 'pi4', 'pi5'];
1818

1919
BuildCommand({bool verboseHelp = false}) {
2020
argParser.addSeparator(
@@ -68,6 +68,8 @@ class BuildCommand extends FlutterpiCommand {
6868
'Use a Raspberry Pi 3 tuned engine. Compatible with arm and arm64. (-mcpu=cortex-a53+nocrypto -mtune=cortex-a53)',
6969
'pi4':
7070
'Use a Raspberry Pi 4 tuned engine. Compatible with arm and arm64. (-mcpu=cortex-a72+nocrypto -mtune=cortex-a72)',
71+
'pi5':
72+
'Use a Raspberry Pi 5 tuned engine. Compatible with arm64 only. (-mcpu=cortex-a76+nocrypto -mtune=cortex-a76)',
7173
},
7274
);
7375
}
@@ -108,6 +110,7 @@ class BuildCommand extends FlutterpiCommand {
108110
('arm64', 'generic') => FlutterpiTargetPlatform.genericAArch64,
109111
('arm64', 'pi3') => FlutterpiTargetPlatform.pi3_64,
110112
('arm64', 'pi4') => FlutterpiTargetPlatform.pi4_64,
113+
('arm64', 'pi5') => FlutterpiTargetPlatform.pi5_64,
111114
('x64', 'generic') => FlutterpiTargetPlatform.genericX64,
112115
('riscv64', 'generic') => FlutterpiTargetPlatform.genericRiscv64,
113116
(final arch, final cpu) => throw UsageException(

lib/src/common.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ enum FlutterpiTargetPlatform {
6666
pi3.tuned32('pi3', 'armv7-generic', 'arm-linux-gnueabihf'),
6767
pi3_64.tuned64('pi3-64', 'aarch64-generic', 'aarch64-linux-gnu'),
6868
pi4.tuned32('pi4', 'armv7-generic', 'arm-linux-gnueabihf'),
69-
pi4_64.tuned64('pi4-64', 'aarch64-generic', 'aarch64-linux-gnu');
69+
pi4_64.tuned64('pi4-64', 'aarch64-generic', 'aarch64-linux-gnu'),
70+
pi5_64.tuned64('pi5-64', 'aarch64-generic', 'aarch64-linux-gnu');
7071

7172
const FlutterpiTargetPlatform.generic64(this.shortName, this.triple)
7273
: isGeneric = true,

lib/src/devices/flutterpi_ssh/device.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,8 @@ class FlutterpiSshDevice extends fl.Device {
717717
FlutterpiTargetPlatform.genericRiscv64 => fl.TargetPlatform.linux_arm64,
718718
FlutterpiTargetPlatform.genericAArch64 ||
719719
FlutterpiTargetPlatform.pi3_64 ||
720-
FlutterpiTargetPlatform.pi4_64 =>
720+
FlutterpiTargetPlatform.pi4_64 ||
721+
FlutterpiTargetPlatform.pi5_64 =>
721722
fl.TargetPlatform.linux_arm64,
722723
FlutterpiTargetPlatform.genericX64 => fl.TargetPlatform.linux_x64,
723724
};

0 commit comments

Comments
 (0)