跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. YTM32B1MC03 UDS LIN FBL公版操作指南

YTM32B1MC03 UDS LIN FBL公版操作指南

已定时 已固定 已锁定 已移动 已解决 YTM32B1M系列
linfblfblcanudsmc03
15 帖子 4 发布者 6.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • ganyongchaoG 离线
    ganyongchaoG 离线
    ganyongchao YunTu
    写于 最后由 编辑
    #1

    本方案基于YT Config Tool开发,使用Vscode+Cmake+Ozone工具链开发编译调试;
    基于YTM32B1MC03 Demo板硬件搭建实施;
    使用同星科技TC1012P CAN/LIN工具及同星科技TSmaster软件实现UDS刷写上位机配置及刷写流程。
    2de86f76-11d3-4c86-8181-b6a235e40ae5-image.png

    1. 烧录Bootloader
      新建YTM32B1MC03的JFLASH工程
      799f5ef3-889e-4ed0-8c5d-75a0d8fefc2e-image.png
      找到Bootloader编译的烧程文件
      343afda5-62af-4dad-b63c-fd18e2e1e77f-image.png
      加载Bootloader文件
      62145fab-725b-468c-9f56-d1d97a3bc5dd-image.png
      擦除芯片(或者快捷键F4)
      a40e47a5-03ca-430a-ad01-3cdbc258a70b-image.png
      4417b106-3955-4b4a-840b-7aa6009ca00c-image.png
      烧录程序(或者快捷键F6)
      14aa247a-bb68-48a3-91e8-1d04d4cec2fd-image.png
      88420705-1524-428d-ad54-442b70b52570-image.png
    2. 上下电运行Bootloader
      拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。
    3. 升级上位机配置
      将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
      2ce4450a-8be8-4de7-b8fd-4013ffc30457-image.png
      打开升级上位机工程(如上图中.TSProj_x86文件)配置NAD
      c6ae6d88-e6bf-46f5-9fc6-212b80cabecd-image.png
      配置TP时间参数,配置加密dll
      79ba28be-a4a3-4d8e-8f7f-fac25f67d674-image.png
      配置FlashDriver和Application和校验方式
      7216e704-e018-4795-ab69-530b4cddcdda-image.png
      配置自动诊断流程
      12d17c0b-044c-471e-b123-c97b0539bcbf-image.png
    4. 执行升级
      4.1 从Bootloader升级
      89d1d77c-92ef-413a-b777-f0cb0843b1e3-image.png
      升级完成后,LED灯100ms闪烁,运行在Application程序中。
      4.2 从Application升级
      从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
      f0e0723f-a6d8-43f5-b72b-b7f5f81e7116-image.png
      升级完成后,LED灯100ms闪烁,运行在Application程序中。
      4.3 StayInBoot升级
      从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
      本方案设计上认为:
      运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。

    4.3.1 未发生升级流程请求
    升级一半,拔掉LIN和GND模拟通讯断开,升级失败
    14f022c1-9d44-4904-a6ab-4bd913742d1b-image.png
    通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯100ms闪烁。

    4.3.2 已发生升级流程请求
    执行到升级流程后,拔掉LIN和GND模拟通讯断开,升级失败
    032c7fc9-6d53-4e1e-a563-59c390adabdc-image.png
    通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot)。
    重新执行升级
    51476abd-fb4a-4cd5-a54a-68d1da6ea0c9-image.png
    升级成功,Demo板上LED灯100ms闪烁。

    附件代码
    uds_lin_fbl_mc03_20250607.zip
    修改了会话跳转权限问题:
    uds_lin_fbl_mc03_20250623.zip

    1 条回复 最后回复
    1
    • ganyongchaoG ganyongchao 在 中 引用了 这个主题
    • ganyongchaoG 离线
      ganyongchaoG 离线
      ganyongchao YunTu
      在 回复了 liuxu_smartens 最后由 编辑
      #5

      liuxu_smartens 在 YTM32B1MC03 UDS LIN FBL公版操作指南 中说:

      使用J-Flash将boot和app一起下载到板子中,为什么boot不跳转呢?

      因为Boot中有App标志位判断,你可以debug看下,根据自己需要处理。

      liuxu_smartensL 1 条回复 最后回复
      0
      • liuxu_smartensL 离线
        liuxu_smartensL 离线
        liuxu_smartens
        写于 最后由 编辑
        #2

        是否有MCAL版本的demo?

        ganyongchaoG 1 条回复 最后回复
        0
        • liuxu_smartensL 离线
          liuxu_smartensL 离线
          liuxu_smartens
          写于 最后由 编辑
          #3

          使用J-Flash将boot和app一起下载到板子中,为什么boot不跳转呢?

          ganyongchaoG 1 条回复 最后回复
          0
          • ganyongchaoG 离线
            ganyongchaoG 离线
            ganyongchao YunTu
            在 回复了 liuxu_smartens 最后由 编辑
            #4

            liuxu_smartens
            UDS包目前release在SDK middleware中,目前只有基于SDK的demo方案供参考;
            基于Autosar/Mcal方案的一般需要CP工具配置UDS开发实现。

            liuxu_smartensL 1 条回复 最后回复
            0
            • ganyongchaoG 离线
              ganyongchaoG 离线
              ganyongchao YunTu
              在 回复了 liuxu_smartens 最后由 编辑
              #5

              liuxu_smartens 在 YTM32B1MC03 UDS LIN FBL公版操作指南 中说:

              使用J-Flash将boot和app一起下载到板子中,为什么boot不跳转呢?

              因为Boot中有App标志位判断,你可以debug看下,根据自己需要处理。

              liuxu_smartensL 1 条回复 最后回复
              0
              • liuxu_smartensL 离线
                liuxu_smartensL 离线
                liuxu_smartens
                在 回复了 ganyongchao 最后由 编辑
                #6

                ganyongchao 谢谢

                1 条回复 最后回复
                0
                • liuxu_smartensL 离线
                  liuxu_smartensL 离线
                  liuxu_smartens
                  在 回复了 ganyongchao 最后由 编辑
                  #7

                  ganyongchao 意思是贵公司的YCT暂时无法配置MCAL下的UDS工程?

                  ganyongchaoG 1 条回复 最后回复
                  0
                  • ganyongchaoG 离线
                    ganyongchaoG 离线
                    ganyongchao YunTu
                    在 回复了 liuxu_smartens 最后由 编辑
                    #8

                    liuxu_smartens 在 YTM32B1MC03 UDS LIN FBL公版操作指南 中说:

                    ganyongchao 意思是贵公司的YCT暂时无法配置MCAL下的UDS工程?

                    Autosar/MCAL开发方式建议基于CP工具配置UDS协议栈,我们暂无公版方案计划,您也可以尝试移植到MCAL试试。

                    1 条回复 最后回复
                    0
                    • liuxu_smartensL 离线
                      liuxu_smartensL 离线
                      liuxu_smartens
                      写于 最后由 编辑
                      #9

                      请问这个demo是否支持A、B两个APP 的刷写和跳转?本开发板能否支持有两个APP?

                      1 条回复 最后回复
                      0
                      • liuxu_smartensL 离线
                        liuxu_smartensL 离线
                        liuxu_smartens
                        写于 最后由 编辑
                        #10

                        请问,使用的uds_lin_fbl_mc03_20250623的demo,对app增加了一些功能,结束地址0x25343,大小21316,为什么刷写app时最后一块会出现消极响应7F 36 72 。即使对原demo不做修改,使用vscode重新配置并生成工程后,再打开app的s19文件,结束地址也会改变(原app的s19文件结束地址为0x251EF,未修改重新配置生成后的s19文件结束地址为0x251EB),长度变小了,也会出现上述消极响应。boot没改

                        1 条回复 最后回复
                        0
                        • 李富贵李 李富贵 在 中 引用了 这个主题
                        • s12S 离线
                          s12S 离线
                          s12
                          写于 最后由 编辑
                          #11

                          请问使用这个demo在keil里编译生成的bin文件为啥有512M大小,但关掉__attribute__((section(".fbl_bss"))) volatile uint32_t KeepInBootVar;这个变量声明后,就只有40K左右了

                          1 条回复 最后回复
                          0
                          • RuiXuR 离线
                            RuiXuR 离线
                            RuiXu YunTu
                            写于 最后由 编辑
                            #12

                            因为--bincombined 会把所有 Load Region 合成一个连续 bin,中间空闲的内存会被自动填充。fbl_bss这个段位于0x20000400,差不多就是512M

                            1 条回复 最后回复
                            0
                            • s12S 离线
                              s12S 离线
                              s12
                              编写于 最后由 编辑
                              #13

                              attribute((section(".fbl_bss"))) volatile uint32_t KeepInBootVar;这个变量在app工程跳转编程会话时赋值为1,然后执行NVIC_SystemReset()函数,复位后在运行到boot启动文件startup.S里的RamInit0()函数后又会变成0x5A,这样的话我在boot工程的main里就无法获取app工程给他赋的值,也就没办法卡在编程会话里。请问demo里是怎么保证这个变量在软件复位后不被初始化呀

                              1 条回复 最后回复
                              0
                              • RuiXuR 离线
                                RuiXuR 离线
                                RuiXu YunTu
                                编写于 最后由 编辑
                                #14

                                image.png 0x5A 不是普通 bss 初始化导致的,而是 RamInit0.S 的 ECC/RAM 填充值;demo 依赖 RCU->RSSR = 0x1 清 POR 标志,软件复位时 RamInit0 判断非 POR 后不会初始化 .fbl_bss。

                                s12S 1 条回复 最后回复
                                0
                                • s12S 离线
                                  s12S 离线
                                  s12
                                  回复了RuiXu 最后由 编辑
                                  #15

                                  RuiXu 好的明白了,感谢🌷 🌷

                                  1 条回复 最后回复
                                  0
                                  • ,FrankieF Frankie 将这个主题转为问答主题
                                  • ,FrankieF Frankie 将这个主题标记为已解决

                                • 云途开发生态介绍

                                  快速上手云途开发生态

                                • 云途论坛规则/Yuntu Forum Rules

                                  发帖前请查看

                                • YT CONFIG TOOL调查问卷

                                  帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                                • can
                                  26
                                  demo
                                  23
                                  lin stack
                                  13
                                  uds
                                  13
                                  md14
                                  6
                                  yt-link
                                  6
                                  fbl
                                  5
                                  adc模块
                                  4
                                  Online Users
                                  • 登录

                                  • 登录或注册以进行搜索。
                                  • 第一个帖子
                                    最后一个帖子
                                  0
                                  • 版块
                                  • 最新
                                  • 标签
                                  • 热门