1. 查看 Zynq Linux 版本
通过 Tera Term 软件,远程登录到 Zynq 系统上,运行命令:
uname -a
显示如下(系统是 armv7l):
2. 编译适用于 arm 版本的 Grpc 服务可执行程序
Grpc 服务代码目录下,执行命令:
dotnet publish -r linux-arm
// 解决方案下存在多个项目时,使用命令:
dotnet publish 项目名.csproj -r linux-arm
3. 在 Zynq 上运行 Grpc 服务
运行出现错误:
./GrpcGreeter: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决方案:
在 Xilinx SDK 安装目录下搜索 libstdc++.so.6,将 aarch32(armv7l 是 32位系统) 目录下的如下图所示的两个文件拷贝到 Zynq 的 /lib 目录下
重新运行 Grpc 服务,出现错误:
./GrpcGreeter: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
解决方案:同上,将如下图所示目录下的 libgcc_s.so.1 拷贝到 Zynq 的 /lib 目录下
重新运行 Grpc 服务,出现错误:
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
解决方案:修改 Grpc 服务源码项目的 .csproj 文件,添加:
<ItemGroup> <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true"/> </ItemGroup>
如下图所示:
参考:NET 的全球化模式 NET Core Globalization Invariant Mode
重新运行 Grpc 服务,成功。如下图所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗