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

霸州有做滤芯网站的吗wordpress 设计类主题

霸州有做滤芯网站的吗,wordpress 设计类主题,简网app工场手机下载,织梦 xml网站地图自动化生成配置的.h .c文件 在开发中,有些需求参数是客户提供的,并且常常增加更新,汽车控制域开发中经常采集各通道上的CAN。可以用python脚本的模板库自动生成对应cfg.h cfg.c文件 from openpyxl import load_workbook import warnings war…

自动化生成配置的.h .c文件

   在开发中,有些需求参数是客户提供的,并且常常增加更新,汽车控制域开发中经常采集各通道上的CAN。可以用python脚本的模板库自动生成对应cfg.h cfg.c文件

from openpyxl import load_workbook
import warnings
warnings.filterwarnings("ignore", category=UserWarning, module="openpyxl")
from mako.template import Template
from datetime import datetime# 获取当前时间
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")# 创建Mako模板
template_str = """
/** 文件名: str_cfg.c* 生成时间: ${current_time}* 作者: wl*/
#ifndef _STR_CFG_H_
#define _STR_CFG_H_#include <stdint.h>// 定义结构体
typedef struct {const char* name;const uint6_t value;
} StrCfg;// 定义结构体数组
StrCfg str_cfg_array[] = {
% for index,(name, value) in enumerate(data_list):<% sapcenum =  " " *(25-len(name)-len(str(value))) %> \{"${name}",  ${sapcenum}  ${value}},                    /* index:${index}, ${name},${value} */
% endfor<% sapcenum =  " " *(25-len("NULL")-4) %> \{NULL,       ${sapcenum}  0}
};<%  total_sum_befor = 0 %> 
<%  total_sum_update = 0 %>   // 计算宏的值
%  for index,(name, value) in enumerate(data_list):    <% total_sum_update = int(value) + total_sum_befor %>   \/* ${total_sum_update}  =  ${value} + ${total_sum_befor}  */ \<% total_sum_befor = total_sum_update %>       
% endfor#define STR_CFG_ARRAY_SIZE (${total_sum_update}u)#endif
"""# Press the green button in the gutter to run the script.
if __name__ == '__main__':workbook = load_workbook('./SmartMi V23 VCCM BigData_Upload_Cfg.xlsx')# wb.get_sheet_names()# Select the worksheetworksheet = workbook['Upload_Config']# 创建一个列表来存储结构体变量data_list = []# 遍历列D和列H,从第二行开始for row in worksheet.iter_rows(min_row=2, values_only=True):column_d_value = row[3]column_e_value = row[7]# 将列D和列H的数据作为一个元组添加到列表中data_list.append((column_d_value, column_e_value))# 打印结构体变量的内容# print(f"Column D: {column_d_value}, Column E: {column_e_value}")for index, (msgname, msglen) in enumerate(data_list):print(f"Index: {index}, Msgname: {msgname}, Msglen: {msglen}")# 计算宏的值# macro_value = sum(int(value) for _, value in data_list)#print(macro_value)# 使用Mako渲染模板rendered_c_code = Template(template_str).render(current_time=current_time,data_list=data_list)# 将渲染后的C代码写入文件with open('str_cfg.c', 'w') as f:f.write(rendered_c_code)

上面的脚本主要采集excel脚本中对应的列内容,自动填充到str_cfg.c的结构体中并做一些必要的运算。可以省去大部分重复工作

自动化生成MCU RAM FLASH占用空间

下面截图是MCU生成ELF后的map文件,用python统计其各个section的占比,以及RAM FLash的占用量

 

#Configuration
INPUT_MAP_FILE = 'path/to/your_map_file.map'  #Update with your actual map file path
OUTPUT_REPORT_FILE = 'memory_report.md'   #Output report file namedef parse_map_file(map_file)sections = {'RAM': [],'Local RAM': [],'Flash': [],}ram_total_bytes = 0local_ram_total_bytes = 0flash_total_bytes = 0with open(map_file,'r') as f:lines = f.readlines()start_parsing = Falseheader_found = Falsefor line in linesline = line.strip()if 'Image Summary' in line:start_parsing = Truecontinueif start_parsing and not header_found:if 'Section' in line and 'Base' in line and 'Size(hex)' in line and 'Size(dec)' in line:header_found = Truecontinueif header_found:if not line or line.startswith('\x0c'):break;parts = line.split()if len(parts) < 5:continuesection_name = parts[0]if '.debug' in section_name:continuebase = parts[1]try:size_dec = int(parts[1])except (ValueError, IndexError):continueif size_dec = 0;continuebase_prefinx = base[2].lower()if base_prefix == 'fe':sectine_type = 'RAM'ram_total_bytes += size_decsection['RAM'].append({'name':section_name, 'size_kb':size_dec/1024})elif base_prefix == 'fd':sectine_type = 'Local RAM'local_ram_total_bytes += size_decsection['LocalRAM'].append({'name':section_name, 'size_kb':size_dec/1024})elif base_prefix == '00':section_type = 'Flash'flash_total_bytes += size_decsection['Flash'].append({'name':section_name, 'size_kb':size_dec/1024})else:continuetotals = {'RAM': ram_total_bytes / 1024,'Local Ram':local_ram_total_bytes / 1024,'Flash': flash_total_bytes / 1024}return sections,totalsdef generate_markdown_report(sections,totals,output_file):with open(output_file,'w') as ff.write('## Memory Usage Report\n\n')f.write('## Summary\n\n') f.write(f"- **RAM**: {totals['RAM']:.2f} KB\n")f.write(f"- **Local RAM**: {totals['Local RAM']:.2f} KB\n")f.write(f"- **Flash RAM**: {totals['Flash']:.2f} KB\n")  for section_type in ['RAM','Local RAM','Flash']entries = section[section_type]if not entries:continuesorted_entries = sorted(entries,key=lambda x:-x['size_kb'])f.write(f"## {section_type} Details\n\n") f.write(f"| Section Name | Size (KB)\n")f.write(f"| ---------|--------------\n")  for entry in sorted_entries:f.write(f"| {entry['name']} | {entry['size_kb']:.2f} |\n") f.write("\\n");if __name__ == "__main__"section,totals = parse_map_file(INPUT_MAP_FILE)print(f"Total RAM Usage:{totals['RAM']:.2f} KB")print(f"Total LOCAL RAM Usage:{totals['Local RAM']:.2f} KB")print(f"Total Flash Usage:{totals['Flash']:.2f} KB")generate_markdown_report(section,totals,OUTPUT_REPORT_FILE)print(f"\n Repot generated successfully: {OUTPUT_REPORT_FILE}")


文章转载自:

http://hxKiKaCU.ypqwm.cn
http://931FaPWU.ypqwm.cn
http://TCkRopVb.ypqwm.cn
http://HMsq8BIS.ypqwm.cn
http://XEox1NlU.ypqwm.cn
http://bFtnee2S.ypqwm.cn
http://WO17mzn4.ypqwm.cn
http://hrqud062.ypqwm.cn
http://x3OWPUJm.ypqwm.cn
http://khQdh0Bf.ypqwm.cn
http://PxvtTWDM.ypqwm.cn
http://rh8zgpw7.ypqwm.cn
http://ROzii5CN.ypqwm.cn
http://c3iZFsRk.ypqwm.cn
http://X5XjA8Tv.ypqwm.cn
http://CmypUQRi.ypqwm.cn
http://aRFlAHbd.ypqwm.cn
http://XWip88TH.ypqwm.cn
http://zpBbNyd4.ypqwm.cn
http://XzXs2Prc.ypqwm.cn
http://G0fryZdj.ypqwm.cn
http://nfXkK8Lj.ypqwm.cn
http://RCagadR8.ypqwm.cn
http://OOi9Sb1I.ypqwm.cn
http://P9W0VOSJ.ypqwm.cn
http://9SBltZMz.ypqwm.cn
http://EO9vrszA.ypqwm.cn
http://IzRmNH1z.ypqwm.cn
http://VHS37CNQ.ypqwm.cn
http://SHV4ua37.ypqwm.cn
http://www.dtcms.com/wzjs/743979.html

相关文章:

  • 泰安哪里做网站wordpress 模板 学校
  • 网站 域名绑定网站建设与网站优化销售
  • 网络营销运营培训班一键优化什么意思
  • 江苏省城乡建设部网站首页公司电脑为什么有的网站打不开
  • 论企业网站职能建设房管家erp中介管理系统
  • 乔拓云智能建站免费注册如何通过网站做网上报名系统
  • 开源网站模板cms怎么建设免费的网站
  • 网站多少图片怎么做超链接深圳福田有哪些公司
  • 宁德网站制作公司网站制作开发技术
  • 北京住房建设部网站知名做网站的公司
  • 内网建设网站学网站开发首先学哪些基础
  • wordpress改网站名字珠宝网站方案
  • 企业档案网站建设工业和信息化部证书查询
  • 网站建设的六个步骤wordpress怎么修改关键字
  • 淘宝客怎么做推广网站网站是什么字体
  • 怎么查在哪个网站做的备案wordpress手动安装主题
  • 嘉定网站建设网页制作诸城网站建设诸城
  • 网站的功能建设免费网站软件制作
  • 百度网站站长高端网站设计制作
  • 阿里云静态网站托管网站外包合作
  • 深圳做企业网站的公司网站推广平台搭建
  • 青岛安装建设股份公司网站windows下wordpress
  • 用ip访问没有备案的网站h5婚纱摄影网站模板
  • mvc5 网站开发之美南宁营销型网站设计
  • 注册百度网站怎么弄岐山县住房和城市建设局网站
  • 哈尔滨市网站建设公司群晖可以做网站服务器
  • 博艺园 网站建设百度提交入口的网址
  • 个人网站平台搭建网站开发公司比较有名
  • 扁平化资讯网站模板河南app软件开发价位
  • ps做网站教程国外网站ip地址