当前位置: 首页 > news >正文

做外贸选取哪个网站sem

做外贸选取哪个网站,sem,南京g3云推广,100个网络营销案例目录 一、前言 二、txt文本定义版本号 三、mk文件定义版本号 四、python提取版本号到mk 五、代码初始化读取版本号 一、前言 工程达到ASPICE 1级以上后可以试着一个工程适配不同项目,此时面对不同项目将输出不同的软件版本,管理好版本输出显得尤为…

目录

一、前言

二、txt文本定义版本号

三、mk文件定义版本号 

四、python提取版本号到mk

五、代码初始化读取版本号


一、前言

工程达到ASPICE 1级以上后可以试着一个工程适配不同项目,此时面对不同项目将输出不同的软件版本,管理好版本输出显得尤为重要!

二、txt文本定义版本号

首先在不同的客户文件夹下建立app_version.txt,用于每次代码提交修改版本号

三、mk文件定义版本号 

在mk文件中定义版本号,并通过宏定义传到编译参数命令行宏中

#version 
APP_VERSION_STR_TMP ?= 2.3.0.0ifeq ($(APP_VERSION_STR_TMP),)
APP_VERSION_STR_TMP = 1.0.0.0
endifAPP_VERSION_STR = \"$(strip $(APP_VERSION_STR_TMP))\"COMPILE_OPT += -DAPP_VERSION=$(APP_VERSION_STR)

四、python提取版本号到mk

每次编译将txt中的版本提取到mk文件中:

import osversion_getFile = "app_version.txt"
cusGet_inputFile = "sdk_cr.mk"
version_setFile = "firm.mk"def main():dirct = os.getcwd()#1.get custoemrif(os.path.exists(cusGet_inputFile)):with open(cusGet_inputFile,"r") as sdkCr_f:sdkCrCont = sdkCr_f.readlines()for str_line in sdkCrCont:if "FIRM_CUSTOMER" in str_line:cusN = str_line[str_line.find("=")+1:].rstrip('\n')customerName =  cusN.strip()print('FIRM_CUSTOMER:%s'%customerName)breakelse:print('%s not exit!'%cusGet_inputFile)return#2.get app versionif customerName == "":print('CustomerName Empty Error!')returnapp_dir = dirct+"\\firm\\customer\\" + customerName +"\\"+version_getFileif(os.path.exists(app_dir)):with open(app_dir,"r") as v_f:vFile =  v_f.readlines()for str_line in vFile:if "major" in str_line:v = str_line[str_line.find(":")+1:]v1 = v.strip()elif "project" in str_line:v = str_line[str_line.find(":")+1:]v2 = v.strip()elif  "firmware" in str_line:v = str_line[str_line.find(":")+1:]v3 = v.strip()elif  "algorithm" in str_line:v = str_line[str_line.find(":")+1:]v4 = v.strip()break;#TODO:get commitIDelse:continue;else:print('%s not exit!'%version_getFile)return#3.set versionif v1 == "" or v2=="" or v3=="" or v4=="" :print('version number Empty Error!')returnelse:print("v%s.%s.%s.%s"%(v1,v2,v3,v4))firmMk_dir = dirct+"\\firm\\"+version_setFileif(os.path.exists(firmMk_dir)):datafile =  open(firmMk_dir,"r")lines = datafile.readlines()lines[1]= "APP_VERSION_STR_TMP ?= "+v1+"."+v2+"."+v3+"."+v4+"\n"datafile = open(firmMk_dir, "w")datafile.writelines(lines)datafile.close()else:print('%s not exit!'%version_setFile)if __name__ == "__main__":main();

在mk文件中添加运行该python脚本的shell指令

$(shell python make_version.py); 

五、代码初始化读取版本号

最后将字符串版本转换为16进制,传给对应的CAN报文,输出到CAN总线

uint8_t char2hex(uint8_t value)
{if(value >='0' && value <= '9'){return (value-'0');}else if(value >= 'A' && value <= 'F'){return (value-'A'+10);}else if(value >= 'a' && value <= 'f'){return (value-'a'+10);}else{return 0xFF;}
}
#if 0
/*app: A.B.C.D     boot: A.B.C*/
void fillABVersion(uint8_t* src,uint8_t* dst)
{for(int i=0,j=0;i<8;i++){if(src[i] == 0x2E){continue;}else{dst[j++] = char2hex(src[i]);}if(j==sizeof(dst))break;}
}
#else
/*app: AA.BB.CC.DD     boot: AA.BB.CC*/
void fillABVersion(uint8_t* src,uint8_t* dst)
{uint8_t highByte=0;uint8_t lowByte=0;uint8_t isOneWord = 1;for(int i=0,j=0;i<16;i++){if(src[i] == 0x2E || src[i] == 0){dst[j++] = (highByte<<4) + (lowByte&0xF);highByte=0;lowByte=0;isOneWord = 1;}else{if(isOneWord){lowByte = char2hex(src[i]);isOneWord = 0;}else{highByte = lowByte;lowByte = char2hex(src[i]);isOneWord = 1;}}if(j==sizeof(dst))break;}
}
#endif
void getFillCR_0x404Ver(struct bl_radar_can_version_t* dst)
{uint8_t appVer[12]={0};uint8_t bootVer[8]={0};uint8_t av[4]={0};uint8_t bv[3]={0};MemCpy(appVer, APP_VERSION, sizeof(APP_VERSION));nvm_getBootVersion(8, bootVer);fillABVersion(appVer,av);fillABVersion(bootVer,bv);dst->app_major_version = av[0];dst->app_minor_version  = av[1];dst->app_firmware_fix_version = av[2];dst->app_algo_fix_version = av[3];dst->boot_major_version = bv[0];dst->boot_minor_version = bv[1];dst->boot_firmware_fix_version = bv[2];
}

http://www.hkea.cn/news/892480/

相关文章:

  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法
  • 网站优化qq群山东做网站
  • wordpress icomoon太原seo快速排名
  • 中华建设杂志网站记者数据指数
  • 网站开发测试情况南召seo快速排名价格
  • 上海仓储公司小红书seo优化
  • 南京建设公司网站网络营销整合推广
  • wordpress更改语言沈阳seo优化
  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录
  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准