|
' P& x' q0 F! u( O1 G! g 【安富莱】开源原创高级玩法,用F429接SDRAM虚拟远程VNC桌面 2 n' ?" W! ?' K$ F* u | 1 d7 |( W1 U$ X" ~3 v1 [ 说明:) ^5 O* `; C4 q# ~: _$ G 0. 这个项目的可玩性极高,可以做很多有意思的应用。做一些远程智能控制尤其方便,省去了学习html,xml,js等麻烦,且无需显示屏。, `% `) w8 m' [ 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比较好用,手机端还没有找到好用的。 2. 版本信息:; J0 P. T7 O) u7 ]4 E5 o RTOS: RL-RTX V4.74 File System: RL-FlashFS V4.74# M( t2 A1 ^& i7 c TCP/IP: RL-TCPnet V4.740 H& j1 @. s- j' c USB: RL-USB V4.74% ^: n# i: @+ O. c P CAN: RL-CAN V4.74 GUI: emWin V5.36 Modbus: Designed by armfly- ]$ }1 P7 k' I0 `9 R& h" C0 z 3. 14个任务优先级配置 (1). os_idle_demon, 优先级0:系统空闲任务。$ z' a9 ?: A5 ]* z- h9 I! N (2). AppTaskStatistic 优先级1:CPU利用率检测。/ ]$ F4 E" U4 F6 Q5 ^- i$ ^ (3). AppTaskGUI, 优先级3:GUI主任务。" ?- x0 k1 P* e7 a (4). _ServerTask, 优先级4:VNC Server/ k* R" r; W# e3 M* R (5). AppTaskTCPMain, 优先级5:TCPnet网络主任务。0 t, A. z" b% B7 V) t" a& H (6). AppTaskStart, 优先级7:启动任务。 (7). AppTaskCAN, 优先级8:CAN总线任务。 (8). AppTaskModbus, 优先级9:Modbus任务。 (9). AppTaskUSB, 优先级10:USB任务,& k6 [4 ~2 |: w (10). AppTaskMusic, 优先级11:音乐任务,用于音乐播放器,视频播放器,录音机和收音机处理。( |% V4 v' D+ C8 O9 X3 K0 i- A5 Q (11). AppTaskPinDetect, 优先级12:SD卡插拔检测任务。 (12). AppTaskTCPTimer, 优先级13:TCPnet网络定时更新任务。9 |# b8 {$ W6 C USB在运行的过程中会创建2两个任务: D! v+ s7 | `* M1 I$ x+ k4 \ (14). USBD_RTX_EndPoint0 优先级2:USB设备端点0任务。- E9 B1 U K1 Y) d& u! x! r (15). USBD_RTX_MSC_EP_BULK_Event 优先级2:USB BULK数据传输任务。3 \9 L) m D# B4 L 4. 15个中断安排 NVIC优先级分组采用4,仅抢占优先级,范围0-15。 LTDC中断, 抢占优先级 0! H: Y/ W$ P5 ?9 `- o5 [2 @ ETH以太网中断, 抢占优先级 0* ~; U9 d4 a, A, v7 Y3 x USB FS中断, 抢占优先级 0. A' y. \& j$ s& W) J CAN2 TX中断, 抢占优先级 1 CAN2 RX0中断, 抢占优先级 1 DMA2_Steam5中断, 抢占优先级 1 DMA2_Steam1中断, 抢占优先级 1 EXTI6中断, 抢占优先级 1 USART3中断, 抢占优先级 2* t+ j* ?4 V7 \& K$ Q EXTI2中断, 抢占优先级 2 TIM2中断, 抢占优先级 4, l" B9 D2 T" a. W4 \+ m- m/ F: v9 U USART1中断, 抢占优先级 13 RTC Alarm中断, 抢占优先级 13 SVC中断, 抢占优先级 14 Systick中断, 抢占优先级 15 PendSV中断, 抢占优先级 15# ?% ?) \, u+ D/ u0 W) K 5. 内存安排! E5 Q2 w3 @8 ?7 @9 W( M 内部SRAM , CCM SRAM和SDRAM安排。 内部192KB SRAM :80KB用于动态内存分配,其余用于任务堆栈,系统堆栈,文件系统,网络协议栈等。 内部64KB CCM SRAM:用于视频播放器时,JPEG解码。 外部16MB SDRAM :前4MB用于SDRAM的虚部显示屏。7 {# Z0 `8 X2 G& Q, E 外部16MB SDRAM :后12MB用于emWin动态内存。( W8 [* A& B5 t! s 6. RTX调试组件效果展示% d; h Q% x% [& D- A1 t2 p. q
7. 开启MDK4.74最高的3级优化,同时开启相当给力的时间优化
************************************************************************************** 程序下载: 链接:https://pan.baidu.com/s/1o8pzIGU 密码:xar0
åºäºRTX emWin FlashFS USB TCPnet CAN Modbusç综åVNC弿ºé¡¹ç®.rar
(13.82 MB, 下载次数: 359)
|
微信公众号
手机版
实际项目建议外置RTC,自带的精度差。像DS3231这种自带温补晶振的,比较推荐。
例程很赞