DM368开发 –IPNC 设置过程[通俗易懂]

DM368开发 –IPNC 设置过程[通俗易懂]第一步: IPNC 安装:安装软件包,解压后包含以下组件:1. IPNC_RDK_DM36x_Version3.1.0.tar.gz:这是linux tar文件,需要解压在linux机器。这是主要tar文件IPNC RDK安装。这个包含在以下文件 预构建二进制文件Dm36x平台 配套文献 源代码构建IPNC的RDK所需 硬件包和BoM,图表和Gerber文件        实用程序文件像凝

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

参看:Appro DM36x IPNC 4.0 开发环境配置

第一步: IPNC 安装:

安装软件包,解压后包含以下组件:

1. IPNC_RDK_DM36x_Version3.1.0.tar.gz:

这是linux tar文件,需要解压在linux机器。这是主要tar文件IPNC RDK安装。这个包含在以下文件

预构建二进制文件Dm36x平台

配套文献

源代码构建IPNC的RDK所需

硬件包和BoM,图表和Gerber文件

        实用程序文件像凝胶,Nand-programmer等等

2. ImageTuningTool_DM36x_Version2.1.0.zip:

这是一个图像优化工具软件包用于优化IPNC图像质量。需要解压缩和用于Windows电脑。它包含以下

图像优化工具安装程序(imagetunningtool – 2.1安装程序

MCR安装程序(MCRInstaller.exe)。这个需要安装安装图像优化工具

3. GUI_VideoPlayer_SDK_Version2.0.30.zip:

这个SDK工具集,需要开发web GUI屏幕和ActiveX的播放器。这需要解压缩和用于Windows电脑。

GUI文件夹包含所有源代码、文档和公用事业构建web GUI屏幕

播放器文件夹包含所有源代码,文档和msys依从者/公用事业需要构建ActiveX视频播放器

业务Model-v3.1 GUI。pdf包含详细的业务TI和GoDB科技之间的模型

4. UserGuide_IPNC_RDK_DM36x.pdf:

业务Model-v3.1 GUI。pdf包含详细的业务TI和GoDB科技之间的模型

5. Release_Notes_IPNC_RDK_DM36x.pdf:

细节特征补充说,已知问题,版本细节,bug修复等

IPNC_RDK_DM36x_Version3.1.0.tar.gz的安装流程:

1. 拷贝IPNC_RDK_DM36x_Version3.1.0.tar.gz 到你的linux系统安装目录

2. 使用下面的命令将文件解压

tar  -zxvf IPNC_RDK_DM36x_Version3.1.0.tar.gz

成功将命令解压,文件将生成

Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz

OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz

PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin

3. 运行文件 “PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin”

通过安装保护在一个特定的安装目录。

./PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin

他将会安装 PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz 在选择的位置

用户需要接受许可成功安装

4. 提取/解压文件 “PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz” 在安装目录

 tar  -zxvf PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz

5. 提取/解压文件 “OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz” 上面的步骤安装目录的上面

  tar  -zxvf OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz

6. 提取/解压文件 “Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz” 上面的步骤安装目录的上面

  tar  -zxvf Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz

需要这个将三个文件放到一起解压,如此才能合并. 到此安装完成。

第二步: 修改下面位置的 Rules.make 

<installDir>/Source/ipnc_rdk

如:/Release/Source/ipnc_rdk 

参考下面的设置

#SYSTEM := EVM

SYSTEM := IPNC

#这是用于选择硬件平台

 

#IPNC_PLATFORM := DM365

IPNC_PLATFORM := DM368

#这是用于选择芯片ID

 

#FILESYS_MODE := NFS

FILESYS_MODE := NAND

#这是用于选择模式运行的文件系统

 

IMGS_ID := IMGS_MICRON_MT9P031_5MP

#这是选择使用的传感器类型


13)如果你的登录并不是root模式,然后使用以下命令登录在安装过程中避免错误 

(我的是root模式登录的不需要修改了)

chmod -R a+rwx < IPNC_INSTALL_DIR >

chown -R <useracct> < IPNC_INSTALL_DIR >

where,

< useracct > 是你的宿主LINUX电脑上用户的登录ID。

< IPNC_INSTALL_DIR > 您设置的目录在 Rules.make.


14) 移动到Rules.make所在的安装目录

cd $(IPNC_INSTALL_DIR)/ipnc_rdk

例如: cd/Release/Source/ipnc_rdk


15) 使用下面的命令编译:

make sysall

 

他会拷贝到linux 内核 < TFTP_HOME > 目录下生成“uImage_ipnc_dm36x”.

此外,它使波形的的副本到 ti davinci/arch/arm/boot/ 目录下的文件 uImage.

同时,也会将所有IPNC文件可执行文件复制到文件系统,提到到输出目录位于(EXEC_DIR)设置

$(installDir)/Rules.make


说明:可以使用以下命令基于期望的功能:

IPNC增量构建的应用程序 — “make”

清除IPNC应用程序构建 — “make clean”

重建整个IPNC应用程序 —  “make all”

对于增量Linux构建  — “make lsp”

清除Linux构建 —  “make lspclean”

重建整个Linux —  “make lspall”

对于增量DVSDK构建 —  “make dvsdk”

清除DVSDK构建 — “make dvsdkclean”

重建整个DVSDK — “make dvsdkall”

增量构建的系统 — “make sys”

干净的系统构建 —  “make sysclean”

重建整个系统 —  “make sysall”

 

“make”命令将只包括构建IPNC应用程序。

“av_capture”和“ipnc_app”文件夹中。它还将复制所有IPNC文件可执行文件到文件系统

“sysall” ,”sysclean” and “sys” 构建选项将构建DVSDK,Linux和IPNC应用程序

 

17)可以使用以下命令生成的文件系统:

make squashfs

这将从< TFTP_HOME > 目录下复制的文件系统 “ipnc_dm36x_squashfs”

PS: 整个包是安装了ubuntu 10.04 LTS的构建和测试在主机电脑

我们建议用户检查之前,创建一个链接后安装Linux操作系统电脑方面避免编译时错误

执行make sysall 出现错误,显示交叉编译器没有安装

第三步:安装CCS交叉编译器 arm_v5t_le-

下载链接:http://pan.baidu.com/s/1hrwP5Uc 密码:ydpk

执行安装:(选择安装在 /opt/mv_pro_5.0.0目录下

./mvl_5_0_demo_sys_setuplinux.bin 

解压tar -xvf mvltools5_0_0801921_update.tar.gz 

最后查看 ls  /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc  

第四步: 设置交叉编译器环境变量:

cd /root  

gedit .bashrc 

在最后一行添加:

PATH=”/opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/bin:

/opt/mv_pro_5.0.0/montavista/pro/bin:

/opt/mv_pro_5.0.0/montavista/common/bin:$PATH”

保存

source  .bashrc  //命令立即生效

第五步: 修改配置文件Rules.make

进入/home/zslf/dm368/dvsdk_dm368_4_02_00_06/psp/Release/Source/ipnc_rdk# 

执行 gedit Rules.make 

更改第75行,将

BUILD_TOOL_DIR     := /data/datalocal_videoapps01/ipnc_tools/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le

改为:BUILD_TOOL_DIR     := /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le

自动编译uboot

切换到【解压目录】/Release/Source/ipnc_rdk下使用下列命令编译安装:

make uboot clean

make uboot

编译完成后,会自动将uboot_xxxx.bin文件复制到【解压目录】

/Release/Source/ipnc_rdk/Rules.make文件中

TFTP_HOME所标示的tftp目录下。

手动编译 uboot

切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/u-boot目录下

使用下列命令编译uboot:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_config

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

手动内核编译

切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci目录,使用命令:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- clean

清空源配置文件和原编译文件;

使用下列命令之一复制默认的配置文件:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig_nand

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig_nfs

使用下列命令修改配置:

make  ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig

使用下列命令进行内核编译:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

编译时,如果提示无规则生成csl.o/ drv.o / edmak.o / irqk.o / dm365mmap.o / cmemk.o,请将编译好的csl.o& drv.o & edmak.o & irqk.o & dm365mmap.o &cmemk.o文件复制到【解压路径】Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/drivers/char/目录下,这些文件请到【解压路径】

/Release/Source/dvsdk_ipnctools/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/目录和【解压路径】/Release/Source/dvsdk_ipnctools/dm365mm-module_01_00_03/module/目录和【解压路径】/Release/Source/ipnc_rdk/av_capture/framework/目录去找。

编译完成后,内核文件uImage在【解压路径】

/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/arch/arm/boot下。

/home/zslf/dm368/dvsdk_dm368_4_02_00_06/psp/IPNC/Source/ipnc_rdk# make sysall

然后编译的时候会出错

find . -name drv_audio.c

./av_capture/framework/drv/usermod/src/drv_audio.c

我将这个alsa/asoundlib.h 注释掉再试试

在ipnc_app/sys_server/src/av_server_ctrl.c

有两个参数pConfig -> nVideocodecmode 和pConfig -> nVideocodecres

其中,pConfig -> nVideocodecmode是设置编码方式的,

      pConfig -> nVideocodecres   是设置分辨率信息的

例如: ./av_server.out DM368 NTSC 1080P H264 4000000 VBR AUTO MENUOFE & InitAV_Server begin

应用程序编译完生成文件在  /opt/ipnc_rdk/target/filesys/opt/ipnc

执行脚本

#! /bin/sh

DVEVMDIR=/opt/ipnc

cd  $DVEVMDIR

./system_server &

$DVEVMDIR/beforeloadkmodule.sh

$DVEVMDIR/loadkmodules.sh

$DVEVMDIR/loadmodules_ipnc.sh

ifconfig lo 127.0.0.1

cd  $DVEVMDIR

./boot_proc 1

$DVEVMDIR/autorum.sh

mount devpts /dev/pts -t devpts


ifconfig lo 127.0.0.1

就是系统本身的IP。可在没联网情况下用于网络测试。

比如我的电脑做为网页服务器,但我没联网,没有内网和外网IP。就可以在浏览器中输入127.0.0.1测试。

 

1. 内核添加MT9P031  

make menuconfig   

Prompt: mt9p031 support      Location:                                                                                                        -> Kernel configuration                                                                                             -> Device Drivers                                                                                                   -> Multimedia support (MEDIA_SUPPORT [=y])                                                                          -> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y])

 

2. 在 /arch/arm/mach-davinci/board-dm368-leopard.c:下的 static struct vpfe_subdev_info vpfe_sub_devs

添加MT9P031

uboot启动信息

(11设置U.boot参数:

#setenv bootargs console=ttyS0.1 15200n8 rw mem254M vide02 davincifb:vidO=

OFF:vidl=OFF:osd0=720x576x 1

6,4050K dm365_imp.opermode=O davinci—

capture.device_type2l vpfe_capture.interfaee=l vpfe_capture.con_bufsize=6291456

root=/dev/nfsnfsroot=192.168.0.138:/root/targeffs ip=192.168.0.60:192. 168.0.1:

255.255.255.0

注意,这里需要设置oper mode为0,表示IPIPE Resizer的模式为Continuous Mode,

同时设置device 为1,表示采集设备为.type MT9P031


 vpfe_capture.interface=2

 for TVP7002 (default)

  vpfe_capture.interface=1

 for Micron sensor – MT9T031

  vpfe_capture.interface=0

 for TVP5146


davinci_capture.device_type=0表示使用TVP5146采集

davinci_capture.device_type=1表示使用MT9P031采集,

davinci_capture.device_type=2表示使用TVP7002采集


问题解决:

我是在内核中去除掉的,在board-dm368-ipnc.c文件中:

static struct davinci_nand_pdata davinci_nand_data = {

        .parts                  = davinci_nand_partitions,

        .nr_parts               = ARRAY_SIZE(davinci_nand_partitions),

        //.ecc_mode             = NAND_ECC_HW,

        .ecc_mode               = NAND_ECC_NONE,

        .options                = NAND_USE_FLASH_BBT,

        .ecc_bits               = 4,

};


IPNC 设置

Hi Marko,

Thanks for your help.  Late last night I tried the same thing, and deleting the .depend file worked.  I only had one.  For the benefit of those about to try SDK 5.0, here are the steps needed from a clean Linux install (I used Ubintu 12.04):

For the benefit of those seeking help later, the following are the steps needed in addition to the User’s Guide to build the SDK:

1) Install Ubuntu 12.04 LTS 32-bit (didn’t try the 64-bit version)

2) Install Bison (needed to build SDK)

3) Install Flex (needed to build SDK)

4) Install acl library (needed to build file system) (sudo apt-get install libacl1-dev)

5) Install zlib library (needed to build file system) (sudo apt-get install zlib1g-dev)

6) Install lzo library (needed to build file system) (sudo apt-get install liblzo2-dev)

7) Install uuid library (needed to build file system) (sudo apt-get install uuid-dev)

8) Enable “su” (sudo passwd root)

9) Install SDK per instructions in User’s Guide

10) Version 5.0 of the SDK includes a hidden file that will cause your build to fail.  Using whatever file manager your choose (for example, Nautilus under Ubuntu 12.04), enable viewing of hidden files (View | Show Hidden Files), navigate to <whatever your IPNC install directory>/Source/ipnc_rdk/ipnc_app/network/boa-0.94.13/src.  Locate the file .depend and delete ONLY this one file.

10) As “su”, move to your target directory, (cd <whatever your IPNC install directory>/Source/ipnc_rdk/target), and un-tar the filesystem (tar -zxvf filesys_ipnc_dm36x.tar.gz)

11) As “su”, run “make sysall” per the instructions in the User’s Guide.

11) If the make fails with uImage not being built, the mkimage file cannot be accessed. As “su”, cp <whatever your IPNC install directory>/dvsdk_ipnctools/ipnc_psp_03_21_00_04/u-boot/tools/mkimage /usr/bin/mkimage  (note: the name of the ipnc_psp directory in this command may change based on version number, see Rules.make

12) re-run “make sysall”  (if necessary)

13) After the “make sysall” completes, the file system needs to be built.  The User’s Guide indicates this can be done with “make ubifs”, however the makefile for this is broken.  “make ubifsall” was an option in Version 4.1 of the SDK, but this has been removed, as the binaries for creating the file system have been pre-built and no source is provided.  These binaries are not true Linux executables and do not accept leading path names, which breaks the makefile.  My workaround is to copy the binaries mkfs.ubifs and ubinize from <whatever your IPNC install directory>/Source/ipnc_rdk/target/mtd-utils/64bit to <whatever your IPNC install directory>/Source/ipnc_rdk, and edit the makefile located in <whatever your IPNC install directory>/Source/ipnc_rdk as follows:

Under the label ubifs:

Change this –

ubifs: 

ifeq ($(HARDWARE_CFG), dm365) 

    $(UBIFS_PATH)/mkfs.ubifs -r  $(TARGET_FS) -m 512 -e 15360 -c 1662 -o ubifs.img 

    $(UBIFS_PATH)/ubinize -o $(SYSTEM_CFG)_$(HARDWARE_CFG)_ubifs -m 512 -p 16KiB  $(HARDWARE_CFG)_ubinize.cfg 

else 

    $(UBIFS_PATH)/mkfs.ubifs -r $(TARGET_FS) -m 2048 -e 126976 -c 313 -o ubifs.img 

    $(UBIFS_PATH)/ubinize -o $(SYSTEM_CFG)_$(HARDWARE_CFG)_ubifs -m 2048 -p 128KiB  $(HARDWARE_CFG)_ubinize.cfg 

endif 

To this –

ubifs: 

ifeq ($(HARDWARE_CFG), dm365) 

    mkfs.ubifs -r  $(TARGET_FS) -m 512 -e 15360 -c 1662 -o ubifs.img 

    ubinize -o $(SYSTEM_CFG)_$(HARDWARE_CFG)_ubifs -m 512 -p 16KiB  $(HARDWARE_CFG)_ubinize.cfg 

else 

    mkfs.ubifs -r $(TARGET_FS) -m 2048 -e 126976 -c 313 -o ubifs.img 

    ubinize -o $(SYSTEM_CFG)_$(HARDWARE_CFG)_ubifs -m 2048 -p 128KiB  $(HARDWARE_CFG)_ubinize.cfg 

endif 

Saving the makefile and running “make ubifs” as “su” will now produce the file system, placing it in the proper directory based on your architecture.

I hope this helps…

tftpboot 0x80700000 ubl_432arm_340ddr_ipnc_dm368.bin

nand erase 0x080000 0x08000

nand write 0x80700000 0x080000 0x08000

 

tftpboot 0x80700000 u-boot-1.3.4-dm368_ipnc.bin

nand erase 0x160000 0x28000

nand write 0x80700000 0x160000 0x28000

 

tftpboot 0x80700000 diagnostic_ipnc_dm368.bin

nand erase 0x360000 0x30000

nand write 0x80700000 0x360000 0x30000

 

tftpboot 0x80700000 uImage_ipnc_dm368

tftpboot 0x82000000 ipnc_dm368_ubifs

nand erase 0x500000 0x400000

nand write 0x80700000 0x500000 0x400000

nand erase 0x900000 0x2800000

nand write 0x82000000 0x900000 0x2800000

 

setenv bootcmd ‘nboot 0x80700000 0 0x500000;bootm

0x80700000′

 

setenv bootargs ‘mem=48M console=ttyS0,115200n8

noinitrd rw ubi.mtd=3,2048 rootfstype=ubifs

root=ubi0:rootfs cmemk.phys_start=0x83000000

cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000

cmemk.phys_end_1=0x00008000 cmemk.pools_1=1×28672

cmemk.allowOverlap=1 cmemk.useHeapIfPoolUnavailable=1

nohz=off highres=off clocksource=acpi_pm lpj=1077248

eth=$(ethaddr)’

saveenv

reset


setenv bootargs mem=48M console=ttyS0,115200n8 root=/dev/nfs nfsroot=192.168.115.248:/opt/ipnc_rdk/target/filesys rw ip=192.168.115.140:192.168.115.255:192.168.115.1:255.255.255.0 cmemk.phys_start=0x83000000 cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000cmemk.pools_1=1×28672 cmemk.allowOverlap=1  cmemk.useHeapIfPoolUnavailable=1 eth=$(ethaddr)


setenv bootargs mem=48M console=ttyS0,115200n8 noinitrd ip=192.168.2.194:192.168.2.76:192.168.2.1:255.255.255.0 rw ubi.mtd=3,2048 rootfstype=ubifs root=ubi0:rootfs cmemk.phys_start=0x83000000 cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000 cmemk.pools_1=1×28672 cmemk.allowOverlap=1 cmemk.useHeapIfPoolUnavailable=1 nohz=off highres=off clocksource=acpi_pm lpj=1077248 eth=$(ethaddr)


setenv bootargs dm365_imp.oper_mode=0 mem=48M console=ttyS0,115200n8 noinitrd rw ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs vide0=davincifb:vid0=OFF:vidl=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=l vpfe_capture.interface=l vpfe_capture.cont_bufsize=6291456 ;


./encode -zxl -v t.264 -I 4 -y 3 -b 1000 -f -w

 

./encode -v t.264 -I 1 -y 2


DM368开发 --IPNC 设置过程[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170236.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法

    dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法很多小伙伴都遇到过win10系统dota2无法与任何服务器建立连接的情况,想必大家都遇到过win10系统dota2无法与任何服务器建立连接的情况吧,那么应该怎么处理win10系统dota2无法与任何服务器建立连接呢?我们依照1、按下windows+Q组合键打开搜索框,在搜索框中搜索cmd,在搜索结果中我们可以看到命令提示符在命令提示符选项上单击右键,选择【以管理员身份运行】;2、在命令…

  • PLANTINUM_plantuml流程图

    PLANTINUM_plantuml流程图bytotinunsplash1.背景随着工作时间的增长,越发觉得用专业的图形(用例图,时序图,ER图等等)去准确表达想法是很重要的。比如针对某个需求绘制的的用例图,比一段乏味的文字来的更加有意义,也便于别人理解。加之最近在学习源码的时候,发现很多书籍中都会使用类图,时序图等UML语言来描述逻辑关系。于是就在网上找了找绘制UML语言时,业界主流的一些工具都用什么,找了半天,大部分都用了下面…

    2022年10月26日
  • maven 打的包在哪_maven打包流程学习「建议收藏」

    maven 打的包在哪_maven打包流程学习「建议收藏」前言:最近工作中遇到了几次跟maven打包相关的问题,每个问题上网查资料解决都花了不少时间,很影响工作进度。既然遇到好几次,每次都能发现知识盲点,干脆总结整理一下,啃掉这个难啃的骨头。ps:最近看到了一个很有意思句子:因为今天不想跑步,所以才去跑,这是长距离跑者的思维方式。转载:正文:还是首先描述一下最近遇到的几个问题吧:一、初见springboot多模块项目mvn打包遇到的问题-存在依赖但却…

  • BigDecimal中divide方法详解

    BigDecimal中divide方法详解首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算。其中有这么一个方法.publicBigDecimaldivide(BigDecimaldivisor,intscale,introundingMode)第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。其中我们标题上就是其中的两种BigDecimal.ROUND_DOW…

  • 查看redis版本命令_redis如何使用

    查看redis版本命令_redis如何使用Centos7查看redis版本redis安装成功后,查看redis版本命令:redis-server-V即可查看redis版本实际我们查看时都会遇到这个问题:redis-cli:commandnotfound(其实就和window电脑命令提示行中提示的:不是内部命令一个意思,配置环境变量即可使用)以上问题其实就是说明redis-server-V不是linux的全局命令,只需要我们做个软链接即可(类似于win电脑中的环境变量)软链接命令:ln-s/home/redis

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号