移植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 ...
随机推荐
- linux 服务自动调用
php服务地址: http://192.168.2.117/web/index.php/buy/auctionselect 编写脚本service.sh,内容: #! /bin/sh crul htt ...
- shell 的判断与比较
1 shell 的$! ,$?, $$,$@ $n $1 the first parameter,$2 the second... $# The number of co ...
- CImage 获取图片RGB 、图片高和宽;
1 CImage img , img1 ,imDest; 2 img1.Load( 图片路径); 3 img.Load( 图片路径); 4 为了防止图片失真,先处理一下在把图片显示出来 5 SetSt ...
- DirectShow系统初级指南
流媒体的处理,以其复杂性和技术性,一向广受工业界的关注.特别伴随着因特网的普及,流媒体在网络上的广泛应用,怎样使流媒体的处理变得简单而富有成效逐渐成为了焦点问题.选择一种合适的应用方案,事半功倍.此时 ...
- 如何使用 orachk 工具
Oracle RAC 安装完毕后的健壮性是一个令人头疼的问题.之前Oracle为之专门推出了raccheck工具,确实方便了我们这些个苦逼的DBA.现在Oracle在raccheck的基础之上又推出了 ...
- js获取客户端IP及地理位置
php获取方法: 1.<?php 2.function get_ip_place(){ 3.$ip=file_get_contents("http://fw.qq.com/ipaddr ...
- Oracle 课程九之绑定变量
课程目标 完成本课程的学习后,您应该能够: •变量绑定的目的 •父子游标 •游标共享 •绑定窥探 •SQL语句处理流程 •硬解析.软解析.软软解析 •变量绑定的应用场景 1.游标 游标可以理解为S ...
- 在web.config里使用configSource分隔各类配置
转:http://www.yongfa365.com/Item/using-configSource-Split-Configs.html 大型项目中,可能有多个Service,也就是会有一堆配置,而 ...
- centos软件环境
1,保持能链接外网和yum的可用性. 注意:yum配置项中最好:keepcache=1 2,yum install gcc, gcc-c++, make, cmake, 3, ntfs-3g wget ...
- Android中ListView中有button,checkbox,GridView时事件问题
最近做项目,用到了listview的item的一些问题,现在抽空把它们总结一下: 转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/67 ...