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

相关文章

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件