乐于分享
好东西不私藏

ICS C# Board SDK 使用说明

ICS C# Board SDK 使用说明

使用本 SDK,开发者可以完全使用 C# 语言开发嵌入式应用程序,无需接触任何 C 语言或底层代码。


📋 环境要求

  • 操作系统: Windows

  • .NET SDK.NET 10 SDK

  • ICS C# SDKICS C# SDK (Gitee)


📥 第一步:安装 ICS C# SDK

下载 SDK 后,务必以管理员身份运行 PublishIcsCsharpSdk.exe

  • 操作方式:右键点击文件 → 选择“以管理员身份运行”

⚠️ 必须使用管理员权限,否则可能导致安装失败。


📁 第二步:创建用户工程

  1. 新建一个文件夹作为项目目录。

  2. 在该目录下创建一个 .csproj文件,内容如下:

xml

复制

<ProjectSdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- 请将此处路径修改为你本机 SDK 的实际存放目录 -->
<IcsCSharpSdk>D:\Project\ICS_CSharpBoardSdk\ICS</IcsCSharpSdk>
<DisableUnsupportedError>true</DisableUnsupportedError>
<InvariantGlobalization>true</InvariantGlobalization>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>

<ItemGroup>
<PrivateSdkAssembliesInclude="$(IlcSdkPath)\*.dll" />
</ItemGroup>

<!-- 按需引用 SDK 中的库,例如下方的 RTOS 通用库 -->
<ItemGroup>
<ProjectReferenceInclude="$(IcsCSharpSdk)\csharp_libs\Ics.Rtos\Ics.Rtos.Common\Ics.Rtos.Common.csproj" />
</ItemGroup>

<ImportProject="$(IcsCSharpSdk)\targets\Ics.NativeAot.Nuttx.targets" />

</Project>

注意:请务必将 <IcsCSharpSdk>标签的值修改为你本机 SDK 的实际路径。

关于库引用:SDK 的 csharp_libs目录下提供了 C# 版本的封装库。这些库通过 P/Invoke 技术调用了底层的 C 语言驱动程序,为上层应用提供了纯 C# 的编程接口。在开发应用时,必须引用基础库 Ics.Rtos.Common以完成初始化。


✍️ 第三步:编写应用程序

在工程目录下创建 Program.cs文件,编写你的应用程序逻辑。完全使用标准 C# 语法即可,无需关心底层细节。

示例代码

csharp

复制

using System;
using Ics.Rtos.Common;

// 初始化RTOS环境
Ics.Rtos.Common.Ics.Initialize();
Console.WriteLine("Hello from C# on embedded board!");

while (true)
{
// 在此处编写你的业务逻辑
    System.Threading.Thread.Sleep(1000);
}

🔨 第四步:编译工程

打开命令行工具,进入你的工程目录,执行以下编译命令:

bash

复制

dotnet publish -c Release -r linux-arm /p:PublishAot=true

编译成功后,生成的可执行文件位于:

复制

bin\ARM32\Release\net10.0\linux-arm\publish\nuttx.bin

🚀 第五步:部署与运行

  1. 部署:将生成的 nuttx.bin文件拷贝到 SD 卡的 ics文件夹中。

  2. 上电:将 SD 卡插回开发板,然后重新上电。

  3. 运行:程序将自动开始运行!


💡 社区共建招募

我们希望构建一个更完善的 C# 嵌入式开发生态,诚邀志同道合的小伙伴加入!

  1. P/Invoke 封装开发者

    目前,项目的底层 C 语言驱动程序已较为完善,但还需要更多开发者参与,将这些驱动通过 P/Invoke 技术封装成易于使用的 C# 库,以丰富 csharp_libs的功能。如果你熟悉 C# 与 C 的互操作,欢迎加入我们。

  2. 内容与社区运营伙伴

    我们需要擅长通过公众号、知乎、B站、CSDN等平台进行技术推广和社区建设的伙伴。如果你对嵌入式、.NET 技术有热情,并乐于分享和传播,期待与你合作!

感兴趣的朋友,欢迎私信详谈!


现在,你就可以尽情使用 C# 在嵌入式世界畅游了!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » ICS C# Board SDK 使用说明

猜你喜欢

  • 暂无文章