搜索
bottom↓
回复: 57

【ebox生态圈】ebox1.2版本更新内容,非常多~~~

  [复制链接]

出0入17汤圆

发表于 2016-8-22 12:35:38 | 显示全部楼层 |阅读模式
本帖最后由 shentqlf 于 2016-8-22 18:31 编辑

很久没发帖子了,我简单的说下ebox_stm32f10x_1.2版本的更新内容吧;
●重新组织文件夹结构,准备合并多个mcu工程
●修改类的明明规则,兼容性更强,区分于宏定义格式、避免和官方固件库命名冲突
●core
*      *修复了芯片主频只能限制为72Mhz的限制,支持任意主频,这是一个重大的支持意义
*      *增加了cpu的信息获取,包括各个总线时钟,芯片容量,芯片计算加加的能力
*      *优化delay_ms和delay_us的结构
●Gpio
*      *增加pin_ID,在驱动中会用此id查询gpio的信息。
●common
*      *分离了Gpio、analog和common的耦合关系
*      *增加了date_time_t类型
*      *删除了sys的,将其移至core
*      *删除了parallel_gpio的,将其移至edriver
●timer
*      *增加定时器1的支持,删除原有单独的timerone.cpp
*      *.定时器的时钟源频率可以通过get_timer_source_clock()获得;
*      *.定时器最大中断频率可由get_max_frq()获得;
●pwm
*      *修复了set_duty时导致波形输出畸形
*      *修复了芯片主频变动导致定时器PWM频率变化的bug,支持任意主频下正常工作
*      *增加了get_timer_source_clock(),get_max_frq(),get_accuracy()三个函数接口
●.in_capture
*      *优化内部结构,降低频繁中断带来的额外计算开销
*      *单独增加了波形基本测量工具,简化用户的波形测量编程
●rtc
*      *支持三个中断源秒中断、闹钟中断、溢出中断
●dwg
*      *增加看门狗
●uart
*      *修复N处bug,支持接收中断、发送完成中断。
以上是固件库本身更新的内容之前原有的特性不再一一赘述~~~~

其他更新内容
●增加内存管理heap.c
*      *移植了freertos的内存动态管理方法,他的内存管理使用了伙伴算法,大大减少了内存碎片的产生,非常优秀
●增加字符串处理功能wstring.cpp
*      *此文件是arduino中的字符串处理的类,功能之强大令人敬佩。
●增加环形缓冲区ringbuf.cpp
*      *在很多应用中会使用到环形缓冲区,所以就写了一个比较好用的环形缓冲区
●增加日历calenda.cpp
*      *标准的应用重复的写也没啥意思,支持了年月日时分秒和星期
*      *可以使用秒中断驱动
*      *可以使用GPS,北斗驱动
*      *支持倒计时
●网络功能
*      *支持tcp通信
*      *支持udp通信
*      *支持dhcp自动获取ip
*      *支持dns域名解析查询
●WiFi
*      *支持tcp通信
*      *支持udp通信
●文件系统fatfs
*      *经过多次优化解决sd卡很多细微bug,支持最大32G内存卡(实测16G没有32G内存卡)
●驱动更新
*      *这个太多了,自己看吧


上工程代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入17汤圆

 楼主| 发表于 2016-8-22 12:40:26 | 显示全部楼层
关于如何使用例程
打开工程文件后在main.cpp有一个例程,更多例程在example文件夹下面,使用keil的file->open打开相应的例程,然后将代码复制到main.cpp编译即可。

出0入0汤圆

发表于 2016-8-22 13:14:05 | 显示全部楼层
好样的,支持

出0入0汤圆

发表于 2016-8-22 13:14:13 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2016-8-22 13:15:09 | 显示全部楼层
楼主又有更新了,过来看看

出0入0汤圆

发表于 2016-8-22 13:16:41 | 显示全部楼层
用这简化不少事情!

出0入0汤圆

发表于 2016-8-22 13:23:25 | 显示全部楼层
mark 【ebox生态圈】ebox1.2版本更新内容

出0入76汤圆

发表于 2016-8-22 13:34:23 | 显示全部楼层
效率怎么样, 这个能用于实时性要求高的项目吗? (比如说: 电机驱动控制类的 )

出0入17汤圆

 楼主| 发表于 2016-8-22 13:48:29 | 显示全部楼层
foxpro2005 发表于 2016-8-22 13:34
效率怎么样, 这个能用于实时性要求高的项目吗? (比如说: 电机驱动控制类的 ) ...

完全没问题,io执行效率非常高,要是使用pwm的话,也完全没问题,现在修复了之前一个设置占空比导致波形输出畸形的一个bug,更完善了。

出0入17汤圆

 楼主| 发表于 2016-8-22 13:49:03 | 显示全部楼层
1178917522 发表于 2016-8-22 13:16
用这简化不少事情!

不用不知道,用了才知道有多省事

出0入17汤圆

 楼主| 发表于 2016-8-22 13:49:26 | 显示全部楼层
lrzxc 发表于 2016-8-22 13:15
楼主又有更新了,过来看看

多谢关注~~~

出0入17汤圆

 楼主| 发表于 2016-8-22 13:50:34 | 显示全部楼层
lhaoyue 发表于 2016-8-22 13:23
mark 【ebox生态圈】ebox1.2版本更新内容

是的,还有很多没能一一写出

出0入0汤圆

发表于 2016-8-22 16:18:59 | 显示全部楼层
编译不过,提示找不到 \mcu\stm32f10x\ebox\ebox_1.lib

出0入0汤圆

发表于 2016-8-22 17:28:31 | 显示全部楼层
下载的文件中没有ebox_1.lib这个文件

出0入17汤圆

 楼主| 发表于 2016-8-22 18:31:30 | 显示全部楼层
wq_601840968 发表于 2016-8-22 16:18
编译不过,提示找不到 \mcu\stm32f10x\ebox\ebox_1.lib

已经更新文件

出0入17汤圆

 楼主| 发表于 2016-8-22 18:31:50 | 显示全部楼层
CH_anyin 发表于 2016-8-22 17:28
下载的文件中没有ebox_1.lib这个文件

已经更新文件

出0入0汤圆

发表于 2016-8-22 19:13:43 来自手机 | 显示全部楼层
我顶,eBox越来越好

出0入0汤圆

发表于 2016-8-22 19:24:47 来自手机 | 显示全部楼层
好,标记。      

出0入0汤圆

发表于 2016-8-22 19:29:16 | 显示全部楼层
对lib文件有抵触情绪

出0入76汤圆

发表于 2016-8-22 20:40:17 | 显示全部楼层
shentqlf 发表于 2016-8-22 13:48
完全没问题,io执行效率非常高,要是使用pwm的话,也完全没问题,现在修复了之前一个设置占空比导致波形 ...


好的, 非常感谢, 有机会一定试试
中午休息的时候 , 大致浏览了一下, 看到有把uCOS、FreeRTOS都移植进去了, 那就是可以直接使用了吧

出0入4汤圆

发表于 2016-8-22 20:48:24 | 显示全部楼层
zyw19987 发表于 2016-8-22 19:29
对lib文件有抵触情绪

+1,有问题Debug都麻烦

出0入17汤圆

 楼主| 发表于 2016-8-22 21:25:47 | 显示全部楼层
xiaoergao 发表于 2016-8-22 20:48
+1,有问题Debug都麻烦

是存在这样的问题

出0入0汤圆

发表于 2016-8-22 21:32:23 来自手机 | 显示全部楼层
手里项目用芯片用的ST的Flash和E2库,风格很不喜欢,想改都没辙,希望以后别出问题

出0入0汤圆

发表于 2016-8-22 21:34:56 | 显示全部楼层
先看看,有lib文件有点不爽哈,不好找原因

出0入4汤圆

发表于 2016-8-23 09:03:59 | 显示全部楼层
shentqlf 发表于 2016-8-22 21:25
是存在这样的问题

之前关注过ebox,也看过一些源码。楼主对一些操作做的封装是比较方便的。但是感觉楼主把核心代码封装起来不开源感觉没必要,因为虽然这些内容虽然比较核心但是也都可以自己实现(自己也用C++做开发,也封装了一些基本操作,不过楼主做的确实很完善,很优秀)。可能楼主考虑到以后商业化盈利模式等问题吧。个人反而觉得一些设备硬件的Driver反而更加有一些商业价值。比如驱动可以分为开源的、lib的、收费的、定制开发的等。因为每个用户对硬件驱动需求不一样,较特殊的个性化需求肯定会有人愿意付费。至于像GPIO操作,SPI操作,定时器操作这些较底层的东西都要用到如果不开源大家用起来肯定有想法。

出0入8汤圆

发表于 2016-8-23 12:37:57 | 显示全部楼层
感觉就跟DLL文件一样,不爽

出0入0汤圆

发表于 2016-8-23 12:43:51 来自手机 | 显示全部楼层
现在这库的模式,估计没有人敢用于产品

出0入0汤圆

发表于 2016-8-23 13:00:28 | 显示全部楼层
shentqlf 发表于 2016-8-22 21:25
是存在这样的问题

请教一个问题:我做好一个硬件,我把所有的资源封装起来,然后给另外一个人去写应用层程序即可,不过不会设置C++的用法和MDK配置,是否有这种例程啊。。哟
指出一个问题:我在你的环形队列里,Ringbuf::write()函数,竟然发现了一个死循环。。。这让我惊呆了。。。虽然有注释,但我觉得这个地方,是不允许存在的。。。你可以AsseER一个错误提示。。。


出0入17汤圆

 楼主| 发表于 2016-8-23 20:49:21 | 显示全部楼层
kinsno 发表于 2016-8-23 13:00
请教一个问题:我做好一个硬件,我把所有的资源封装起来,然后给另外一个人去写应用层程序即可,不过不会 ...

看到那个了~~~
的确是那里不应该死等着,应该抛出个错误,让用户选择继续等待还是跳过

出0入17汤圆

 楼主| 发表于 2016-8-23 20:50:19 | 显示全部楼层
kinsno 发表于 2016-8-23 13:00
请教一个问题:我做好一个硬件,我把所有的资源封装起来,然后给另外一个人去写应用层程序即可,不过不会 ...

请教一个问题:我做好一个硬件,我把所有的资源封装起来,然后给另外一个人去写应用层程序即可,不过不会设置C++的用法和MDK配置,是否有这种例程啊。。哟
这个问题没有太明白

出0入0汤圆

发表于 2016-8-23 22:16:34 | 显示全部楼层
本帖最后由 kinsno 于 2016-8-23 22:19 编辑
shentqlf 发表于 2016-8-23 20:50
请教一个问题:我做好一个硬件,我把所有的资源封装起来,然后给另外一个人去写应用层程序即可,不过不会 ...


1、我是说我们要在MDK里写C++,和我们正常使用C时有哪些不一样,比如MDK这个软件上配置有哪些不一样,或是头文件或是CPP代码里要添加或改变什么!
2、是不是我们只需要在头文件内定义一个类即可,然后在CPP里对这个类进行完善代码化,可是NEW呢? 不需要new class()吗?不需要构造函数吗?



出0入17汤圆

 楼主| 发表于 2016-8-24 00:29:11 | 显示全部楼层
kinsno 发表于 2016-8-23 22:16
1、我是说我们要在MDK里写C++,和我们正常使用C时有哪些不一样,比如MDK这个软件上配置有哪些不一样,或 ...

只要使用cpp文件,编译器默认就会把他当做c++文件编译,不需要做任何设置;
构造函数你正常写就行,new也是支持的。

出0入0汤圆

发表于 2016-8-24 10:54:18 | 显示全部楼层
参与了楼主的众筹,目前板子还在吃灰中

出0入17汤圆

 楼主| 发表于 2016-8-24 12:11:08 | 显示全部楼层
surken 发表于 2016-8-24 10:54
参与了楼主的众筹,目前板子还在吃灰中

可以试着用下

出0入0汤圆

发表于 2016-8-24 12:41:41 | 显示全部楼层
继续支持

出0入10汤圆

发表于 2016-8-24 13:01:29 | 显示全部楼层
LZ的MDK是哪个版本,我472a打不开

出0入0汤圆

发表于 2016-8-24 13:03:23 | 显示全部楼层
楼主,请问ebox版权如何处理的,我能将其用于自已设计的设备中吗?

出0入0汤圆

发表于 2016-8-24 13:04:31 | 显示全部楼层
讲的很全,很好@

出0入17汤圆

 楼主| 发表于 2016-8-24 13:45:03 | 显示全部楼层
bias 发表于 2016-8-24 13:01
LZ的MDK是哪个版本,我472a打不开

需要MDK5

出0入17汤圆

 楼主| 发表于 2016-8-24 13:45:59 | 显示全部楼层
mq-life 发表于 2016-8-24 13:03
楼主,请问ebox版权如何处理的,我能将其用于自已设计的设备中吗?

个人学习使用可以,如果要是公司用于商业活动,需要申请授权

出50入255汤圆

发表于 2016-8-26 11:24:15 | 显示全部楼层
大侠?什么时候可以支持STM32L系列?

出0入0汤圆

发表于 2016-8-26 17:04:52 | 显示全部楼层
看到代码支持uCos ,但是MDK里面没有加入;
“eBox\ebox_stm32f10x_1.2\ebox_stm32f10x\example\15.os\ucos”里面有个e_ucos.cpp;
这个文件怎么使用呢,想测试下uCos,谢谢

出0入17汤圆

 楼主| 发表于 2016-8-26 23:09:45 来自手机 | 显示全部楼层
wq_601840968 发表于 2016-8-26 17:04
看到代码支持uCos ,但是MDK里面没有加入;
“eBox\ebox_stm32f10x_1.2\ebox_stm32f10x\example\15.os\ucos ...

把ucos代码添加到工程中,然后打开例程里面的ucos例程即可

出0入17汤圆

 楼主| 发表于 2016-8-26 23:10:11 来自手机 | 显示全部楼层
xy-mcu 发表于 2016-8-26 11:24
大侠?什么时候可以支持STM32L系列?

这个还没做呢~~~

出0入0汤圆

发表于 2016-8-27 08:01:20 | 显示全部楼层
shentqlf 发表于 2016-8-26 23:09
把ucos代码添加到工程中,然后打开例程里面的ucos例程即可

压缩包里只有一个MDK工程,就是把uCos代码全部添加进来,进行编译,对吧?

出0入0汤圆

发表于 2016-8-27 08:22:35 | 显示全部楼层
wq_601840968 发表于 2016-8-27 08:01
压缩包里只有一个MDK工程,就是把uCos代码全部添加进来,进行编译,对吧? ...

attch_systick_user_event(xx); 此函数未定义

出0入0汤圆

发表于 2016-8-27 10:17:37 | 显示全部楼层
有更新了,谢谢楼主

出0入17汤圆

 楼主| 发表于 2016-8-27 10:37:33 | 显示全部楼层
wq_601840968 发表于 2016-8-27 08:22
attch_systick_user_event(xx); 此函数未定义

那个函数写错了名字是attach_systick_user_event(xx)

出0入17汤圆

 楼主| 发表于 2016-8-27 10:38:35 | 显示全部楼层
HWY 发表于 2016-8-27 10:17
有更新了,谢谢楼主

嗯啊,很快就会有新的更新。是架构的一次升级

出0入0汤圆

发表于 2016-8-27 11:19:35 | 显示全部楼层
楼主有考虑移植到nordic或者cypress这种带蓝牙的mcu上吗?

出0入0汤圆

发表于 2016-8-31 19:33:32 来自手机 | 显示全部楼层
嵌入式以C为主,为什么不用C呢?

出0入0汤圆

发表于 2016-8-31 20:17:30 | 显示全部楼层
我的众筹也在吃灰中。。。。。。

出10入0汤圆

发表于 2016-8-31 21:41:56 | 显示全部楼层
楼主,这个MCU限定只能用你的那种吗

出0入0汤圆

发表于 2016-9-1 09:48:03 | 显示全部楼层
楼主水平太高了。感谢 !!!!

出0入0汤圆

发表于 2016-9-5 17:16:02 | 显示全部楼层
xiaoergao 发表于 2016-8-23 09:03
之前关注过ebox,也看过一些源码。楼主对一些操作做的封装是比较方便的。但是感觉楼主把核心代码封装起来 ...

https://github.com/ARMmbed/mbed-os

出0入0汤圆

发表于 2016-9-12 11:57:02 | 显示全部楼层
本帖最后由 kinsno 于 2016-9-12 12:00 编辑
shentqlf 发表于 2016-8-27 10:37
那个函数写错了名字是attach_systick_user_event(xx)


对了,今天打算尝试C++来封装,还是想到了new问题,需要请教2个问题:
1、我们这个C++,需要修改启动文件.s内的堆和栈吗? 比如说,扩大一点,再扩大一点。
2、需要写1个专门的内存管理函数吗?




出0入17汤圆

 楼主| 发表于 2016-10-20 09:17:46 来自手机 | 显示全部楼层
kinsno 发表于 2016-9-12 11:57
对了,今天打算尝试C++来封装,还是想到了new问题,需要请教2个问题:
1、我们这个C++,需要修改启动文件 ...

启动文件我没有进行修改,内存管理有没有都行。新版本的程序我加上了

出0入0汤圆

发表于 2016-10-20 11:09:37 | 显示全部楼层
kinsno 发表于 2016-9-12 11:57
对了,今天打算尝试C++来封装,还是想到了new问题,需要请教2个问题:
1、我们这个C++,需要修改启动文件 ...

用C++ 就一定要用new吗? 不用new不就可以罗; 基本上嵌入式的东西, 很多情况都是, 定义了就不会删除; 就算是 网络协议栈, 为了通讯安全, 都是开个固定的大缓冲区进行处理的啦;
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 11:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表