飞凌OKMX6ULL-C开发板试用

news2024/11/27 18:29:47

开箱体验

主要配件包括:USB Type-C调试线、电源线、主板。

 

资源下载

开发环境 

飞凌提供了制作好的ubuntu18.04的镜像,直接到网盘下载解压即可,VMWare的安装可以参考网上教程,这里不赘述。安装好VMWare后直接打开解压出来的ubuntu18.04镜像,登录账户forlinx,密码forlinx

 硬件资料

硬件资料包括用户手册、数据手册、PDF版的原理图以及更新记录

软件资料

软件方面提供了linux4.1.15+QT5.6的镜像、原厂资料包、丰富的应用笔记、数据手册、烧录工具以及Linux源码

 系统介绍

OKMX6ULL-C开发板使用的是NXP的imx6-ul处理器,主要特性如下

CPU

  • Cortex-A7内核,运行频率900 MHz,128 KB L2缓存

显示

  • 并行LCD显示,分辨率高达WXGA (1366x768)
  • 8/10/16/24位并行摄像头传感器接口
  • 电泳显示屏控制器支持直接驱动E-Ink EPD面板,分辨率高达2048x1536,工作频率106 Hz

存储

  • 16位LP-DDR2, DDR3/DDR3L
  • 8/16位并行NOR FLASH / PSRAM
  • 双通道Quad-SPI NOR FLASH
  • 8位原始NAND FLASH与40位ECC

连接

  • 2个MMC 4.5/SD 3.0/SDIO端口
  • 2个USB 2.0 OTG,HS/FS,器件或主机,带PHY接口
  • 音频接口包括3个I2S/SAI, S/PDIF Tx/Rx
  • 2个10/100以太网,支持IEEE 1588协议
  • 2个12位ADC,高达10个输入通道,以及电阻式触摸控制器(4线/5线)

安全性

  • 安全模块:TRNG,加密引擎(带DPA的AES,TDES/SHA/RSA),安全引导

系统测试

 查看 CPU 信息命令

取系统中的 CPU 的提供商和参数信息,则可以通过/proc/cpuinfo 文件得到。

  • processor:系统中逻辑处理核的编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
  • BogoMIPS :在系统内核启动时粗略测算的 CPU 每秒运行百万条指令数(MillionInstructions Per Second)
root@fl-imx6ull:~# cat /proc/cpuinfo 
processor       : 0
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 3.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : Freescale i.MX6 Ultralite (Device Tree)
Revision        : 0000
Serial          : 471669d75d5b2ac2

CPU使用情况

Top命令查看CPU使用情况

Tasks:  92 total,   1 running,  88 sleeping,   3 stopped,   0 zombie
%Cpu(s):  1.5 us,  2.0 sy,  0.0 ni, 96.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   489380 total,   373512 free,    35020 used,    80848 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   371988 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                 
  883 root      20   0    3236   1920   1612 R  3.2  0.4   0:03.34 top                                                     
  624 avahi     20   0    3692   2120   1948 S  0.6  0.4   0:00.50 avahi-daemon                                            
    1 root      20   0    1708   1096   1028 S  0.0  0.2   0:02.09 init                                                    
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd                                                
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.15 ksoftirqd/0                                             
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                            
    7 root      20   0       0      0      0 S  0.0  0.0   0:00.34 rcu_preempt                                             
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_sched                                               
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                  
   10 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                             
   11 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper                                                 
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kdevtmpfs                                               
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 perf                                                    
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                               
   15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto                                                  
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                  
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd                                                 
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ata_sff                                                 
   20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 cfg80211                                                
   21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 rpciod                                                  
   22 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kswapd0                                                 
   23 root      20   0       0      0      0 S  0.0  0.0   0:00.00 fsnotify_mark                                           
   24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 nfsiod                                                  
   61 root      20   0       0      0      0 S  0.0  0.0   0:00.00 spi0                                                    
   62 root      20   0       0      0      0 S  0.0  0.0   0:00.00 spi1                                                    
   63 root      20   0       0      0      0 S  0.0  0.0   0:00.14 kworker/u2:1                                            
   68 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ci_otg                                                  
   69 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 goodix_wq                                               
   70 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 gtp_esd_check   
  • %us:表示用户空间程序的 cpu 使用率(没有通过 nice 调度)
  • %sy:表示系统空间的 cpu 使用率,主要是内核程序
  • %ni:表示用户空间且通过 nice 调度过的程序的 cpu 使用率
  • %id:空闲 cpu
  • %wa: 等待输入输出的 CPU 时间百分比
  • %hi:cpu 处理硬中断的数量
  • %si:cpu 处理软中断的数量

CPU支持的频率

查看当前CPU支持的频率档位

root@fl-imx6ull:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
198000 396000 528000 792000 

root@fl-imx6ull:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
198000

获取 CPU 温度信息

root@fl-imx6ull:~# cat /sys/class/thermal/thermal_zone0/temp 
55025

上面显示的数字为千分之一度,处以1000就是当前温度

CPU压力测试

通过 bc 命令来计算圆周率方法来测试 CPU 在运算过程中的稳定性。基本上保持在98.5%左右

 过一会儿计算出了圆周率

 查看内存信息

可以通过/proc/meminfo 文件读取系统中的内存的参数信息

root@fl-imx6ull:~# cat /proc/meminfo 
MemTotal:         489380 kB
MemFree:          399972 kB
MemAvailable:     387244 kB
Buffers:            6788 kB
Cached:            40912 kB
SwapCached:            0 kB
Active:            40896 kB
Inactive:          28524 kB
Active(anon):      21932 kB
Inactive(anon):      860 kB
Active(file):      18964 kB
Inactive(file):    27664 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         489380 kB
LowFree:          399972 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                20 kB
Writeback:             0 kB
AnonPages:         21720 kB
Mapped:            22508 kB
Shmem:              1072 kB
Slab:              10640 kB
SReclaimable:       3420 kB
SUnreclaim:         7220 kB
KernelStack:         728 kB
PageTables:          972 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      244688 kB
Committed_AS:      75644 kB
VmallocTotal:    1548288 kB
VmallocUsed:       37188 kB
VmallocChunk:    1329932 kB
CmaTotal:         327680 kB
CmaFree:          326632 kB
root@fl-imx6ull:~# 

获取内存使用率

使用 free 命令来读取内存的使用情况,-m 参数代表单位为 MByte。

root@fl-imx6ull:~# free -m
              total        used        free      shared  buff/cache   available
Mem:            477          30         392           1          55         378
Swap:             0           0           0
  • total :内存总量 (我拿到的是512M的内存版本)
  • used :被使用的内存量
root@fl-imx6ull:~# memsize
384MB OK
384

内存压力测试

通过给定测试内存的大小和次数, 可以对系统现有的内存进行压力上的测试。可使用系统工具 memtester 进行测试,如指定内存大小 50MB,测试次数为 5,测试命令为“memtester 50M 5"。

root@fl-imx6ull:~# memtester 50M 5                                                                                                               
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 50MB (52428800 bytes)
got  50MB (52428800 bytes), trying mlock ...locked.
Loop 1/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Loop 2/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Loop 3/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Loop 4/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Loop 5/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         

Done.

查看分区信息

root@fl-imx6ull:~# cat /proc/partitions 
major minor  #blocks  name

   1        0      65536 ram0
   1        1      65536 ram1
   1        2      65536 ram2
   1        3      65536 ram3
   1        4      65536 ram4
   1        5      65536 ram5
   1        6      65536 ram6
   1        7      65536 ram7
   1        8      65536 ram8
   1        9      65536 ram9
   1       10      65536 ram10
   1       11      65536 ram11
   1       12      65536 ram12
   1       13      65536 ram13
   1       14      65536 ram14
   1       15      65536 ram15
 179        0    7634944 mmcblk1
 179        1     512000 mmcblk1p1
 179        2    7020544 mmcblk1p2
 179       24       4096 mmcblk1rpmb
 179       16       4096 mmcblk1boot1
 179        8       4096 mmcblk1boot0
root@fl-imx6ull:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.5G  750M  5.4G  12% /
devtmpfs         79M  4.0K   79M   1% /dev
tmpfs            40K     0   40K   0% /mnt/.psplash
tmpfs           239M  172K  239M   1% /run
tmpfs           239M  172K  239M   1% /var/volatile
/dev/mmcblk1p1  500M   15M  486M   3% /run/media/mmcblk1p1

网络

设置网卡0的IP地址,ifconfig命令可以查看当前系统的网卡

root@fl-imx6ull:~# ifconfig eth0 192.168.1.1
root@fl-imx6ull:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 3a:63:34:0f:71:84  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 62:38:63:34:0f:71  
          UP BROADCAST MULTICAST DYNAMIC  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

uname查看内核版本

root@fl-imx6ull:~# uname -a
Linux fl-imx6ull 4.1.15-00050-ge85def2 #1 SMP PREEMPT Mon Apr 18 17:42:50 CST 2022 armv7l armv7l armv7l GNU/Linux

mplayer播放MP4

root@fl-imx6ull:~# mplayer -vo fbdev test.mp4 
Creating config file: /home/root/.mplayer/config
MPlayer 1.3.0-5.3.0 (C) 2000-2016 MPlayer Team

Playing test.mp4.
libavformat version 57.25.100 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x887550]Protocol name not provided, cannot determine if input is local or a network protocol, l
[lavf] stream 0: video (mpeg4), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [MP4V]  480x272  24bpp  23.976 fps  1077.9 kbps (131.6 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.24.102 (internal)
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Clip info:
 major_brand: isom
 minor_version: 512
 compatible_brands: isomiso2mp41
 encoder: Lavf55.19.104
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
top - 04:06:00 up 21 min,  2 users,  load average: 0.08, 0.05, 0.05
Tasks:  92 total,   1 running,  89 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.3 us,  2.3 sy,  0.0 ni, 97.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   489380 total,   370476 free,    34204 used,    84700 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   370888 avail Mem 
root@fl-imx6ull:~# mplayer -vo fbdev test.mp4      
MPlayer 1.3.0-5.3.0 (C) 2000-2016 MPlayer Team

Playing test.mp4.
libavformat version 57.25.100 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x887550]Protocol name not provided, cannot determine if input is local or a network protocol, l
[lavf] stream 0: video (mpeg4), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [MP4V]  480x272  24bpp  23.976 fps  1077.9 kbps (131.6 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.24.102 (internal)
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Clip info:
 major_brand: isom
 minor_version: 512
 compatible_brands: isomiso2mp41
 encoder: Lavf55.19.104
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 126.2 kbit/4.47% (ratio: 15775->352800)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 44100Hz 2ch floatle (4 bytes per sample)
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0xab8380]bicubic scaler, from yuv420p to bgra using C
[swscaler @ 0xab8380]No accelerated colorspace conversion found from yuv420p to bgra.
[swscaler @ 0xab8380]using unscaled yuv420p -> bgra special converter
VO: [fbdev] 480x272 => 484x272 BGRA 
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0xab8380]No accelerated colorspace conversion found from yuv420p to bgra.
VO: [fbdev] 480x272 => 484x272 BGRA 
A:   0.1 V:   0.0 A-V:  0.102 ct:  0.004   0/  0 ??% ??% ??,?% 0 0 
[VD_FFMPEG] DRI failure.
A:  20.0 V:  20.0 A-V:  0.005 ct:  0.065   0/  0 24%  3%  3.8% 0 0 


Exiting... (End of file)

应用开发(VNC显示QT界面)

本次飞凌嵌入式提供的OKMX6ULL-C开发板,么有配LCD屏幕,想看一下系统的QT显示,只能尝试搞一下VNC,通过远程桌面来看QT的HMI界面。

OKMX6ULL-C(VNC Server)<-----------网线----------->PC (VNC Client)

下载x11vnc

下载链接:https://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz

 解压x11vnc

切换到x11vnc解压出来的目录

cd /home/forlinx/work/x11vnc-0.9.14-dev/x11vnc-0.9.14

 配置交叉编译环境

设置交叉编译环境
source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
确认一下交叉编译命令CC是否Okay
$ echo $CC
arm-poky-linux-gnueabi-gcc -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi

 配置x11vnc

查看configure文件中的编译变量指定:

这里直接使用的是$CC,所以上一步要source一下ToolChian,

source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

 

--host参数指定交叉编译

--prefix指定最终的安装目录

./configure --host=arm-poky-linux --prefix=/home/forlinx/opt/vnc

 编译及安装

make &&make install

最终编译出来的x11vnc如下:

$ tree 
.
└── vnc
    ├── bin
    │   └── x11vnc
    ├── include
    │   └── rfb
    │       ├── keysym.h
    │       ├── rfbclient.h
    │       ├── rfbconfig.h
    │       ├── rfb.h
    │       ├── rfbint.h
    │       ├── rfbproto.h
    │       └── rfbregion.h
    ├── man
    │   └── man1
    │       └── x11vnc.1
    └── share
        ├── applications
        │   └── x11vnc.desktop
        └── x11vnc
            └── classes
                ├── index.vnc
                ├── ssl
                │   ├── index.vnc
                │   ├── proxy.vnc
                │   ├── README
                │   ├── SignedUltraViewerSSL.jar
                │   ├── SignedVncViewer.jar
                │   ├── ss_vncviewer
                │   ├── ultrasigned.vnc
                │   ├── UltraViewerSSL.jar
                │   ├── ultra.vnc
                │   └── VncViewer.jar
                └── VncViewer.jar

11 directories, 22 files

运行x11vnc

OKMX6ULL-C板端作为VNC Server,PC作为VNC Viewer

通过网线连接PC和OMX6ULL-C板

板端

  • 将上述编译出来的~/opt/vnc整个目录通过scp传输到板端
  • 配置板子的IP地址为192.168.1.1
  • 直接运行
root@fl-imx6ull:~/vnc# ls
bin      include  man      share
root@fl-imx6ull:~/vnc# ./bin/x11vnc

 PC端

  • PC端安装好VNC viewer工具(下载链接 Download VNC Server | VNC® Connect)
  • 配置PC的IP地址为192.168.1.2
  • 设置好需要连接的远端桌面的IP(OKMX6ULL-C板端)192.168.1.1

打开VNC Viewer设置连接:

 

 

 连接成功后就可以看到QT的界面了,x11vnc支持事件捕获,所以是支持鼠标操控QT界面的。

最后上一个完整的靓图吧:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/844123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macos搭建python3虚拟环境

我们知道macos自带的python版本是Python2.7, 这个版本比较老而且往往和我们的工程不兼容&#xff0c;所以就得需要我们升级Python版本&#xff0c; 我们不建议直接升级macos自带的本地Python2.7, 因为macos有一些基础软件是依赖于Python2.7的&#xff0c;如果动了遇到问题想再…

neo4j入门实例介绍

使用Cypher查询语言创建了一个图数据库&#xff0c;其中包含了电影《The Matrix》和演员Keanu Reeves、Carrie-Anne Moss、Laurence Fishburne、Hugo Weaving以及导演Lilly Wachowski和Lana Wachowski之间的关系。 CREATE (TheMatrix:Movie {title:The Matrix, released:1999,…

力扣:54. 螺旋矩阵(Python3)

题目&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;matrix [[1,…

[NOIP2007 普及组] 纪念品分组

[NOIP2007 普及组] 纪念品分组 题目描述 元旦快到了&#xff0c;校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡&#xff0c;他要把购来的纪念品根据价格进行分组&#xff0c;但每组最多只能包括两件纪念品&#xff0c; 并且…

IO学习-线程

1&#xff0c;使用信号量的方式实现&#xff0c;将倒置以及打印的那道题目&#xff0c; 要求打印&#xff0c;倒置线程&#xff0c;顺序执行。出现的现象为先打印1234567&#xff0c;后打印7654321 不使用flag 运行结果&#xff1a; 2&#xff0c;创建两个线程&#xff0c;其中…

3. C++类和对象

一、面向对象程序设计的基本特点 1.1 抽象 指对具体问题&#xff08;对象&#xff09;进行概括&#xff0c;抽出一类对象的公共性质并加以描述的过程 数据抽象 描述某类对象的属性或状态&#xff0c;即此类对象与其他类对象的区别 行为抽象 描述某类对象的共同行为或功能特征…

IP核之fifo

一.FIFO简介 FIFO (First In First Out&#xff0c;即先入先出&#xff09;&#xff0c;是一种数据缓冲器&#xff0c;用来实现数据先入先出的读写方式。 二&#xff0c;FIFO实现原理 FIFO是采用一种先入先出的实现原理 就如图按照D1到D10的顺序输入那么读取的时候也是按照D…

web浏览器打开本地exe应用

一、如何使web浏览器打开本地exe应用&#xff1f; 浏览器打开本地exe程序我们可以使用ActiveXObject方法&#xff0c;但是只支持IE&#xff0c;谷歌、火狐等浏览器并不支持此操作。 那问题来了&#xff0c;我们又该如何操作&#xff1f; 经过本博主的不断学习探索终于找到了一…

多语言一键铺货跨境电商平台快速开发(java开源)

要搭建一个多语言一键铺货跨境电商平台&#xff0c;可以参考以下步骤&#xff1a; 1. 确定需求&#xff1a;首先&#xff0c;明确平台的功能需求&#xff0c;包括多语言支持、一键铺货功能、跨境支付等。 2. 选择适合的开源项目&#xff1a;选择一个适合的Java开源电商平台项…

Unity 编辑器资源导入处理函数 OnPreprocessAudio :深入解析与实用案例

Unity 编辑器资源导入处理函数 OnPreprocessAudio 用法 点击封面跳转下载页面 简介 在 Unity 中&#xff0c;资源导入是一个非常重要的环节&#xff0c;它决定了资源在项目中的使用方式和效果。Unity 提供了一系列的资源导入处理函数&#xff0c;其中之一就是 OnPreprocessAud…

Crond计划任务的简单使用

目录 前言 一、一次性任务at 二、crond周期性任务 总结 前言 crond是Linux系统中的一个守护进程&#xff0c;负责定期执行预设的任务&#xff0c;也称为计划任务。它可以根据用户的需求&#xff0c;在指定的时间、日期或周期性地执行特定的命令或本crond的用是自动化和定时执行…

JavaWeb_LeadNews_Day5-文章定时发布

JavaWeb_LeadNews_Day5-文章定时发布 延时服务概述DelayQueueRabbitMQ(常用)Redis(常用) redis延迟服务实现思路总思路添加任务取消任务拉取任务未来数据定时刷新redis解决集群抢占 具体实现乐观锁docker运行redis项目集成redis添加任务取消任务拉取任务未来数据定时刷新redis解…

Jmeter入门之digest函数 jmeter字符串连接与登录串加密应用

登录请求中加密串是由多个子串连接&#xff0c;再加密之后传输。 参数连接&#xff1a;${var1}${var2}${var3} 加密函数&#xff1a;__digest &#xff08;函数助手里如果没有该函数&#xff0c;请下载最新版本的jmeter5.0&#xff09; 函数助手&#xff1a;Options > …

【Hystrix技术指南】(1)基本使用和配置说明

这世间许多事物皆因相信而存在&#xff0c;所以人们亲手捏出了泥菩萨&#xff0c;却选择坚定的去信仰它。 分布式系统的规模和复杂度不断增加&#xff0c;随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中&#xff0c;【熔断、隔离、降级、限流】是经常被…

wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件

日主题Ripro9.0最新二开升级修正源码美化包和插件&#xff0c;RiPro9.0的二开版本新模板&#xff0c;包含2个美化包和全屏水印以及防复制插件。 模板和美化包路径:\wp-content\themes 插件路径&#xff1a;\wp-content\plugins&#xff0c;有兴趣的自行去体验吧

AOP-AspectJ 切面技术及使用MethodInterceptor实现切面

目录 一、简介 二、什么是AspectJ AOP 思想概述 AOP 实现方式 AOP 特性概念 切点指示器 通知类型 三、实现AOP的方式 四、配置说明 自定义注解作为切点 NeedCut MyAop GirlController 继承MethodInterceptor实现切面 MyMethodInterceptor AopConfig NeedCut 注解…

如何将安卓 Gradle 模块打包发布到本地 Maven 仓库

文章目录 具体流程 笔者的运行环境&#xff1a; Android Studio Flamingo | 2022.2.1 Android SDK 33 Gradle 8.0.1 JDK 17 Android 的 Gradle 项目与一般的 Gradle 项目是不同的&#xff0c;因此对将 Gradle 模块打包发布到本地 Maven 仓库来说&#xff0c;对普通 Gradle …

Python 模块 locust 性能测试

简介 locust 是 Python 的一个开源的负载测试工具&#xff0c;用于测试网络应用程序的性能和可伸缩性。它使用Python编写&#xff0c;并提供了一个简单易用的语法来定义和执行负载测试。locust模块允许用户模拟大量并发用户并观察系统在高负载下的响应情况。 目录 1. 基本用法…

vue中transition动画的使用

1.vue文件 说明&#xff1a;加name属性 <transition name"sort"><div class"sort" v-show"show"><div class"all-sort-list2" click"goSearch"><div class"item bo" v-for"(item1, in…

图像膨胀+滤波达到边缘外扩模糊效果

有一个扯淡需求, 根据某些格网值渲染对应的颜色, 我们做的实现方案是按照色代码渐变做颜色映射, 但是某些厂家不顾结果正确性与否, 应是为了好看做的好看, 将边界膨胀模糊, 一个非风场,力场类似场数据做了一个类似场的渲染效果, 也不知道说啥好, 例如原始图渲染如下 经过一系列…