|
+ _5 n+ V, {3 f+ r1 M6 ]3 N9 v 【安富莱】开源原创高级玩法,用F429接SDRAM虚拟远程VNC桌面 * R2 ~5 _3 q8 w8 }, f说明:7 [5 k8 J8 ]9 y% @ n7 T# a: F 0. 这个项目的可玩性极高,可以做很多有意思的应用。做一些远程智能控制尤其方便,省去了学习html,xml,js等麻烦,且无需显示屏。- O: j9 [0 [: ?: _. _8 c5 _ 1. 原创开源VNC综合Demo说明: (1)操作这个例子前,务必要看之前发布的综合Demo演示和使用说明:https://www.stmcu.org.cn/module/forum/thread-611061-1-1.html,这个例子是由其修改而来的。依然是采用的RTX系统及其所有中间件。 (2)网络协议栈用的RL-TCPnet,而VNC Server是用的emWin自带的功能。这里是用的我们V6开发板带的32位SDRAM虚拟一个800*480分辨率的界面出来。底层已经全部采用F429的DMA2D进行了优化。手机端和电脑端都可以访问的,这样就省去了使用显示屏的繁琐,而且性能可以发挥到F429外接裸屏的30%-50%,即使是这样,比F407+RA8875还是强很多的。电脑端的VNC比较好用,手机端还没有找到好用的。; h5 z% [& Z z I 2. 版本信息:1 H/ [, x$ w( P8 ? RTOS: RL-RTX V4.74 File System: RL-FlashFS V4.747 [, r1 a; v: S& I) Y3 n2 a TCP/IP: RL-TCPnet V4.741 a7 K3 r. T, N7 l USB: RL-USB V4.74 CAN: RL-CAN V4.744 ]) q7 ~9 I% r: z& B" f) Q GUI: emWin V5.36% p1 R1 c. x8 O7 N* w4 {1 Y) v Modbus: Designed by armfly8 Q( G/ o2 d G0 p, h$ w) c1 ]/ x 3. 14个任务优先级配置+ N" N& U; _8 l$ j4 v/ o) H- B% h (1). os_idle_demon, 优先级0:系统空闲任务。( }& Z9 {1 z% I (2). AppTaskStatistic 优先级1:CPU利用率检测。3 ~ z4 k+ s& m2 R- e. ^ N0 U (3). AppTaskGUI, 优先级3:GUI主任务。 (4). _ServerTask, 优先级4:VNC Server (5). AppTaskTCPMain, 优先级5:TCPnet网络主任务。 (6). AppTaskStart, 优先级7:启动任务。 (7). AppTaskCAN, 优先级8:CAN总线任务。 (8). AppTaskModbus, 优先级9:Modbus任务。1 C: y7 V' A$ L2 E7 t (9). AppTaskUSB, 优先级10:USB任务,3 H1 ^ T+ A+ p: s' r( t+ Z) c (10). AppTaskMusic, 优先级11:音乐任务,用于音乐播放器,视频播放器,录音机和收音机处理。 k" h8 g. d. C) Q2 |0 j3 ~" _ (11). AppTaskPinDetect, 优先级12:SD卡插拔检测任务。* ^7 R5 L$ U4 B- k (12). AppTaskTCPTimer, 优先级13:TCPnet网络定时更新任务。2 _. p$ X! @5 ]5 } USB在运行的过程中会创建2两个任务 w% |( L3 _- Y (14). USBD_RTX_EndPoint0 优先级2:USB设备端点0任务。 (15). USBD_RTX_MSC_EP_BULK_Event 优先级2:USB BULK数据传输任务。 4. 15个中断安排, V* i/ ^7 d+ f NVIC优先级分组采用4,仅抢占优先级,范围0-15。 LTDC中断, 抢占优先级 0: p" g* {) ^5 w4 p. _4 p, { ETH以太网中断, 抢占优先级 0 USB FS中断, 抢占优先级 0. E) @) f5 Z* I2 Z+ K: b- v* S CAN2 TX中断, 抢占优先级 10 o5 X7 {3 ?1 v3 w1 I CAN2 RX0中断, 抢占优先级 1 DMA2_Steam5中断, 抢占优先级 17 E# x% t! V: }( \9 \ DMA2_Steam1中断, 抢占优先级 1) X: \; d k1 z) c' R EXTI6中断, 抢占优先级 1" g6 e( y0 f% T& f! d USART3中断, 抢占优先级 2- {: K% l, x9 i0 U; r0 ` EXTI2中断, 抢占优先级 29 Y% t% D1 q0 F! U4 n TIM2中断, 抢占优先级 4 USART1中断, 抢占优先级 13" t# W( e% Z0 s2 p( W RTC Alarm中断, 抢占优先级 13 SVC中断, 抢占优先级 14- u1 ?8 E' h: |2 [0 R* F0 s" a Systick中断, 抢占优先级 15 PendSV中断, 抢占优先级 15/ I+ V2 ?* c# q: O, e P6 d. U 5. 内存安排, D! r) Y) n7 X. r' h7 h: O 内部SRAM , CCM SRAM和SDRAM安排。5 ?6 u7 L* x2 b* C; B# ]. |: P 内部192KB SRAM :80KB用于动态内存分配,其余用于任务堆栈,系统堆栈,文件系统,网络协议栈等。3 i$ ^$ A8 H s8 t- ?$ v 内部64KB CCM SRAM:用于视频播放器时,JPEG解码。4 k1 C/ J, N; M# |7 N+ J 外部16MB SDRAM :前4MB用于SDRAM的虚部显示屏。$ j1 p: ]$ w4 ]. c: M+ ?9 ~ 外部16MB SDRAM :后12MB用于emWin动态内存。 6. RTX调试组件效果展示
7. 开启MDK4.74最高的3级优化,同时开启相当给力的时间优化
**************************************************************************************5 U( K9 W j% x8 s6 ^& a# O, { 程序下载:7 s: x% ` o+ ~$ O 链接:https://pan.baidu.com/s/1o8pzIGU 密码:xar04 l* ]8 W3 S' _
åºäºRTX emWin FlashFS USB TCPnet CAN Modbusç综åVNC弿ºé¡¹ç®.rar
(13.82 MB, 下载次数: 359)
|
微信公众号
手机版
实际项目建议外置RTC,自带的精度差。像DS3231这种自带温补晶振的,比较推荐。
例程很赞