|
|
嵌入式开发时经常碰到的情景:在多模块的嵌入式系统中,需要打开n个串口助手,占满了整个桌面。6 g: ~' N7 b" Q v" ?
4 A1 c4 G8 c0 t0 q$ v+ t需要计算一段代码运行使用的时间,要使用数码示波器各种测量。 云控日志可以计算经过时间 显示精确到微秒的用时,用于确定两个打印日志之间的时间,调试时间敏感的项目尤其实用
- f% C; f1 o L) L
! a# I' F* h2 c* z5 t在没有出现问题时,日志太多了。在出现问题后,日志太少了,使用云控日志CloudLog过滤就解决方便解决这个问题
/ I) c/ O" N6 G: O* T+ g1 G6 w! ]3 k
CloudLog.exe不需要安装 只有一个2M的文件 从XP到windows11都能运行 简洁的原生显示支持深色主题" |. z5 c( [9 G( ]( R4 j
1 r2 V- y) a; [% u8 b, x
在打印的日志前面加等级简写就可以简单实现各种日志颜色显示,等级E/W/I/D/B/F/G/P对应Error/Warn/Info/Debug/Buffer/Fixer/图像设置/图像数据( [/ U7 i& w( n1 F* X% o
$ ?# n# S; v/ ]; x0 C! R8 @0 \0 q
可以根据日志等级及各种组合来过滤日志记录。关键词可以高亮显示,以增强可读性。各种关键词组合关闭或显示过滤% b. d! E$ y+ y& z9 e+ h: {. R
! u2 w0 x; l( N/ ?* ~' Z' \4 i
可以将单片机的内存数组直接通过Buffer日志显示到CloudLog.exe及保存到文件,在电脑直接打开文件 跟踪数组阵列的内容。对于调试时在数据量很大找问题太有帮助了0 }" i0 [9 @9 {6 R: b; N1 _
! }. H: f7 [, Q" i M2 U, h/ Z
可以将日志保存到FLASH之内,就算在系统运行崩溃后,也可以保存崩溃的内容。在重新开始后恢复现场的记录。9 |& F& n" p0 ^& w2 j/ J) q. M
4 y. ]9 s4 e" z# d. X0 p可以将采集ADC、其他周期性的数据或DSP产生的数据使用图像以波形方式显示
) H" n3 \, g0 {" `9 ^' A1 Q, v, O9 f
电脑推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。如果应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
' Q2 U4 i% [% z8 A2 a, n7 ~' _对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。可以了解远程运行的系统运行情况。* E Q4 m: T7 L7 x0 z" O0 Z
$ A6 x- |1 s) F" V/ K3 e
实现电脑、手机、嵌入式系统等不同平台的日志管理统一化。通过CloudLog,您可以轻松保存、处理和显示各种平台发出的日志信息。
0 Q1 X: [. ]7 X( `. i! ]% k' h5 V* [" }+ c$ D/ V. p" K( \1 ~
便捷远程及云端使用:' u0 c. Q! y0 V
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。) r' }* b0 |+ B9 x% P
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。, o+ z6 _5 o; ^
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。6 x0 B4 @6 n$ }: b
# d! R' z3 W0 C# l$ c! s
- M8 N6 x8 Q8 V0 V" E使用开源库CloudLog的方法:4 Z# P0 |# g/ x* s, p
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
( I9 ]$ g8 |! }7 r% e) l2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
9 U9 `7 @5 ?& N3 H3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
7 R7 v$ v" X9 [- K4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
% b& i+ H S" H) Z5、使用之中有问题或建议可以提Issues或加QQ群857283039。5 H9 m. ^* D4 y; F) B0 m8 V' I
6. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。/ ]2 A* H: f0 O1 g- M( y
! G9 N4 Z- H: g/ B$ y7 w2 y
|
|