发新帖本帖赏金 10.00元(功能说明)我要提问
12下一页
返回列表
打印
[STM32F1]

【eBox生态圈】简化STM32编程,4个月完成eBox固件库

[复制链接]
4946|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shentq|  楼主 | 2016-1-14 18:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shentq 于 2016-1-15 16:31 编辑

四个月。。。真是不知该从何说起,这四个月应该说是,除了上班,剩下的时间都贡献给eBox了。
鄙人接触STM32有些年头了,也做过很多工程项目首选的控制器就是STM32,觉得STM32还是比较好用的一款芯片。随着项目的增多,发现每次做电路板回来都要调试板子上各种芯片的驱动,即使以前写过的驱动,也得修改IO等其他配置,说心里话
STM32的配置还是比较复杂的,我倒现在都没记住所有硬件外设的配置方法,每次都要查阅手册和芯片资料,不知各位大侠是不是也有此感觉。所以就心生念头,解决这个问题,让STM32像Arduino一样!这就是eBox最开始的想法。ST官方好像有个
maple,但是我没用过,就看过几眼介绍,然后决定不喜欢。然后就是4个月的熬夜。。。到今天终于完成了软硬件!!!
一、了解什么是eBox
eBox是一个运行在STM32平台上的涵盖了驱动层、系统层、标准应用软件层、用户软件层和bootloader的软硬件一体化的解决方案。丰富的标准驱动和标准应用,像用Arduino那样方便,性能又远高于arduino。操作系统的支持让eBox满足多任务系统的需求;标准应用为你提供多种控制算法、通信协议,满足不同应用场所的需求。
二、程序架构

有了这样一个程序架构,谢代码就可以明确代码功能和依赖关系,有助于代码层次化分明。
三、编程语言
eBox是基于c/c++编程实现的。需要学习简单c/c++的语言知识。
四、外设固件库支持列表
        ●数字IO,PA0-PG15所有引脚
        ●ADC1的16个通道,CH1-16
        ●通用定时器TIM2、3、4的定时中断
        ●高级定时器TIM1的定时中断
        ●12路PWM
        ●16通道的外部中断,可影射所有引脚
        ●硬件SPI1、2
        ●硬件I2C1、2
        ●软件SPI,支持任意IO配置
        ●软件件I2C,支持任意IO配置
        ●串口,支持USART1、2、3
        ●实时时钟RTC
        ●内部flash编程
目前也就调试了这么多了。外设固件库是对官方固件库的接口重新封装,基本是以外设描述性质的参数去初始化,所有外设具有较为统一的调用方法。
五、驱动库
eBox驱动是eBox固件最大的亮点,在用户下载标准的eBox驱动后只需做简单的IO连接、通信接口连接即可,不需要做何寄存器相关的任何修改即可将驱动程序移植到本地。从根本解决了STM32驱动移植性差的根本问题,大大降低用户驱动开发、调试难度。
驱动框架

目前提供的驱动列表有:
        ●74HC595串入并出转换芯片驱动
        ●独立按键(作者认为非常好使的按键程序)
        ●编码器按键驱动
        ●LCD1602显示器驱动
        ●Nokia5110显示器驱动
        ●DS3231实时时钟驱动
        ●MPU6050飞控必备的6轴传感器驱动
        ●L3G4200D三轴数字陀螺仪驱动
        ●LSM303DHLC三轴电子罗盘驱动
        ●AT24C02存储芯片驱动
        ●W25X16系列spi flash存储芯片驱动
        ●W5500网络控制器驱动
        ●SD/TF卡驱动
        ●三基色LED驱动,支持HSV、HSL调色。
        ●WS2812单线最牛三基色LED控制器,内部自带gamma校正,软件支持HSV、HSL调色。
在限定的格式下下出来的驱动可移植性是非常高的。只要是基于eBox固件库编写的驱动,不需要做任何修改即可用于不同的项目中,当然初始化那个接口中包含了你自己的硬件连接信息。驱动架构在编程指南中有详细介绍。此处不再啰嗦。
六、标准应用层
        ●常用工程数学、控制库(正在更新。。。)
        ●网络通信
        ●文件系统
        ●色彩控制、转换器
        ●等等
这一层提供了通用的应用软件,包括通信、文件系统、一些数学、控制算法。方便用户在不同的应用领域的使用。
七、操作系统
        自己写的(调度思想是大牛mango提供的)一个全抢占式操作系统。最大支持32个不同优先级任务(优先级不能相同),支持CPU使用率的统计,任务堆栈使用率的统计,任务的挂起。最大的特点就是简单高效,容易上手。
用户可以根据自己的习惯是否使用操作系统。
到此软件基本的状况就是这样了,下面简单的说下硬件
eBox-SPARK
寓意:星星之火、亦可燎原。希望能让更多的用户参与eBox生态圈的发展中,成为大家都认可的平台。方便大家使用。
上图


这是硬件的基本情况、主控选择了STM32F103C8T6,外设主要包含了一个W5500网络控制器、SD/TF卡、按键、LED。
为什么没有添加更多的外设?
一是成本考虑、二是必要性的考虑。SPARK主要是为了引导大家入门eBox的编程。用排针的方式引出来更通用,可以让用户连接自己的外设,做实验。
eBox的宗旨:
彻底简化STM32编程、打造eBox生态圈!

eBox最大的亮点在于,开源驱动的共享。以后每个人写的代码上传到咱们论坛里,让坛友下载后即可以使用。我一个人能写的驱动数量是有限的,只有更多人参与进来才能让驱动丰富起来!
目前核心内容趋于稳定,才面向大家提供了资料,日后会经常更新的。
eBox花费了我的大量精力和时间,其中包含了无数个通宵达旦和大把的*币。。。
希望坛友支持下!
本来想上传资料呢,结果文件大小受到限制,链接没有权限。。。。终于升级了!!!
教程: 1.教程.rar (3.81 MB)
最新代码:
ebox_stm32-master.zip (1.32 MB)
由于代码更新过快,编程指南中部分内容可能没及时更新!




打赏榜单

21ic小喇叭 打赏了 10.00 元 2016-01-15
理由:资料分享~~~

评分
参与人数 1威望 +3 收起 理由
justtest111 + 3 助你升级
来自 2楼
shentq|  楼主 | 2016-1-15 12:52 | 只看该作者
本帖最后由 shentq 于 2016-1-15 16:57 编辑
犹豫的大三 发表于 2016-1-15 09:46
我是非常支持楼主的,楼主说怎么支持比较好?

我在淘宝上有卖的。可以在淘宝搜索“ebox 开发板”。我也再发几个帖子,提升下我的权限。争取尽早能上传资料

使用特权

评论回复
板凳
wejoncy| | 2016-1-14 20:44 | 只看该作者
太厉害了,顶 ,期待楼主的资料

使用特权

评论回复
地板
diweo| | 2016-1-15 07:57 | 只看该作者
非常支持

使用特权

评论回复
5
犹豫的大三| | 2016-1-15 09:46 | 只看该作者
我是非常支持楼主的,楼主说怎么支持比较好?

使用特权

评论回复
6
shentq|  楼主 | 2016-1-15 12:41 | 只看该作者
wejoncy 发表于 2016-1-14 20:44
太厉害了,顶 ,期待楼主的资料

我不能上传链接,也不能上传资料。头疼。希望管理员看到以后能给我开个权限

使用特权

评论回复
7
shentq|  楼主 | 2016-1-15 12:42 | 只看该作者
wejoncy 发表于 2016-1-14 20:44
太厉害了,顶 ,期待楼主的资料

我刚才看到一个编辑推荐。。。。

使用特权

评论回复
8
wejoncy| | 2016-1-15 13:31 | 只看该作者
shentq 发表于 2016-1-15 12:41
我不能上传链接,也不能上传资料。头疼。希望管理员看到以后能给我开个权限 ...

楼主可以放网盘,传个链接试试
另外多在论坛露漏脸,期待哦:P

使用特权

评论回复
9
弓长月月鸟| | 2016-1-15 13:39 | 只看该作者
可以考虑把资料放在百度盘上。这样也是一样的分享啊,楼主

使用特权

评论回复
10
shentq|  楼主 | 2016-1-15 14:02 | 只看该作者
wejoncy 发表于 2016-1-15 13:31
楼主可以放网盘,传个链接试试
另外多在论坛露漏脸,期待哦

没有权限上传链接

使用特权

评论回复
11
shentq|  楼主 | 2016-1-15 14:02 | 只看该作者
弓长月月鸟 发表于 2016-1-15 13:39
可以考虑把资料放在百度盘上。这样也是一样的分享啊,楼主

正在提升我的权限

使用特权

评论回复
12
shentq|  楼主 | 2016-1-15 14:05 | 只看该作者
上传一个头像

使用特权

评论回复
13
qfmike| | 2016-1-15 14:12 | 只看该作者
好,继续.

使用特权

评论回复
14
qfmike| | 2016-1-15 14:16 | 只看该作者
s tm用什么语言,推荐一下看那本书更实际

使用特权

评论回复
15
gyh974| | 2016-1-15 14:46 | 只看该作者
为楼主点赞

使用特权

评论回复
16
shentq|  楼主 | 2016-1-15 14:48 | 只看该作者
qfmike 发表于 2016-1-15 14:16
s tm用什么语言,推荐一下看那本书更实际

我这个是用c++开发的

使用特权

评论回复
17
shentq|  楼主 | 2016-1-15 14:49 | 只看该作者
qfmike 发表于 2016-1-15 14:16
s tm用什么语言,推荐一下看那本书更实际

教程里面有一个c++的基础培训

使用特权

评论回复
18
autopccopy| | 2016-1-15 16:08 | 只看该作者
不错。看看。STN32是个好东西。

使用特权

评论回复
19
huangyunfa| | 2016-1-15 16:11 | 只看该作者
不错啊,是听说STM32很好用。。。

使用特权

评论回复
20
shentq|  楼主 | 2016-1-15 16:26 | 只看该作者
我还差一分就能升级了!

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

16

帖子

4

粉丝