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

网站建设最低多少钱珠海在线网站制作公司

网站建设最低多少钱,珠海在线网站制作公司,怎么做饲料电商网站,提供深圳网站制作公司目录 1 脚本名称 2 脚本路径 3 脚本参数说明 4 脚本操作说明 5 脚本代码 1 脚本名称 ccode_standard 2 脚本路径 /scripts/bin/ccode_standard 3 脚本参数说明 次序 参数名 说明 1 address (./rfdig#xff1b;.#xff1b;..#xff1b;./boot) 指定脚本执行路…目录 1 脚本名称 2 脚本路径 3 脚本参数说明 4 脚本操作说明 5 脚本代码 1 脚本名称 ccode_standard 2 脚本路径 /scripts/bin/ccode_standard 3 脚本参数说明 次序 参数名 说明 1 address (./rfdig..../boot) 指定脚本执行路径可以为脚本所在路径的任意相对路径 help 脚本使用帮助打印说明信息 2 all 运行脚本后脚本会解析全部rbus.cfg并对参数1指定的目录中的.c文件进行寄存器配置代码标准化修改 module_name_seca.cfg 运行脚本后脚本会解析参数2指定的rbus.cfg并对参数1指定的目录中的.c文件进行寄存器配置代码标准化修改 示例 命令ccode_standard  help 输出ccode_standard使用帮助信息 命令ccode_standard  ./rfdig  rfdig_seca.cfg 对当前路径下的rfdig文件夹及其子文件夹下所有的.c文件中有关rfdig_seca.cfg中的寄存器配置代码进行标准化修改 命令ccode_standard  .  crg_seca.cfg 对当前路径下的所有文件夹及其子文件夹下的所有.c文件中所有有关crg_seca.cfg中的寄存器配置代码进行标准化修改 命令ccode_standard  .  all 对当前路径下的所有文件夹及其子文件夹下的所有.c文件中所有模块的寄存器配置代码进行标准化修改 说明 配置文件module_name_seca.cfg是被验模块寄存器的详细配置文件脚本索引该文件的具体路径为 $PROJ_SRC/design/scripts/rbus_scripts/rbus_cfg/ 使用该脚本前请先gen_rbus 4 脚本操作说明 该脚本用于将如下所示的代码标准化加速ST用例调整该脚本可以反复多次调用不会产生异常问题 使用脚本前首先gen_rbussource产生脚本需要解析的rbus.cfg文件以及环境变量$ENV{PROJ_SRC}根据脚本存放路径指定脚本工作目录如下例所示脚本存放于case目录我想修改rfdig文件夹下的.c文件参考rfdig_seca.cfg执行ccode_standard  ./rfdig  rfdig_seca.cfg    1.log 如图所示脚本只替换了有关rfdig的寄存器iomuxcrg等没有替换 如下例所示脚本存放于case目录我想修改rfdig/rfdig_tc017文件夹下的.c文件参考所有rbus.cfg文件 执行ccode_standard  ./rfdig/rfdig_m33_tc017  all   1.log 如图所示脚本不仅替换了有关rfdig的寄存器iomuxcrg等都有替换   5 脚本代码 #! /usr/bin/perl -w# # PERL MODULE #use Cwd; use File::Path; use File::Find;# # PERL FUNCTION GetOptions (get command parameters) # $g_work_dir $ARGV[0]; $g_seca_fl $ARGV[1];#our $work_dir rfdig_m33_tc017;# # SCRIPT MAIN #our seca_fl_list; our seca_name; our seca_type; our seca_width; our seca_init_value; our seca_with_field; our seca_field_list_bgn; our seca_field_list_end; our seca_field_name; our seca_field_width; our seca_field_bgn_idx; our seca_field_end_idx;our $ccode_standard_mark 0;Main();sub RegMem{seca_name ();seca_type ();seca_width ();seca_init_value ();seca_with_field ();seca_field_list_bgn ();seca_field_list_end ();seca_field_name ();seca_field_width ();seca_field_bgn_idx ();seca_field_end_idx ();if (open(SECA_ID,$g_seca_fl) or die cannot open $g_seca_fl, no such file) {seca_array SECA_ID;my $i 0;my $j 0;my $rbus_ok 0;foreach $seca_line (seca_array) {$seca_line ~ s/[\n\r]*//g;if ($seca_line ~ m/^\s*field_(\S)\s\[(\S)\]\s*$/) {if($rbus_ok eq 1) {$seca_with_field[$i-1] 1 ;$seca_field_list_bgn[$i-1] $j;$rbus_ok 0 ;}$seca_field_list_end[$i-1] $j;my $field_name_tmp \L$1;my $field_name_size push(seca_field_name ,$field_name_tmp);my $field_port_tmp $2;if ($field_port_tmp ~ m/(\d):(\d)/) {push(seca_field_bgn_idx,int($2));push(seca_field_end_idx,int($1));push(seca_field_width,(int($1)-int($2)1));} else {push(seca_field_bgn_idx,int($field_port_tmp));push(seca_field_end_idx,int($field_port_tmp));push(seca_field_width,1);}#print (seca_with_field[,$i-1,] ,$seca_with_field[$i-1] ,\n);#print (seca_field_list_bgn[,$i-1,] ,$seca_field_list_bgn[$i-1] ,\n);#print (seca_field_list_end[,$i-1,] ,$seca_field_list_end[$i-1] ,\n);#print (seca_field_name[,$j,] ,$seca_field_name[$j] ,\n);#print (seca_field_width[,$j,] ,$seca_field_width[$j] ,\n);#print (seca_field_bgn_idx[,$j,] ,$seca_field_bgn_idx[$j] ,\n);#print (seca_field_end_idx[,$j,] ,$seca_field_end_idx[$j] ,\n);$j $j 1;}if ($seca_line ~ m/^\s*rbus_(\S)\s(\S)\s(\w)\s(\d)(\w)\s(\S)\s*$/) {#print (before match string: ,$, \n);#print (match string : ,$, \n);#print (after match string: ,$, \n);#print (seca_postfix : ,$1, \n);#print (seca_type : ,$2, \n);#print (seca_scope : ,$3, \n);#print (seca_width : ,int($4),\n);#print (seca_init_value : ,$5, \n);#print (seca_prefix : ,$6, \n);#print (seca_name : ,$6_$1,\n);$seca_name[$i] \L$6_$1;$seca_type[$i] $2;$seca_width[$i] int($4);$seca_init_value[$i] $5;$seca_with_field[$i] 0;$i $i1;$rbus_ok 1;}}} }sub GenMacroDefine{#print c file is : $_[0]\n;#print c macro_define file is : $_[1]\n;$ccode_standard_mark 0;open(ORIEN_FILE,$_[1]);if (open(SOURCE_FILE,$_[0])) {context SOURCE_FILE;foreach $line (context) {for ( $i 0; $i seca_name; $i $i 1) {if ($seca_with_field[$i] eq 1) {if ($line ~ m/^\s*(\w)\[($seca_name[$i])\]\s*\s*0x(\w)\s*;.*$/) {$ccode_standard_mark 1;print ORIEN_FILE \n.//.$line;my $seca_field_list_num $seca_field_list_end[$i] - $seca_field_list_bgn[$i] 1;for ($j 0; $j $seca_field_list_num; $j $j1) {my $seca_field_width_tmp $seca_field_width[$seca_field_list_bgn[$i]$j];my $seca_field_name_tmp $seca_name[$i]._.$seca_field_name[$seca_field_list_bgn[$i]$j];my $seca_field_mask_tmp $seca_field_name_tmp._mask ((1$seca_field_width[$seca_field_list_bgn[$i]$j])-1);my $seca_field_shift_tmp $seca_field_name_tmp._shift $seca_field_bgn_idx[$seca_field_list_bgn[$i]$j];my $seca_field_bit_tmp $seca_field_name_tmp._bit (1$seca_field_bgn_idx[$seca_field_list_bgn[$i]$j]);if($seca_field_width_tmp eq 1){print ORIEN_FILE #define $seca_field_bit_tmp\n;} else {print ORIEN_FILE #define $seca_field_mask_tmp\n;print ORIEN_FILE #define $seca_field_shift_tmp\n;}}}}}}close SOURCE_FILE;}close ORIEN_FILE;system (awk !a[\$0] $_[1] $_[1]_tmp \\ mv -f $_[1]_tmp $_[1]); }sub AddMacroDefine{#print old c file is : $_[0]\n;#print new c file is : $_[1]\n;#print add file is : $_[2]\n;my $add_ready 0;open(ORIEN_FILE,$_[1]);if (open(SOURCE_FILE,$_[0])) {context SOURCE_FILE;foreach $line (context) {if($line ~ m/^#include \$_[2]\$/) {} else {print ORIEN_FILE $line;}if ($add_ready eq 0) {if ($line ~ m/^\s*\#include\s*\\S_define.c\\s*$/) {print ORIEN_FILE \#include .\$_[2]\\n;$add_ready 1;}}}close SOURCE_FILE;}close ORIEN_FILE; }sub GenSubContent{#print old c file is : $_[0]\n;#print new c file is : $_[1]\n;open(ORIEN_FILE,$_[1]);if (open(SOURCE_FILE,$_[0])) {context SOURCE_FILE;foreach $line (context) {my $line_match 0;for ( $i 0; $i seca_name; $i $i 1) {if ($seca_with_field[$i] eq 1) {if ($line ~ m/^(\s*)(\w\[$seca_name[$i]\])\s*\s*0x(\w)\s*;.*$/) {my $reg_value hex($3);if ($reg_value ! 0) {$line_match 1;print ORIEN_FILE //.$line;my $seca_field_list_num $seca_field_list_end[$i] - $seca_field_list_bgn[$i] 1;for ($j 0; $j $seca_field_list_num; $j $j1) {my $seca_field_name_tmp $seca_name[$i]._.$seca_field_name[$seca_field_list_bgn[$i]$j];my $seca_field_mask_tmp $seca_field_name_tmp._mask;my $seca_field_value (($reg_value) ($seca_field_bgn_idx[$seca_field_list_bgn[$i]$j])) ((1$seca_field_width[$seca_field_list_bgn[$i]$j])-1);my $seca_field_width_tmp $seca_field_width[$seca_field_list_bgn[$i]$j];my $seca_field_shift_tmp $seca_field_name_tmp._shift;my $seca_field_bit_tmp $seca_field_name_tmp._bit;#print (seca_field_mask_value ,((1$seca_field_width[$seca_field_list_bgn[$i]$j])-1),;);#print (reg_value ,$reg_value,;);#print (seca_field_value $seca_field_value\n);if($j eq 0){if ($j eq ($seca_field_list_num - 1)) {if($seca_field_width_tmp eq 1) {printf ORIEN_FILE (%s%-40s ((%-50s * 0x%-8x) %-51s) ;\n,$1,$2 ,$seca_field_bit_tmp,$seca_field_value, );} else {printf ORIEN_FILE (%s%-40s ((%-50s 0x%-8x) %-51s) ;\n,$1,$2 ,$seca_field_mask_tmp,$seca_field_value,$seca_field_shift_tmp);}} else {if($seca_field_width_tmp eq 1) {printf ORIEN_FILE (%s%-40s ((%-50s * 0x%-8x) %-51s) |\n,$1,$2 ,$seca_field_bit_tmp,$seca_field_value, );} else {printf ORIEN_FILE (%s%-40s ((%-50s 0x%-8x) %-51s) |\n,$1,$2 ,$seca_field_mask_tmp,$seca_field_value,$seca_field_shift_tmp);}}} elsif($j eq ($seca_field_list_num - 1)) { if($seca_field_width_tmp eq 1) {printf ORIEN_FILE (%s%-40s ((%-50s * 0x%-8x) %-51s) ;\n,$1, ,$seca_field_bit_tmp,$seca_field_value, );} else {printf ORIEN_FILE (%s%-40s ((%-50s 0x%-8x) %-51s) ;\n,$1, ,$seca_field_mask_tmp,$seca_field_value,$seca_field_shift_tmp);}} else { if($seca_field_width_tmp eq 1) {printf ORIEN_FILE (%s%-40s ((%-50s * 0x%-8x) %-51s) |\n,$1, ,$seca_field_bit_tmp,$seca_field_value, );} else {printf ORIEN_FILE (%s%-40s ((%-50s 0x%-8x) %-51s) |\n,$1, ,$seca_field_mask_tmp,$seca_field_value,$seca_field_shift_tmp);}}}}}}}if ($line_match eq 0) {print ORIEN_FILE $line;}}close SOURCE_FILE;}close ORIEN_FILE; }sub CopyFile{#print source file name is $_[0]\n;#print orien file name is $_[1]\n;open(ORIEN_FILE,$_[1]);if (open(SOURCE_FILE,$_[0])) {context SOURCE_FILE;foreach $line (context) {print ORIEN_FILE $line;}close SOURCE_FILE;}close ORIEN_FILE; }sub FindConfigFile{if (-f $File::Find::name) {if ($_ ~ m/^(\w_sec[a-z]\.cfg)$/) {#print find file is $1 \n;push(seca_fl_list,$1); }} }sub FindWanted{if (-f $File::Find::name) {if ($_ ~ m/(\S)\.c$/) {print process file: $File::Find::name \n;GenMacroDefine($_,$1._macro_define.h);unlink $1._macro_define.h;if($ccode_standard_mark eq 1) {unlink $_..tmp;GenSubContent($_,$_..tmp);#AddMacroDefine($_..tmp,$_,$1._macro_define.h);system (mv -f $_.tmp $_);unlink $_..tmp;}}} }sub Main{my $cur_dir getcwd;my $proj_src $ENV{PROJ_SRC};my $seca_dir $ENV{PROJ_SRC}/design/scripts/rbus_scripts/rbus_cfg/;if($g_seca_fl eq all) {chdir($seca_dir) or die $seca_dir was not found!!! please gen_rbus firstly.;find(\FindConfigFile,$seca_dir);} else {push(seca_fl_list,$g_seca_fl);}#for ($i 0; $i seca_fl_list; $i $i1) {# print seca_fl_list[$i] $seca_fl_list[$i] \n;#}for ($z 0; $z seca_fl_list; $z $z 1) {print read config_file : $seca_fl_list[$z]\n;$g_seca_fl $seca_dir.$seca_fl_list[$z];RegMem();chdir($cur_dir) or die $cur_dir does not exist!!!;find(\FindWanted,$cur_dir/$g_work_dir);} }
http://www.zqtcl.cn/news/914909/

相关文章:

  • 网站建设完成之后要索取哪些医疗网站建设服务
  • 长沙招聘网站有哪些深圳seo论坛
  • 网站如何做网络推广山西住房建设厅官方网站
  • 优化排名推广技术网站平面设计创意
  • 山西网站建设哪家有tv域名的网站
  • 个人博客网站怎么赚钱公司招聘一个网站建设来做推广
  • 功能型网站有哪些中国门户网站有哪些
  • 网站制作教程步骤软件公司怎么赚钱
  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗