你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【开源个小项目】稳定运行2年不死机,网络摄像头之VNC版本

[复制链接]
baiyongbin2009 发布时间:2018-6-29 14:56


说明:
1、前段时间开源了一个网络摄像头的TCP版本
链接,这次再来一个远程VNC的版本。使用更方便,无需大家制作上位机软件了,也不需要显示屏,使用外部SRAM虚拟一个显示屏。
2、这个工程是之前测试RL-TCPnet网络协议栈稳定性的时候做的,一共做了三个版本,第三个版本稳定运行快2年的时候,停止测试了,测试期间连续运行,不断电。
3、这个Demo相比之前的TCP版本要复杂不少,主要有以下几点
(1)VNC 服务器使用外部SRAM虚拟出一个显示屏,除了打点和读点,全部使用DMA方式实现,有效降低CPU利用率。
(2)RL-TCPnet的实现采用事件触发的方式,这样将有效降低CPU利用率。
(3)摄像头接口要DMA数据到外部SRAM。
(4)emWin的实现也是DMA方式虚拟到SRAM里面的,并且emWin动态内存也是SRAM,这种情况下,对于总线性能的要求非常高。
(5)以太网也是用的DMA方式。

尽管多处都进行了DMA优化,实际跑起来的时候CPU利用率依然可以飙升到70%。加上DMA的占用,F4的总线矩阵性能几乎被榨干。

使用注意事项:
1、配套的下位机是基于RTX4+RL-TCPne + emWin VNC实现,务必使用MDK4.74进行编译,其它MDK版本未做测试。
2、测试例子时用的DM9161/9162网口,务必接到路由器或者交换器上面测试,因为VNC是采用的NetBIOS Name进行测试的。
3、下载例子后等待LED3和LED4闪烁了再进行连接。
4、关闭的时候,务必先关闭摄像头,因为摄像头非常占用系统性能,下次才可以快速登录。
5、当前对V5开发板做了支持,后面有精力做个V6的。




开启了最高等级的三级优化和时间优化:
3.1.png

RTX任务运行效果:
3.2.png




Demo下载:
网络摄像头之远程VNC版.rar (8.35 MB, 下载次数: 33)
收藏 6 评论5 发布时间:2018-6-29 14:56

举报

5个回答
forget121 回答时间:2018-6-29 15:31:48
厉害了,顶一下
xiajintaord 回答时间:2018-6-29 15:50:39
本帖最后由 xiajintaord 于 2018-6-29 15:51 编辑
  1. 原来是用这个方法统计CPU使用率的,可以说是很好的利用了RTX的特性了
复制代码
  1.     for (;;)
  2.         {
  3.         //__disable_irq();
  4.         OSIdleCtrRun = OSIdleCtr;    /* 获得100ms内空闲计数 */
  5.         OSIdleCtr    = 0uL;          /* 复位空闲计数 */
  6.                //__enable_irq();            /* 计算100ms内的CPU利用率 */
  7.         OSCPUUsage   = (100uL - (float)OSIdleCtrRun / OSIdleCtrMax);
  8.         os_dly_wait(100);            /* 每100ms统计一次 */
  9.     }
复制代码


zcl201207 回答时间:2018-6-29 22:58:10
toofree 回答时间:2018-7-1 23:03:08
厉害了,谢谢分享
支持一下楼主

此贴应该打标

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版