移植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 ...
随机推荐
- LeetCode: JumpGame 1 and 2
Title : Given an array of non-negative integers, you are initially positioned at the first index of ...
- zoj 1842 Prime Distance
// 数论题,增强的筛法,回想素数筛法 // 只要筛到最大数的开方,剩下的就是素数 // 于是这里,开一个 sqrt(2^31) 大约 65536 的素数表,然后 // 对于每个 L~U 的区间,筛掉 ...
- liunx安装qq
http://www.07net01.com/电脑玩物 http://www.07net01.com/2014/09/68186.html 安装qq 一开始,我在ubuntu14.04下安装的QQ版本 ...
- [端API] 控件在一个页面里open了,但其他页面打开这个控件怎么关闭
加在控件的参数里<script type="text/javascript" src="../script/api.js"></script& ...
- VS2013密匙
在网上找到的,亲测有用: BWG7X-J98B3-W34RT-33B3R-JVYW9
- Linux下利用ioctl函数获取网卡信息
linux下的ioctl函数原型如下: #include <sys/ioctl.h> int ioctl(int handle, int cmd, [int *argc, int argv ...
- poj 4052(ac自动机)
题意:自己百度吧!! 分析:就是通过它的fail指针来找出它的子串就行了,这题其实不难的.这好像还是金华邀请赛的题哦! 代码实现: #include<cstdio> #include< ...
- Redis,Memcache,mongoDB的区别
从以下几个维度,对redis.memcache.mongoDB 做了对比,欢迎拍砖 1.性能 都比较高,性能对我们来说应该都不是瓶颈 总体来讲,TPS方面redis和memcache差不多,要大于mo ...
- Calling C++ code from C# z
http://blogs.msdn.com/b/borisj/archive/2006/09/28/769708.aspx I apologize for the long delay for thi ...
- C++标准库开发心得
最近放弃MFC,改用C++标准库开发产品.毕竟MFC用熟了,马上改用STL还不太习惯.下面列出下总结的改用STL遇到的问题和解决办法: 1.清除空格 remove_if(iterBegin, iter ...