移植FreeModbus+ModbusMaster+STM32至RT-Thread(初步)
一、项目描述
目前操作系统在嵌入式软件行业非常流行,在工控组网方面,以后可能会经常使用到Modbus主机+操作系统、Modbus从机+操作系统甚至Modbus主机+Modbus从机+操作系统。但是操作系统缺乏对Modbus的支持;同时市面上也有很好的开源Modbus协议栈,例如FreeModbus,但是缺点就是该协议栈只支持从机,网上缺乏它和操作系统结合的案例。
操作系统方面,出于对国人的支持,公司主导使用RT-Thread这个开源的国人操作系统,并且公司有其许可证,其的稳定性已经得到充分验证。
目前还有一个难题就是关于FreeModbus主机的支持,笔者初步打算修改FreeModbus源码,增加Modbus主机功能,这个工作放在第二步。操作系统和协议栈都有了,接下来的工作就容易了。
该项目软件将采用Keil+IAR+Eclipse三大IDE同步开发,Keil方便调试,IAR作为Eclipse编译STM32的工具,Eclipse作为最主要的编码平台,方便灵活快捷。更重要的是Eclipse支持强大的版本管理插件,在该项目中将采用GIT作为默认的版本管理软件。
项目的实时进展我都会在博客中进行更新,希望大家持续关注!
(备注:如果您需要把这个项目商用,请及时联系RT-Thread给您授权)
二、项目目标
硬件平台选择STM32F103CBT6,软件平台:Keil+IAR+Eclipse+GIT。目标共有4个阶段,由于笔者在公司工作繁忙,没法把全部精力放在上面。初步估计一个月时间完成
1、RT-Thread+STM32 2013.08.01--2013.08.02
2、FreeModbus+RT-Thread+STM32 2013.08.02--2013.08.05
3、FreeModbusMaster+RT-Thread+STM32 2013.08.06--2013.08.20 (备注:FreeModbusMaster为自己修改FreeModbus后增加主机功能的协议栈
4、FreeModbusMaster+ FreeModbus +RT-Thread+STM32 2013.08.20--2013.08.30
三、项目准备
软件平台:(使用任意一种即可)
序号 名称 版本 主要功能 备注
1 Keil MDK 4.12 调试
2 IAR EWARM 6.50 给Eclipse提供开发STM32插件
3 Eclipse Indigo 编码、版本管理 安装CDT、EGIT、IAR插件
硬件平台:
准备一块具有两个串口的STM32F103系列开发板即可,RAM及Flash至少20K以上
移植FreeModbus+ModbusMaster+STM32至RT-Thread(初步)的更多相关文章
- 移植FreeModbus+ModbusMaster+STM32至RT-Thread(3、4阶段)
一.简介及进展 经过一个多月的努力,目前项目开发已进入最后阶段.虽然比预期时间有些延迟,但也收获不少,边工作边开源的效率确实还有待提高. 简单说下目前的进展吧 1.目前项目已经在Github中开源,大 ...
- FreeModbus for stm32(Keil工程)——精简Modbus slave协议【worlsing笔记】
FreeModbus For stm32:点击下载源码 1.测试环境Keil MDK 4.7a stm32f103c8, PB12为输出线圈, 可以通过Modbus Poll来控制线圈的输出状 ...
- Port of FreeModbus to STM32
/********************************************************************************* * Port of FreeMod ...
- RT Thread 通过ENV来配置SFUD,操作SPI Flash
本实验基于正点原子stm32f4探索者板子 请移步我的RT Thread论坛帖子. https://www.rt-thread.org/qa/forum.php?mod=viewthread& ...
- STM32 + RT Thread OS 学习笔记[二]
串口通讯例程 通过上面的练习,对STM32项目开发有了一个直观印象,接下来尝试对串口RS232进行操作. 1. 目标需求: 开机打开串口1,侦听上位机(使用电脑串口测试软件)发送的信息,然后原样输 ...
- STM32 + RT Thread OS 串口通讯
1. 创建项目 a) 禁用Finsh和console b) 默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1.因 ...
- STM32 + RT Thread OS 学习笔记[三]
RTGUI 据说RTGUI是多线程的,因此与RT-Thread OS的耦合度较高,有可能要访问RT-Thread的线程控制块.如果要移植到其它OS,估计难度较大.目前还处于Alpha状态,最终将会包含 ...
- STM32 + RT Thread OS 学习笔记[四]
1. 补注 a) 硬件,打通通讯通道 若学习者购买了学习板,通常可以在学习板提供的示例代码中找到LCD的相关驱动代码,基本上,这里的驱动的所有代码都可以从里面找到. 从上面的示意图可见,M ...
- 移植mavlink到stm32详细教程,后面附快速移植方法
一:准备材料: mavlink源码 stm32串口程序 1.mavlink源码: a.进入mavlink官网(http://qgroundcontrol.org/mavlink/s ...
随机推荐
- 持有对象:总结JAVA中的常用容器和迭代器,随机数 速查
JAVA使用术语“Collection”来指代那些表示集合的对象,JAVA提供的接口很多,首先我们先来记住他们的层次结构: java集合框架的基本接口/类层次结构 java.util.Collecti ...
- linux面试题2
1. 在Linux系统中,以文件的方式访问设备 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统 3. Linux文件系统中每个文件用inode来标识 4. 链接分为 ...
- css中position:relative的真正理解
其实话说一直以来也没真正去理解好position:relative的用法的真实意义. 我想很多人实实在在用的多都是position:relative和position:absolute结合起来一起用的 ...
- Hilbert先生旅馆的故事
以前上实变函数的时候稍微讲了下这个故事呢. 来自Hansschwarzkopf 很久很久以前,在欧洲某国的一个小镇上,Hilbert先生开了一家拥有无数个房间的旅馆.一天,旅馆生意红火得一塌糊涂,不到 ...
- 转载:C语言的谜题
转载:http://coolshell.cn/articles/945.html 这几天,本站推出了几篇关于C语言的很多文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? ...
- bjfu1097 图标排列
这是2011年百度之星的一道题.这题的做法就是找规律,规律找对了,代码极水.规律我一开始也没有找到,后来经人提醒,发现如下规律:对于每个开发者,其所有应用的分离度和一定是其第一个应用与最后一个应用的距 ...
- 用VBS脚本发邮件
需求是这样的:针对账号的管理,如果发现该账号的管理员给账号加了批注,(比如要过期,修改密码,完善资料等),就需要找到这样的账号及其管理的邮件,然后发邮件给他们的管理员同时抄送给账号以达到提醒的目的.那 ...
- ASP.NET中常用的字符串分割函数
asp.net字符串分割函数用法 先来看个简单的实例 但是其数组长度却是25,而不是3.下面这种方法是先将“[111cn.net]”替换成一个特殊字符,比如$,在根据这个字符执行Split 例如下面我 ...
- python 入门实践之网页数据抓取
这个不错.正好入门学习使用. 1.其中用到 feedparser: 技巧:使用 Universal Feed Parser 驾驭 RSS http://www.ibm.com/developerwor ...
- MFC DLL 资源模块句柄切换[转]
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上 AFX_MANAGE_STATE(AfxGetStaticModuleState()).一直不明白这样 ...