eric2013 发表于 2016-1-10 19:35:39

【安富莱】RTX+CAN+FlashFS+TCPnet+USB+Mobus+emWin综合Demo已经发布

=====================================================================
此综合Demo已经发布,详情看此贴: http://www.armbbs.cn/forum.php?mod=viewthread&tid=17330
=====================================================================
说明:   
   就我个人而言,越来越喜欢RTX及其完整的中间件,故打算把这一套完整的系统做一个综合Demo出来,先配套STM32F429开发板。
此Demo重在展现RTX的强劲功能,另外最重要的是RTX及其中间件的稳定性,可靠性,毕竟这个才是根本。
1. 由于中间件中没有Modbus,Modbus主从机用我们自己做的。
2. 这个综合Demo不急于完成,初步打算2016年5月份左右发布。近期忙于FreeRTOS教程,改为6-7月份发布。
3. emWin使用MDK中自带的emWin,不使用STemWin,保证所有软件都来自KEIL。
=====================================================================
2016-01-10
做RTX+emWin+FlashFS稳定版,稳定是重中之重。
2016-01-13
完成emWin底层优化。
1. emWin底层的多缓冲,双图层,8种颜色格式任意配置。
2. 修改GUI_X_RTX.C接口函数,不需要给emWin单独创建一个任务实现时间基准。
完成FlashFS的底层优化。
1. 将SD卡的插拔检测引脚设置为双边沿中断方式,SD卡插入才做SD卡的初始化,SD卡拔出卸载SD卡。
如此循环。
2016-01-15
emWin滑动主界面设计。效果还算给力,比F407强很多。
2016-01-22
emWin的主界面基本已经确定下来,给RTX新增了一个CPU利用率检测机制。
2016-02-03
主界面效果,支持滑动操作,类似手机,比较流畅,背景是JPG图片写到内部SDRAM进行刷


2016-02-05
基于SAI音频接口的WAV,MP3解码已经实现,开始研究下FLAC和APE。
2016-02-07
开始制作音乐播放器的界面。软件WAV和MP3,支持频谱显示,FLAC和APE暂时不搞了,
初次搞比较耗时间。
2016-02-14
好久没有搞娱乐性功能,这次打算把音乐播放,视频播放和收音机等等搞全了。下面是7天的
假期开发出来的软解MP3和WAV的界面。
1.这次在RTOS的多任务架构设计上花了很多的心思,我们要充分发挥多任务的特性和实时性,
   并不是加上了OS,设计的代码还跟裸机一样,程序中N多标志变量,N多等待标志完成。
   N多全局变量,全局变量是多线程安全最大的毒瘤。
2.现在设计的RTOS代码,除了空闲任务,emWin任务就是最低优先级的,为了图省事,很多时候
   就把外设功能的实现直接丢在emWin的回调消息里面去实现,这样设计是极其不合理的,非常影响
   重要功能的实时性,这次的播放器设计改变了这种状态,是把音乐播放专门设计了一个高优先级任务,DMA中断
   给这个任务发消息,emWin任务也给这个音乐任务发消息。
   其实WAV和MP3软解的程序结构基本是一样的,全部是通过DMA双缓冲实现,这样也给音乐任务的实现带来了极大的方便。
3. 来两个暂时设计的效果图:






2016-02-16
加入音乐播放器的快进和快退功能,今天进行音乐播放器的收尾工作,以后综合Demo的设计放在晚上搞。
下一步是视屏播放,视频格式采用emWin本身支持的emf格式,其实就是JPEG图片的合集。
2016-02-20
视频播放的基本功能已经实现,视频个使用emWin的emf,音频采用MP3格式,两个任务同时运行。
待进一步完善。
2016-02-23
由于是采用的emWin本身支持的视频播放功能,只能音频和视频分开到两个任务进行,分开进行的
缺点就来了,文件系统此时是多线程调用,那么就存在互斥问题,所以播放的时候得做同步,同步
问题最让人头痛,做不好的现象就是声音和画面不同步,当前是牺牲声音。保证画面。
============================================================
视频采用:emWin支持的emf格式。
音频采用:MP3格式,打算采用WAV,发现提取出来的音频文件太大。
优化:重新添加UCGUI3.98里面的JPEG解码文件,覆盖emWin原有的解码,emWin自带的卡死,基本
          300ms左右一帧480*272图片,而优化后,差不多80ms左右就一帧。缺点就是更emWin原有的机制
          兼容有些问题,不过程序设计中已经将其避免。
===============================
这个纯属娱乐功能,增加板子的可玩性,没有实战意义,实际效果还不错,板子上面自带音腔喇叭。
https://img.anfulai.cn/dz/attachment/forum/pw/Fid_12/12_58_e3ed9bc26198bd8.png?221

===================================
https://img.anfulai.cn/dz/attachment/forum/pw/Fid_12/12_58_c8cce504c002915.png?155




2016-03-01
开始做收音机界面设置,专门调试了下Si4704的自带搜索功能。

2016-03-05
做FreeRTOS教程耽误了不少时间,这两天把收音机功能做好。

2016-03-09
完成收音机界面设计:







2016-03-13
开始录音机APP的设计,打算搞成录制WAV音频文件,将其记录到SD卡里面。

2016-03-23
这几天售后压力有些大,咨询问题的兄弟比较多,FreeRTOS教程也花了不少时间,得抓紧这
个录音机的设计了,现在已经把基本功能和界面都实现了,暂时先不搞成WAV文件了,音频数
据直接存储到SDRAM里面。后天把设计的界面贴上。



2016-03-28
完成录音机:





2016-04-01
前面的做几个F429应用都是单独的创建个窗口来实现APP功能,这个图片浏览单独创建一个窗口不太方便BMP和JPG图片还好,而GIF图片就比较的麻烦些,主要是因为GIF需要动态的显示,在窗口的回调函数里面
动态的刷新比较麻烦,不太好实现,所以直接放在桌面窗口绘制。
    图片的显示全部放缩到480*320的范围内显示。
BMP:



JPG:



GIF:



2016-04-18
最近的忙FreeRTOS教程和售后问题,忙的焦头烂额,一直没有机会升级F429的综合Demo,这两天升级了下。












2016-05-03
最近已经被FreeRTOS教程拴住了,抽时间设计下一个APP,时钟表盘和闹钟,时间,日期的设置界面

2015-05-24:
差不多两周的时间没有顾上综合Demo了,让FreeRTOS教程搞的忙不过来了。
万年历不做那么麻烦了,支持时间设置,闹钟设置和年月日设置。








2015-06-05:
RL-FlashFS对SPI Flash和NAND Flash的移植已经做好了,现在开始综合Demo的另一个重要功能TCPnet网络协议栈的
的移植和应用app设置




2016-07-30
1 。初步学习了下XML,HTML和JS,HTML和XML相对好弄些,JS比较麻烦,还是需要专业的网络开发人员搞比较合适。
2。 对于我们嵌入式应用来说,能上传和下文件,能够上传数据并实时更新,且可以实现远程控制就足够了。
3。网上的网页模板比较多,我们也弄个现成的,就不用自己再去折腾排版布局了。
==================================================================
手机和电脑端都可以访问的,共做了9个功能和一个主界面




















2017-01-25
我的电脑功能已经完成










2017-01-30
系统信息功能已经完成
这个界面做的比较简单,暂时不做系统设置了,仅仅是显示下系统信息。




2017-02-01
移植RL-CAN,并制作一个简易操作界面。


2017-02-06
完成RL-CAN的移植,开始界面。


2017-02-09
完成RL-CAN界面设计:








2017-02-10
移植RL-USB,这里主要是实现一个SD卡模拟U盘的功能。


2017-02-13
移植完成RL-USB,整理界面中。



2017-02-14
更新RL-USB的界面效果。










2017-02-15
移植Modbus。


2017-02-20
移植了Modbus RTU主站,协议采用我们自己编写的






2017-02-23
最后一个网络的emWin界面即将完成,收工后开始将所有做好的这些应用汇总到一起。



2017-02-24
这个算是综合Demo的最后一个界面了,后面的几个图标不再弄了,下一步开始把这些已经做的所有单独应用
汇总到综合里面,这个最麻烦,也容易出问题。





2017-03-06
已经有一半多的应用集成好。



2017-03-10
移植最后一个APP,这个没问题后,就开始综合测试几天,然后录制个视频,准备发布。

pebble_zl 发表于 2016-1-12 15:26:24

期待楼组的大作~

eric2013 发表于 2016-1-13 09:45:05

2016-01-13
完成emWin底层优化。
1. emWin底层的多缓冲,双图层,8种颜色格式任意配置。
2. 修改GUI_X_RTX.C接口函数,不需要给emWin单独创建一个任务实现时间基准。
完成FlashFS的底层优化。
1. 将SD卡的插拔检测引脚设置为双边沿中断方式,SD卡插入才做SD卡的初始化,SD卡拔出卸载SD卡。
    如此循环。

终结者之梦 发表于 2016-1-15 21:13:51

LZ,为什么没有FreeRTOS的USB的教程??

eric2013 发表于 2016-1-15 21:15:36

回 终结者之梦 的帖子

终结者之梦:LZ,为什么没有FreeRTOS的USB的教程?? (2016-01-15 21:13) images/back.gif

FreeRTOS应该没有USB库,在官网没有发现。

eric2013 发表于 2016-1-15 21:17:30

2016-01-15
emWin滑动主界面设计。效果还算给力,比F407强很多。

eric2013 发表于 2016-1-22 17:34:37

2016-01-22
emWin的主界面基本已经确定下来,给RTX新增了一个CPU利用率检测机制。

eric2013 发表于 2016-2-3 01:30:55

2016-02-03
主界面效果,支持滑动操作,类似手机,比较流畅,背景是JPG图片写到内部SDRAM进行刷

feiante 发表于 2016-2-3 10:24:49

建议做个教程,或者做些单独的功能例子,直接上综合学习起来有点难。
比如做成RTX+CAN
RTX+FlashFS
RTX+TCPnet
RTX+USB
RTX+emWin
都学通了,在综合。

eric2013 发表于 2016-2-3 10:30:07

回 feiante 的帖子

feiante:建议做个教程,或者做些单独的功能例子,直接上综合学习起来有点难。
比如做成RTX+CAN
RTX+FlashFS
RTX+TCPnet
RTX+USB
....... (2016-02-03 10:24) images/back.gif

这次我打算做个综合Demo的框架设计说明,其实初学的兄弟,搞起来比较吃力,难就难在不好下手,有了框架之后就很容易了。
--------------------------------------------------
RTX+CAN      
RTX+FlashFS这个也已经有了。
RTX+TCPnet   
RTX+USB
RTX+emWin这个已经有了。

eric2013 发表于 2016-2-5 10:14:34

2016-02-05
基于SAI音频接口的WAV,MP3解码已经实现,开始研究下FLAC和APE。

eric2013 发表于 2016-2-7 10:58:05

2016-02-07
开始制作音乐播放器的界面。软件WAV和MP3,支持频谱显示,FLAC和APE暂时不搞了,
初次搞比较耗时间。

eric2013 发表于 2016-2-14 11:08:20

2016-02-14
好久没有搞娱乐性功能,这次打算把音乐播放,视频播放和收音机等等搞全了。下面是7天的
假期开发出来的软解MP3和WAV的界面。
1.这次在RTOS的多任务架构设计上花了很多的心思,我们要充分发挥多任务的特性和实时性,
   并不是加上了OS,设计的代码还跟裸机一样,程序中N多标志变量,N多等待标志完成。
   N多全局变量,全局变量是多线程安全最大的毒瘤。
2.现在设计的RTOS代码,除了空闲任务,emWin任务就是最低优先级的,为了图省事,很多时候
   就把外设功能的实现直接丢在emWin的回调消息里面去实现,这样设计是极其不合理的,非常影响
   重要功能的实时性,这次的播放器设计改变了这种状态,是把音乐播放专门设计了一个高优先级任务,DMA中断
   给这个任务发消息,emWin任务也给这个音乐任务发消息。
   其实WAV和MP3软解的程序结构基本是一样的,全部是通过DMA双缓冲实现,这样也给音乐任务的实现带来了极大的方便。

eric2013 发表于 2016-2-16 00:29:09

2016-02-16
加入音乐播放器的快进和快退功能,今天进行音乐播放器的收尾工作,以后综合Demo的设计放在晚上搞。
下一步是视屏播放,视频格式采用emWin本身支持的emf格式,其实就是JPEG图片的合集。

eric2013 发表于 2016-2-20 10:43:43

2016-02-20
视频播放的基本功能已经实现,视频个使用emWin的emf,音频采用MP3格式,两个任务同时运行。
待进一步完善。

eric2013 发表于 2016-2-23 13:51:39

2016-02-23
由于是采用的emWin本身支持的视频播放功能,只能音频和视频分开到两个任务进行,分开进行的
缺点就来了,文件系统此时是多线程调用,那么就存在互斥问题,所以播放的时候得做同步,同步
问题最让人头痛,做不好的现象就是声音和画面不同步,当前是牺牲声音。保证画面。
============================================================
视频采用:emWin支持的emf格式。
音频采用:MP3格式,打算采用WAV,发现提取出来的音频文件太大。
优化:重新添加UCGUI3.98里面的JPEG解码文件,覆盖emWin原有的解码,emWin自带的卡死,基本
          300ms左右一帧480*272图片,而优化后,差不多80ms左右就一帧。缺点就是更emWin原有的机制
          兼容有些问题,不过程序设计中已经将其避免。
===============================
这个纯属娱乐功能,增加板子的可玩性,没有实战意义,实际效果还不错,板子上面自带音腔喇叭。

eric2013 发表于 2016-3-1 00:12:55

2016-03-01
开始做收音机界面设置,专门调试了下Si4704的自带搜索功能。

eric2013 发表于 2016-3-5 00:09:52

2016-03-05
做FreeRTOS教程耽误了不少时间,这两天把收音机功能做好。

eric2013 发表于 2016-3-9 00:09:38

2016-03-09
完成收音机界面设计:

eric2013 发表于 2016-3-13 01:03:03

2016-03-13
开始录音机APP的设计,打算搞成录制WAV音频文件,将其记录到SD卡里面。

eric2013 发表于 2016-3-23 00:34:46

2016-03-23
这几天售后压力有些大,咨询问题的兄弟比较多,FreeRTOS教程也花了不少时间,得抓紧这
个录音机的设计了,现在已经把基本功能和界面都实现了,暂时先不搞成WAV文件了,音频数
据直接存储到SDRAM里面。后天把设计的界面贴上。

eric2013 发表于 2016-3-28 00:47:42

2016-03-28
完成录音机:

mewan 发表于 2016-4-1 10:37:50

回 eric2013 的帖子

eric2013:2016-03-28
完成录音机: (2016-03-28 00:47) images/back.gif

滑动效果是用什么做出来的?

eric2013 发表于 2016-4-1 16:19:36

2016-04-01
前面的做几个F429应用都是单独的创建个窗口来实现APP功能,这个图片浏览单独创建一个窗口不太方便
BMP和JPG图片还好,而GIF图片就比较的麻烦些,主要是因为GIF需要动态的显示,在窗口的回调函数里面
动态的刷新比较麻烦,不太好实现,所以直接放在桌面窗口绘制。
    图片的显示全部放缩到480*320的范围内显示。

eric2013 发表于 2016-4-1 16:19:57

回 mewan 的帖子

mewan:滑动效果是用什么做出来的? (2016-04-01 10:37) images/back.gif

emWin的motion控件。

eric2013 发表于 2016-4-18 11:51:34

2016-04-18
最近的忙FreeRTOS教程和售后问题,忙的焦头烂额,一直没有机会升级F429的综合Demo,这两天升级了下。

eric2013 发表于 2016-5-3 01:03:01

2016-05-03
最近已经被FreeRTOS教程拴住了,抽时间设计下一个APP,时钟表盘和闹钟,时间,日期的设置界面

eric2013 发表于 2016-5-24 01:55:12

2015-05-24:
差不多两周的时间没有顾上综合Demo了,让FreeRTOS教程搞的忙不过来了。
万年历不做那么麻烦了,支持时间设置,闹钟设置和年月日设置。

worldsing 发表于 2016-5-30 17:42:49

有W25系列的Flash Demo吗?
最近搞W25Q128的上跑
删除文件老是多删除了
我是以64K擦除的,
#define FLASH_SECTORS                                              \\
ARM_FLASH_SECTOR_INFO(0x000000, 0x10000), /* Sector size 64kB */ \\

eric2013 发表于 2016-6-5 12:29:45

2015-06-05:
RL-FlashFS对SPI Flash和NAND Flash的移植已经做好了,现在开始综合Demo的另一个重要功能TCPnet网络协议栈的
的移植和应用app设置

eric2013 发表于 2016-7-30 01:44:50

Re:銆愬畨瀵岃幈銆慠TX+CAN+FlashFS+TCPnet+USB+Mobus+emWin缁煎悎Demo鏇存柊璁板綍

2016-07-30
1 。初步学习了下XML,HTML和JS,HTML和XML相对好弄些,JS比较麻烦,还是需要专业的网络开发人员搞比较合适。
2。 对于我们嵌入式应用来说,能上传和下文件,能够上传数据并实时更新,且可以实现远程控制就足够了。
3。网上的网页模板比较多,我们也弄个现成的,就不用自己再去折腾排版布局了。
==================================================================
手机和电脑端都可以访问的,共做了9个功能和一个主界面

zerone 发表于 2016-8-30 18:09:40

能不能把做好的相关中间件内容放出来啊

eric2013 发表于 2017-1-25 10:43:00

2017-01-25
我的电脑功能已经完成

eric2013 发表于 2017-1-30 10:47:42

2017-01-30
系统信息功能已经完成
这个界面做的比较简单,暂时不做系统设置了,仅仅是显示下系统信息。

eric2013 发表于 2017-2-1 09:28:17

2017-02-01
移植RL-CAN,并制作一个简易操作界面。

eric2013 发表于 2017-2-6 11:46:36

2017-02-06
完成RL-CAN的移植,开始界面。

eric2013 发表于 2017-2-9 00:16:24

2017-02-09
完成RL-CAN界面设计:

eric2013 发表于 2017-2-10 09:59:00

2017-02-10
移植RL-USB,这里主要是实现一个SD卡模拟U盘的功能。

eric2013 发表于 2017-2-13 09:16:47

2017-02-13
移植完成RL-USB,整理界面中。

heimareed 发表于 2017-2-13 12:00:13

坐等硬汉发布源码测试……
页: [1] 2
查看完整版本: 【安富莱】RTX+CAN+FlashFS+TCPnet+USB+Mobus+emWin综合Demo已经发布