Skip to content

Commit

Permalink
Merge pull request #267 from andreriesco/dev
Browse files Browse the repository at this point in the history
dotnetUno5: Add support for arm32 on dotnetUno5(and FrameBuffer) temp…
  • Loading branch information
microhobby authored Oct 10, 2024
2 parents df4eeec + 1086f23 commit 8dae6d3
Show file tree
Hide file tree
Showing 12 changed files with 476 additions and 89 deletions.
8 changes: 5 additions & 3 deletions DEPRECATED.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Deprecated templates

| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR |
| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- |
| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) |
| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) |

Due to the eminent EOL of .NET 6, .NET 6 Uno and .NET 6 Uno FrameBuffer templates are deprecated, being replaced by the [.NET 8 Uno 5](./dotnetUno5) and [.NET 8 Uno 5 FrameBuffer](./dotnetUno5FrameBuffer) templates.

Due to the quite big difference between .NET 6 Uno 4 and .NET 8 Uno 5, it is not possible to update the project via `try-update-template` task. To update it, create a new .NET 8 Uno 5 clean project and update the source files accordingly.

| ![](assets/img/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) |
| ![](assets/img/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) |
132 changes: 64 additions & 68 deletions README.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions aspnetBlazor/.vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
},
{
"label": "publish-debug-arm",
"detail": "dotnet build command for debugging the application on an armhf target",
"detail": "dotnet publish command for debugging the application on an armhf target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down Expand Up @@ -224,7 +224,7 @@
},
{
"label": "publish-debug-amd64",
"detail": "dotnet build command for debugging the application on an amd64 target",
"detail": "dotnet publish command for debugging the application on an amd64 target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down Expand Up @@ -321,7 +321,7 @@
},
{
"label": "publish-debug-arm64",
"detail": "dotnet build command for debugging the application on an arm64 target",
"detail": "dotnet publish command for debugging the application on an arm64 target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down
6 changes: 3 additions & 3 deletions dotnetAvalonia/.vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
},
{
"label": "publish-debug-arm",
"detail": "dotnet build command for debugging the application on an armhf target",
"detail": "dotnet publish command for debugging the application on an armhf target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down Expand Up @@ -243,7 +243,7 @@
},
{
"label": "publish-debug-arm64",
"detail": "dotnet build command for debugging the application on an arm64 target",
"detail": "dotnet publish command for debugging the application on an arm64 target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down Expand Up @@ -344,7 +344,7 @@
},
{
"label": "publish-debug-amd64",
"detail": "dotnet build command for debugging the application on an amd64 target",
"detail": "dotnet publish command for debugging the application on an amd64 target",
"hide": false,
"type": "shell",
"command": "rm",
Expand Down
2 changes: 1 addition & 1 deletion dotnetAvaloniaFrameBuffer/.vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
},
{
"label": "publish-debug-arm",
"detail": "dotnet build command for debugging the application on an armhf target",
"detail": "dotnet publish command for debugging the application on an armhf target",
"command": "dotnet",
"type": "process",
"args": [
Expand Down
33 changes: 33 additions & 0 deletions dotnetUno5/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,39 @@
},
"preLaunchTask": "deploy-torizon-arm64"
},
{
"name": "Torizon ARMv7",
"type": "coreclr",
"request": "launch",
"program": "${config:torizon_app_root}/__change__.Skia.Gtk",
"cwd": "${config:torizon_app_root}",
"stopAtEntry": false,
"console": "internalConsole",
"env": {
"DOTNET_MODIFIABLE_ASSEMBLIES": "debug",
//"GDK_BACKEND": "x11",
//"GDK_GL": "gles",
"UNO_FULLSCREEN": "true"
},
"args": [],
"pipeTransport": {
"pipeCwd": "${workspaceFolder}",
"pipeProgram": "ssh",
"pipeArgs": [
"-T",
"-q",
"-p",
"${config:torizon_debug_ssh_port}",
"-o",
"StrictHostKeyChecking=no",
"-o",
"UserKnownHostsFile /dev/null",
"${config:torizon_run_as}@${config:torizon_ip}" // user@device
],
"debuggerPath": "/vsdbg/vsdbg"
},
"preLaunchTask": "deploy-torizon-arm"
},
{
"name": "Torizon AMD64",
"type": "coreclr",
Expand Down
160 changes: 154 additions & 6 deletions dotnetUno5/.vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@
}
},
{
"label": "publish-debug-amd64",
"detail": "",
"label": "publish-debug-arm64",
"detail": "dotnet publish command for debugging the application on an arm64 target",
"command": "dotnet",
"type": "process",
"args": [
Expand All @@ -137,7 +137,7 @@
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"-r",
"linux-amd64",
"linux-arm64",
"--no-self-contained"
],
"dependsOrder": "sequence",
Expand All @@ -155,8 +155,8 @@
}
},
{
"label": "publish-debug-arm64",
"detail": "",
"label": "publish-debug-arm",
"detail": "dotnet publish command for debugging the application on an armhf target",
"command": "dotnet",
"type": "process",
"args": [
Expand All @@ -167,7 +167,37 @@
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"-r",
"linux-arm64",
"linux-arm",
"--no-self-contained"
],
"dependsOrder": "sequence",
"problemMatcher": "$msCompile",
"icon": {
"id": "tools",
"color": "terminal.ansiYellow"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"group": "build-execution"
}
},
{
"label": "publish-debug-amd64",
"detail": "dotnet publish command for debugging the application on an amd64 target",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"-c",
"Debug",
"${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"-r",
"linux-amd64",
"--no-self-contained"
],
"dependsOrder": "sequence",
Expand Down Expand Up @@ -224,6 +254,46 @@
"group": "build-execution"
}
},
{
"label": "deploy-torizon-arm",
"detail": "",
"hide": true,
"command": "rsync",
"type": "process",
"args": [
"-P",
"-av",
"-e",
"ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null",
"${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net8.0/linux-arm/publish/",
"${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}"
],
"dependsOn": [
"validate-settings",
"validate-arch-arm",
"copy-docker-compose",
"pre-cleanup",
"publish-debug-arm",
"build-container-torizon-debug-arm",
"push-container-torizon-debug-arm",
"pull-container-torizon-debug-arm",
"run-container-torizon-debug-arm",
"pos-cleanup"
],
"dependsOrder": "sequence",
"problemMatcher": "$msCompile",
"icon": {
"id": "debug-alt",
"color": "terminal.ansiYellow"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"group": "build-execution"
}
},
{
"label": "deploy-torizon-amd64",
"detail": "",
Expand Down Expand Up @@ -314,6 +384,58 @@
"group": "build-execution"
}
},
{
"label": "clean-debug-arm",
"detail": "dotnet clean command for cleaning the application build for the armhf target",
"command": "dotnet",
"type": "process",
"args": [
"clean",
"${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj",
"-c",
"Debug",
"-r",
"linux-arm"
],
"problemMatcher": "$msCompile",
"icon": {
"id": "trash",
"color": "terminal.ansiYellow"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"group": "build-execution"
}
},
{
"label": "clean-debug-amd64",
"detail": "dotnet clean command for cleaning the application build for the amd64 target",
"command": "dotnet",
"type": "process",
"args": [
"clean",
"${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj",
"-c",
"Debug",
"-r",
"linux-amd64"
],
"problemMatcher": "$msCompile",
"icon": {
"id": "trash",
"color": "terminal.ansiYellow"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"group": "build-execution"
}
},
{
"label": "run-app-for-hot-reload-local",
"hide": true,
Expand Down Expand Up @@ -440,6 +562,32 @@
"group": "build-execution"
}
},
{
"label": "launch-hot-reload-arm",
"detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.",
"command": "echo",
"type": "shell",
"args": [
""
],
"dependsOrder": "sequence",
"dependsOn": [
"config-hot-reload-address",
"deploy-torizon-arm",
"run-app-for-hot-reload"
],
"icon": {
"id": "vm-connect",
"color": "terminal.ansiYellow"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"group": "build-execution"
}
},
{
"label": "launch-hot-reload-amd64",
"detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.",
Expand Down
24 changes: 24 additions & 0 deletions dotnetUno5FrameBuffer/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,30 @@
"preLaunchTask": "run-torizon-arm64-debug",
"postDebugTask": "stop-torizon-and-clean-framebuffer"
},
{
"name": "Torizon ARMv7",
"type": "coreclr",
"request": "attach",
"processName": "__change__.Skia.Linux.FrameBuffer",
"pipeTransport": {
"pipeCwd": "${workspaceFolder}",
"pipeProgram": "ssh",
"pipeArgs": [
"-T",
"-q",
"-p",
"${config:torizon_debug_ssh_port}",
"-o",
"StrictHostKeyChecking=no",
"-o",
"UserKnownHostsFile /dev/null",
"${config:torizon_run_as}@${config:torizon_ip}" // user@device
],
"debuggerPath": "/vsdbg/vsdbg"
},
"preLaunchTask": "run-torizon-arm-debug",
"postDebugTask": "stop-torizon-and-clean-framebuffer"
},
{
"name": "Torizon AMD64",
"type": "coreclr",
Expand Down
Loading

0 comments on commit 8dae6d3

Please sign in to comment.