YTM32B1MD1中云途工具生成的程序问题
-
关于 yct 代码生成机制的说明
1. 为什么不同的文件处理方式不同?
uds_config.h(自动覆盖):
该文件属于 yct 自动生成的配置文件,其内容完全取决于你在工具界面上的参数配置。为了保证配置的一致性,它不建议用户手动编写,因此工具默认会调用模板进行全量覆盖生成。uds.c(询问确认):
此类源文件是基于安装包内的原始驱动模板生成的。考虑到用户通常会在这些文件中编写业务逻辑或进行二次开发,为了防止覆盖掉您的劳动成果,工具在重新生成时会弹出二次确认提醒。
2. 如何避免手动修改的代码被覆盖?
如果您已经对源文件进行了自定义修改,建议采用以下方案来保护代码:
方案一:逻辑与配置分离(推荐)
- 做法:将您的核心业务代码存放在独立的
.c/.h文件中,仅利用 yct 生成底层配置。 - 同步:每次生成后,通过代码对比工具(如 Beyond Compare 或 WinMerge)手动同步,或者编写简单的 Shell/Python 脚本将配置增量复制到工程目录。
方案二:利用 Git 版本控制
- 做法:在点击 yct 生成按钮前,确保当前代码已
git commit。 - 恢复:代码生成后,使用
git diff查看变化。对于不希望被修改的文件,直接执行:
git restore <file_name> -
在 UDS 协议栈的配置中,
UDS_IP_xxx_ENABLE宏确实是关键的预编译参数,用于按需裁剪代码。针对您发现增加ProgrammingSession后未生成对应宏的情况,原因通常如下:在 yct 的生成逻辑中,并非每一个具体的子项(如某个具体的 Session 类型)都会独立对应一个
ENABLE宏。
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...