Profinet从站开发(4)- EB200P step by step (编译PN协议栈)

2023-11-20 21:10

本文主要是介绍Profinet从站开发(4)- EB200P step by step (编译PN协议栈),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装协议栈

拿到EB200P安装光盘(4.4固件)后,首先运行Setup进行安装,一路默认设置就好。

安装完成后,会在C:\Program Files (x86)找到文件夹DEVKIT44,这是协议栈开发包的全部内容。首先将DEVKIT44复制到非系统盘(比如D盘)根目录下。很多人喜欢把协议栈放到其他文件夹内(比如包含中文或者很深的路径),本人不建议这么做,会造成很多不必要的麻烦。

首先看看协议栈里都有什么:

_tool: eCOS配置工具

BootableBinary: EB200P初始固件,以及固件下载工具和脚本

Doc: 所有的文档 (Datasheet,User Manual, EB200P的原理图以及Mini Design的全部设计文件...)所有重要的文档都在里面了

eclipse: 集成开发环境(C/C++),这个不用多说,将来所有的固件开发调试都在Eclipse上完成

ecos_proj: ecos eclipse 项目

ecos_target: ecos 的编译输出

GSDML: EB200P GSDML 文件,在TIA Portal中添加

msys: ecos的源代码和ARM交叉编译环境

pnio_proj: PN协议栈eclipse 项目

pnio_src: PN协议栈的源代码

Simatic_TIA: PLC 测试程序

tools: USB/TTL 驱动程序,基于PNDriver的 简易主站...

导入项目文件

首先在运行Eclipse:

Eclipse 运行后的界面如下,如果无法运行,参照前一章的环境配置。

接下来导入项目,首先导入eCOS项目。点击菜单 File->Import,选择General 下的Existing Projects into Workspace。

选择下一步(Next), 找到协议栈文件夹内的ecos_proj,导入到Eclipse中

按照同样方式导入pnio_proj

这样,所有的项目文件都已经导入到Eclipse中。注意Eclipse中会出现如下错误信息,可以忽略


开始编译

首先编译ECOS操作系统,在Eclipse右侧的窗口双击 Build 16bit EB200P。注意(1. 如果不是首次编译,先运行fullclean ... 清除中间文件 2. 如果用的评估板是EB200P-2,运行 build EB200P)

gcc的输出可以在Console中看到,如果配置正确会看到如下输出结果

接着编译PN协议栈,由于PN协议栈是基于ECOS系统的,所以编译的顺序不能更改。另外eCOS是作为静态库的方式与PN协议栈一起编译的。

首先选择编译配置Debug_16bit_EB200P。右键点击EK_ERTEC项目,按下图所示选择配置:


选择好配置后就可以点击榔头状的按钮进行编译了

如果编译正确就可以看到如下输出:

可以看到编译输出有两个文件:

PNIO4ECOS是包含调试信息的elf文件,可以用来下载到SDRAM调试运行。

ecos.bin是2进制固件文件,可以烧写到flash中运行。

这两个文件可以在/DEVKIT44/pnio_proj/ertec/Debug_16bit_EB200P中找到。(注意:重复编译前手动清除ecos.bin, 否则固件不会更新,注意文件的时间戳)

下载调试方法会在下一章介绍。

这篇关于Profinet从站开发(4)- EB200P step by step (编译PN协议栈)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397461

相关文章

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3