[OpenAirInterface实战-13] :OAI 基站配置文件详解

2023-10-26

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120791987


目录

第1章 基站配置文件概述

1.1 基站配置文件的作用

1.2 配置文件的路径

1.3 配置文件名解读

1.4 配置的使用

1.5 配置文件与命令行选项的关系

第2章 配置文件解读

2.1 示例1:gnb.sa.band78.fr1.106PRB.usrpb210.conf


第1章 基站配置文件概述

1.1 基站配置文件的作用

配置文件是对基站进行配置的文件,基站要能够正常工作,必须要有大量的参数配置。

通过文件对基站进行配置是一个比较快捷的方式。

每个配置文件,代表一种网络部署!!!

1.2 配置文件的路径

(1)存放路径:

/root/oai/openairinterface5g/targets/PROJECTS

CENTOS-LTE-EPC-INTEGRATION: ???

GENERIC-LTE-EPC:连接LTE EPC的配置

GENERIC-NR-5GC:连接5G核心网的配置

(2)CENTOS-LTE-EPC-INTEGRATION/conf

enb.centos.calisson.conf

enb.centos.memphis.conf  

enb.centos.nord.conf

(3)GENERIC-LTE-EPC/conf

./rru.oaisim.conf
./enb.band7.tm1.50PRB.usrpb210.conf
./rru.oaisim.tdd.conf
./gnb.band66.tm1.106PRB.usrpn300.conf
./gnb.band78.tm1.24PRB.usrpn300.conf
./testing_enb.conf
./enb.band42.tm1.25PRB.iris030.conf
./gnb.band257.tm1.32PRB.usrpx300.conf
./rcc.band7.tm1.if4p5.50PRB.conf
./gnb.band257.tm1.32PRB.usrpn300.conf
./gnb.band78.tm1.24PRB.usrpx300.conf
./UE_config.xml
./enb.band7.tm1.50PRB.usrpb210-d2d.conf
./oaiL1.nfapi.usrpb210.conf
./gnb.band257.tm1.66PRB.usrpn300.conf
./rcc.band7.tm1.50PRB.nfapi-STUB.conf
./testing_gnb.conf
./enb.band13.tm1.50PRB.emtc.conf
./benetel-5g.conf
./rcc_b38_if5_ENDC.conf
./testing_gnb_n310.conf
./gnb.band78.tm1.106PRB.usrpb210.conf
./gnb.band78.tm1.106PRB.PTRS.usrpx300.conf
./gnb.band78.106PRB.slave.conf
./cu.lte.conf
./rcc.band7.tm1.if4p5.50PRB.lo.conf
./testing_gnb_24PRB.conf
./gnb.band78.106PRB.30kHz,usrpb2x0.conf
./enb.band7.tm1.25PRB.iris030.conf
./rcc.band7.tm1.50PRB.nfapi.conf
./enb.band7.tm1.50PRB.usrpb210_ue_expansion.conf
./gnb.band78.tm1.24PRB.usrpb210.conf
./gnb.band261.tm1.32PRB.usrpn300.conf
./gnb.band78.tm1.217PRB.usrpn300.conf
./enb.band7.tm1.100PRB.usrpx310.conf
./gnb.band66.tm1.106PRB.usrpx300.conf
./testing_eNB_band13.conf
./rcc.band38.tm1.if4p5.50PRB.lo.conf
./enb.band38.tm1.100PRB.usrpx310.conf
./benetel-4g.conf
./enb.band38.tm1.usrpx310.conf
./du.lte.band7.10MHz.if4p5.conf
./enb.band7.master.conf
./gnb.band78.slave.conf
./gnb.band78.tm1.217PRB.usrpx300.conf
./enb.band38.tm1.25PRB.iris030.conf
./rcc.band78.tm1.106PRB.nfapi.conf
./oaiL1.nfapi.usrpx300.conf
./enb.band7.tm1.25PRB.usrpb210.replay.conf
./gnb.band78.tm1.106PRB.usrpn300.conf
./gnb.band78.tm1.106PRB.usrpx300.conf
./gnb.band78.tm1.273PRB.usrpn300.conf

(4)GENERIC-NR-5GC

./gnb.sa.band78.fr1.106PRB.usrpb210.sabox.conf

./gnb.sa.band78.fr1.106PRB.usrpb210.conf

./gnb.sa.band41.fr1.106PRB.usrpb210.conf

./gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf

./cu_gnb.conf

./du_gnb.conf

./ue.conf

1.3 配置文件名解读

  • cu/du/gnb/enb:指明设备的部署类型
  • sa:5G独立部署
  • bandxx:频段
  • fr1 or fr2:5G 频谱区间
  • tmx:传输模式
  • PRB: 分配给SCH信道的PRB个数
  • usrpbxxx:OAI支持的实际RF硬件的型号,目前OAI只支持usrpb系列硬件。
  • nfapi:PNF和VFN部署中,VFN的对外接口是nfapi,而不是RF.

1.4 配置的使用

通过-O选项指明配置文件的全路径,如下示例所示:

sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf --parallel-config -d PARALLEL_SINGLE_THREAD --rfsim --phy-test --noS1 --nokrnmod 1

1.5 配置文件与命令行选项的关系

(1)配置文件必须通过命令行选项指定

(2)部分命令行选项可以覆盖配置文件的设置

(3)大部分配置参数,无法通过命令行选项重新配置,命令行选项是配置文件的一个子集。

第2章 配置文件解读

2.1 示例1:gnb.sa.band78.fr1.106PRB.usrpb210.conf

Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";

gNBs =
(
 {
    // Identification parameters:
    gNB_ID    =  0xe00;
    gNB_name  =  "gNB-Eurecom-5GNRBox";

    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code  =  1;
    plmn_list = ({
                  mcc = 208;
                  mnc = 99;
                  mnc_length = 2;
                  snssaiList = (
                    {
                      sst = 1;
                      sd  = 0x1; // 0 false, else true
                    },
                    {
                      sst = 1;
                      sd  = 0x112233; // 0 false, else true
                    }
                  );

                  });

    nr_cellid = 12345678L;

    // Physical parameters:

    ssb_SubcarrierOffset                                      = 0;
    pdsch_AntennaPorts                                        = 1;
    pusch_AntennaPorts                                        = 1;
    sib1_tda                                                  = 0;

     pdcch_ConfigSIB1 = (
      {
        controlResourceSetZero = 12;
        searchSpaceZero = 0;
      }
      );

    servingCellConfigCommon = (
    {
 #spCellConfigCommon

      physCellId                                                    = 0;

#  downlinkConfigCommon
    #frequencyInfoDL
      # this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
      absoluteFrequencySSB                                             = 641280;
      dl_frequencyBand                                                 = 78;
      # this is 3600 MHz
      dl_absoluteFrequencyPointA                                       = 640008;
      #scs-SpecificCarrierList
        dl_offstToCarrier                                              = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        dl_subcarrierSpacing                                           = 1;
        dl_carrierBandwidth                                            = 106;
     #initialDownlinkBWP
      #genericParameters
        # this is RBstart=27,L=48 (275*(L-1))+RBstart
        initialDLBWPlocationAndBandwidth                               = 12952; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        initialDLBWPsubcarrierSpacing                                   = 1;
      #pdcch-ConfigCommon
        initialDLBWPcontrolResourceSetZero                              = 12;
        initialDLBWPsearchSpaceZero                                     = 0;
      #pdsch-ConfigCommon
        #pdschTimeDomainAllocationList (up to 16 entries)
        initialDLBWPk0_0                    = 0;  #for DL slot
        initialDLBWPmappingType_0           = 0;  #0=typeA,1=typeB
        initialDLBWPstartSymbolAndLength_0  = 40; #this is SS=1,L=13

        initialDLBWPk0_1                    = 0;  #for mixed slot
        initialDLBWPmappingType_1           = 0;
        initialDLBWPstartSymbolAndLength_1  = 57; #this is SS=1,L=5

  #uplinkConfigCommon
     #frequencyInfoUL
      ul_frequencyBand                                              = 78;
      #scs-SpecificCarrierList
      ul_offstToCarrier                                             = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      ul_subcarrierSpacing                                          = 1;
      ul_carrierBandwidth                                           = 106;
      pMax                                                          = 20;
     #initialUplinkBWP
      #genericParameters
        initialULBWPlocationAndBandwidth                            = 12952;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        initialULBWPsubcarrierSpacing                               = 1;
      #rach-ConfigCommon
        #rach-ConfigGeneric
          prach_ConfigurationIndex                                  = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
          prach_msg1_FDM                                            = 0;
          prach_msg1_FrequencyStart                                 = 0;
          zeroCorrelationZoneConfig                                 = 13;
          preambleReceivedTargetPower                               = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
          preambleTransMax                                          = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
        powerRampingStep                                            = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
        ra_ResponseWindow                                           = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
        ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR                = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
        ssb_perRACH_OccasionAndCB_PreamblesPerSSB                   = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
        ra_ContentionResolutionTimer                                = 7;
        rsrp_ThresholdSSB                                           = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
        prach_RootSequenceIndex_PR                                  = 2;
        prach_RootSequenceIndex                                     = 1;
        # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
        #
        msg1_SubcarrierSpacing                                      = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
        restrictedSetConfig                                         = 0,

      # pusch-ConfigCommon (up to 16 elements)
        initialULBWPk2_0                      = 6;  # used for UL slot
        initialULBWPmappingType_0             = 1
        initialULBWPstartSymbolAndLength_0    = 41; # this is SS=0 L=13

        initialULBWPk2_1                      = 6;  # used for mixed slot
        initialULBWPmappingType_1             = 1;
        initialULBWPstartSymbolAndLength_1    = 52; # this is SS=10 L=4

        initialULBWPk2_2                      = 7;  # used for Msg.3 during RA
        initialULBWPmappingType_2             = 1;
        initialULBWPstartSymbolAndLength_2    = 52; # this is SS=10 L=4

        msg3_DeltaPreamble                                          = 1;
        p0_NominalWithGrant                                         =-90;

# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
        pucchGroupHopping                                           = 0;
        hoppingId                                                   = 40;
        p0_nominal                                                  = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
      ssb_PositionsInBurst_PR                                       = 2;
      ssb_PositionsInBurst_Bitmap                                   = 1;

# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
      ssb_periodicityServingCell                                    = 2;

# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
      dmrs_TypeA_Position                                           = 0;

# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      subcarrierSpacing                                             = 1;


  #tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      referenceSubcarrierSpacing                                    = 1;
      # pattern1
      # dl_UL_TransmissionPeriodicity
      # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
      dl_UL_TransmissionPeriodicity                                 = 6;
      nrofDownlinkSlots                                             = 7;
      nrofDownlinkSymbols                                           = 6;
      nrofUplinkSlots                                               = 2;
      nrofUplinkSymbols                                             = 4;

      ssPBCH_BlockPower                                             = -25;
  }

  );


    # ------- SCTP definitions
    SCTP :
    {
        # Number of streams to use in input/output
        SCTP_INSTREAMS  = 2;
        SCTP_OUTSTREAMS = 2;
    };


    // MME parameters:
    amf_ip_address      = ( { ipv4       = "192.168.70.132";
                              ipv6       = "192:168:30::17";
                              active     = "yes";
                              preference = "ipv4";
                            }
                          );


    NETWORK_INTERFACES :
    {
        GNB_INTERFACE_NAME_FOR_NG_AMF            = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NG_AMF              = "192.168.70.129/24";
        GNB_INTERFACE_NAME_FOR_NGU               = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NGU                 = "192.168.70.129/24";
        GNB_PORT_FOR_S1U                         = 2152; # Spec 2152
    };

  }
);

MACRLCs = (
    {
        num_cc                      = 1;
        tr_s_preference             = "local_L1";
        tr_n_preference             = "local_RRC";
        ulsch_max_slots_inactivity  = 100;
        pusch_TargetSNRx10          = 200;
        pucch_TargetSNRx10          = 200;
    }
);

L1s = (
    {
	num_cc = 1;
	tr_n_preference = "local_mac";
	pusch_proc_threads = 8;
  ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
    }
);

RUs = (
    {
       local_rf       = "yes"
         nb_tx          = 1
         nb_rx          = 1
         att_tx         = 0
         att_rx         = 0;
         bands          = [7];
         max_pdschReferenceSignalPower = -27;
         max_rxgain                    = 114;
         eNB_instances  = [0];
         #beamforming 1x4 matrix:
         bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
         clock_src = "internal";
    }
);

THREAD_STRUCT = (
  {
    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
    parallel_config    = "PARALLEL_SINGLE_THREAD";
    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
    worker_config      = "WORKER_ENABLE";
  }
);

rfsimulator :
{
    serveraddr = "server";
    serverport = "4043";
    options = (); #("saviq"); or/and "chanmod"
    modelname = "AWGN";
    IQfile = "/tmp/rfsimulator.iqs";
};

     log_config :
     {
       global_log_level                      ="info";
       global_log_verbosity                  ="medium";
       hw_log_level                          ="info";
       hw_log_verbosity                      ="medium";
       phy_log_level                         ="info";
       phy_log_verbosity                     ="medium";
       mac_log_level                         ="info";
       mac_log_verbosity                     ="high";
       rlc_log_level                         ="info";
       rlc_log_verbosity                     ="medium";
       pdcp_log_level                        ="info";
       pdcp_log_verbosity                    ="medium";
       rrc_log_level                         ="info";
       rrc_log_verbosity                     ="medium";
       ngap_log_level                         ="debug";
       ngap_log_verbosity                     ="medium";
    };



作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120791987

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[OpenAirInterface实战-13] :OAI 基站配置文件详解 的相关文章

  • Spring Boot-配置文件yaml

    1 配置文件类型 properties xff1a key 61 valueyaml xff1a key xff1a 空格 value 2 基本语法 key value xff1b kv之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用
  • IT66121 720P@60配置文件

    这里为IT66121 720P 64 60的配置文件 xff0c 在Linux下我是使用i2cset工具先验证再写驱动的 xff0c 所以这里我也简单记录一下 IT66121分为两个bank xff0c 一个是bank0的配置 xff0c
  • Nginx配置文件(nginx.conf)配置详解

    Nginx配置文件nginx conf中文详解 定义Nginx运行的用户和用户组user www www nginx进程数 xff0c 建议设置为等于CPU总核心数 worker processes 8 全局错误日志定义类型 xff0c d
  • Mysql配置文件/etc/my.cnf解析

    Mysql配置文件 etc my cnf解析 客户端设置 client port 61 3306 默认情况下 xff0c socket文件应为 usr local mysql mysql socket 所以可以ln s xx tmp mys
  • 有用的samba配置文件

    span class token punctuation span guxinhua span class token punctuation span span class token assign left variable path
  • Vim配置文件(.vimrc),Vim配置教程

    Vim 启动时 xff0c 会根据配置文件 xff08 vimrc xff09 来设置 Vim xff0c 因此我们可以通过此文件来定制适合自己的 Vim Vim 配置文件分为系统配置文件和用户配置文件 xff1a 系统配置文件位于 Vim
  • redis的配置文件

    回顾 redis的配置文件 1 redis安装完成之后 xff0c 在redis的根沐会提供一个配置文件 redis conf xff1b redis服务可以参考配置文件中的参数进行运行 xff1b 只有启动redis服务器指定使用的配置文
  • VNC Connect使用参数填充VNC配置文件

    VNC Server xff0c VNC Viewer和支持程序由参数控制 xff0c 为大多数用户提供了合适的默认值 您可以通过为参数指定新值来配置程序 xff1a 1 在程序启动之前 2 在启动时在命令行上 3 程序运行时 xff0c
  • [OpenAirInterface实战-19] :OAI 软件无线电USRP UHD硬件驱动程序的使用与网络架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121092297 目录 第1章 USR
  • 【经典】SpringBoot常用基本配置

    SpringBoot支持properties文件和yml文件 两个文件同时存在 优先以properties为准 通过properties文件配置 1 基本设置 server port 80 debug true server servlet
  • FAPI专题-1:5G nFAPI接口 - 中文规范-1- 概述、总体框架

    目录 前言 范围 第1章 简介 第2章 nFAPI接口详解 待续 2 1 nFAPI接口的主要流程 2 1 1 PNF的主要流程 M面 2 1 2 P5接口的主要流程 C面 2 1 3 P7接口的主要流程 U面 2 2 5G nFAPI接口
  • [OpenAirInterface实战-8] :OAI编译遇到的问题与解决方法汇总

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 OpenAirInterface实战 8 OAI编译遇到的问题与解决方法汇总 文火冰糖 王文兵 的博客 CSDN博客 问题类型1 ASN 1
  • chisel环境安装

    step 0 把java装好 chisel依赖于java的 所以第一步你要装个java 去oracle官网去下载 下面网站 Java SE Development Kit 8 下载 www oracle com 如果你恰好家境贫寒 就下上面
  • 彷徨

    目录 1 slaves 2 core site xml 3 hdfs site xml 4 mapred site xml 注意要将mapred site xml template重命名为 xml的文件 5 Yarn Site xml 6
  • [OpenAirInterface实战-7] :OAI编译环境的架构、搭建、目标代码的编译

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120556060 目录 第1章 概述
  • FAPI专题-8:5G FAPI接口 - 中文规范-4- P7消息格式

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120645757 目录 第3章 主要的
  • win10 家庭版系统安装docker desktop遇到那些坑

    最近开发中需要用到docker来打包镜像 由于我的电脑系统是win10 家庭版 而docker desktop针对win10系统只支持64 位的 Windows 10 专业版 企业版和教育版 我又不想重装系统 因为要重装一堆工具 太麻烦了
  • [OpenAirInterface实战-6] :OAI在github中源代码的存放结构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 OpenAirInterface实战 6 OAI在github中源代码的存放结构 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章 基本
  • Python 配置文件(.ini、 .conf、 .cfg)的读写

    python读取配置文件两个常用模块 ConfigParser和configobj模块 1 对比 ConfigParser的一些问题 不能区分大小写 重新写入的配置文件不能保留原有配置文件的注释 重新写入的配置文件不能保持原有的顺序 不支持
  • [OpenAirInterface实战-14] :OAI nFAPI VNF/PNV持续集成测试的xml配置文件详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120850348 目录 1 nFAPI

随机推荐

  • MATLAB入门到精通(三):常用函数及数学应用

    合集如下 MATLAB入门到精通 一 简介及数据类型 MATLAB入门到精通 二 基本语句及绘图 MATLAB入门到精通 三 常用函数及数学应用 十一 常用函数 11 1 随机数函数 11 1 1 rand 函数 rand 函数用来产生均匀
  • 创建一个React项目实现一个计算器

    使用环境react脚手架 node js create react app 文件名 配置完这些就让我们开始把 count js import React Component from react import store from redu
  • mybatis中的typeAlias

    mybatis 的 xml 文件中需要写类的全限定名 较繁琐 可以配置自动扫描包路径给类配置别名 有两种配置方式 方式一 mybatis config xml 中配置
  • AB32VG1项目之智能晾衣架

    智能晾机架项目 开发过程 前期准备 分离工程 导入工程 安装包 安装最近的rt thread 包 AB32VG1的 SDK包 RISC V GCC工具链 下载 硬件搭建 开发板上的3 3V能否可用的问题 大体的硬件规划 软件设计 控制逻辑设
  • 关于Unrecognized Windows Sockets error: 5: socket write error 错误

    最近有个需求是从A数据库读取数据导入到B数据库 demo的数据量也就几万条 但是遇到了一个非常罕见的问题 后端框架是mybatis plus spring boot 在insertBatch到数据库B时 没有立即报错 而是执行插入了几百条数
  • 小程序通过webView打开H5页面并传参(包含webView业务域名配置)、H5页面实现返回小程序并实现传参

    小程序内嵌webview实现跳转 传参 1 小程序通过webView打开H5页面并传参 2 H5接收小程序传参 H5返回小程序并实现传参 小程序接收H5传参 目录 一 小程序通过webView打开H5页面并传参 1 业务域名 2 在小程序中
  • (转)认识SAP SD销售模式之跨公司销售

    跨公司销售 销售订单的发货工厂对应的公司和销售组织对应的公司不同 比如 9801公司为销售性公司 9901为生产性的公司 当公司9801接到订单后 直接从9901公司发货 如果不通过跨公司销售 需要9801像9901公司下虚拟的采购订单 然
  • win10 下 Linux使用方法笔记

    最近想学习一下比特币源码 官方推荐是在Linux系统下学习 且推荐在win10 下的Linux系统进行编译运行 所以下面将学习过程记录一下 1 参考了这篇文章中的方法 进行安装WSL https www cnblogs com JettTa
  • agoda获取酒店数据

    最近改了改代码 正好解决了一些报错问题 更新出来 个别处会加蜜 数据库以及线程控制 from DBUtils PooledDB import PooledDB import requests import demjson import ti
  • 堆和栈的区别

    1 1内存分配方面 堆 一般由程序员分配释放 若程序员不释放 程序结束时可能由OS回收 注意它与数据结构中的堆是两回事 分配方式是类似于链表 可能用到的关键字如下 new malloc delete free等等 栈 由编译器 Compil
  • leetcode622-设计循环队列

    本题重点 1 选择合适的数据结构 2 针对选择的数据结构判断 空 和 满 这两点是不分先后次序的 在思考时应该被综合起来 事实上 无论我们选择链表还是数组 最终都能实现题中描述的 循环队列 的功能 只不过选择不同结构时 我们面临和需要解决的
  • 不是一个PDF文件或该文件已损坏

    之前用公司电脑打开PDF文档的时候 出现了这样的一种现象 就是提示格式错误 不是一个PDF文件或该文件已被损坏 有三种解决方法 1 有可能是电脑上自带的PDF阅读软件版本太低 出现了不兼容的现象 换个最新的PDF阅读器吧 我用了福昕阅读器很
  • 【死磕NIO】— 探索 SocketChannel 的核心原理

    大家好 我是大明哥 一个专注于 死磕 Java 系列创作的程序员 死磕 Java 系列为作者 chenssy 倾情打造的 Java 系列文章 深入分析 Java 相关技术核心原理及源码 死磕 Java https www cmsblogs
  • oracle不小心将表update修改了如何回滚

    oracle提供了一种闪回的方法 可以将某个时间的数据给还原回来 SELECT FROM T DIS EVENT RELATION TYPE AS OF TIMESTAMP TO TIMESTAMP 2023 08 08 15 31 00
  • python opencv 在线读取网络图片图像资源

    opencv在线读取网络图片图像资源 照例打开opencv3 3 0 python3 6官方文档 https docs opencv org master d8 dfe classcv 1 1VideoCapture html 详解 官方文
  • Adam和AdamW的区别

    Adam 与 Adamw的区别 一句话版本 Adamw 即 Adam weight decate 效果与 Adam L2正则化相同 但是计算效率更高 因为L2正则化需要在loss中加入正则项 之后再算梯度 最后在反向传播 而Adamw直接将
  • python框架和模型库_一个pytorch库,拥有最先进的架构,预训练模型和实时更新结果...

    PytorchInsight This is a pytorch lib with state of the art architectures pretrained models and real time updated results
  • first season last episode,Rachel finds out Ross likes her,what would she do???

    Scene Central Perk the whole gang is there Ross is showing pictures of his new baby boy Ben to the group Ross And here s
  • Flex布局

    之前一直都是使用position来定位块的位置 现在新学了一个比较主流的flex来定位块的位置 感觉确实比之前的好多了 现在总结下大概的用法 flex是把一个div分成主轴和交叉轴 其中主轴方向的定位有三个 1 flex direction
  • [OpenAirInterface实战-13] :OAI 基站配置文件详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120791987 目录 第1章 基站配