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

YunTu Forum

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

YTM32B1ME05 UDS CAN FBL公版操作指南

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

    还有就是,boot中IVT占用0x400空间,生成bin文件之后,下载flashdriver到0x20003000,调用时是不是要从0x20003400开始,还是有什么生成方法可以去掉IVT的空间。

    1 条回复 最后回复
    0
    • carpeC 离线
      carpeC 离线
      carpe YunTu
      在 回复了 JC 最后由 编辑
      #8

      JC flashdrv 是固定在 ram 0x20003000 的位置
      ScreenShot_2025-11-10_141311_076.png

      JCJ 1 条回复 最后回复
      0
      • JCJ 离线
        JCJ 离线
        JC
        在 回复了 carpe 最后由 编辑
        #9

        carpe 您好,这个flashdrv是flashdriver生成的hex文件还是bin文件。 是在ld文件中已经去掉了IVT么,不然IVT的0x400空间编译完不能不算吧。这个具体编译的时候是怎么配置内存空间的呢?

        DerrickD 1 条回复 最后回复
        0
        • DerrickD 离线
          DerrickD 离线
          Derrick YunTu
          在 回复了 JC 最后由 编辑
          #10

          JC 我们一般用的是S19文件。
          Flashdriver是不包含IVT的,Flashdriver是下载到MCU的RAM中,供Boot调用擦写和编程app的Flash分区。
          IVT包含在Flash程序的前面,第一个字节是栈顶指针,后面跟随的是所有中断的中断向量表。
          我们的IVT再YT_link里默认是0x400字节,实际用不到这么多,可根据实际应用情况调整。

          JCJ 1 条回复 最后回复
          0
          • JCJ 离线
            JCJ 离线
            JC
            在 回复了 Derrick 最后由 编辑
            #11

            Derrick S19文件,用cmake生成时,会自动剔除IVT部分么?还是生成之后手动修改,或者在flashdriver中划分内存的时候,用我们ytconfig工具,关闭device。不划分ivt。直接从0开始TEXT部分

            DerrickD 1 条回复 最后回复
            0
            • DerrickD 离线
              DerrickD 离线
              Derrick YunTu
              在 回复了 JC 最后由 编辑
              #12

              JC 不要去除IVT部分,这和MCU的启动流程紧密相关。下载flashdriver到0x20003000,调用时不需要从0x20003400开始,flashdriver不包含IVT,flashdriver和IVT也没有直接联系。

              JCJ 1 条回复 最后回复
              0
              • JCJ 离线
                JCJ 离线
                JC
                在 回复了 Derrick 最后由 编辑
                #13

                Derrick 11ad77bc-f634-41b9-9dce-da10b03ef380-image.png e043e18d-33f1-4299-bd69-3777fe22b116-image.png 您好,S19下载的时候,只选数据块1,驱动会有问题。 但是要是下载bin文件格式,将整个bin下载到20003000地址,之后从20003400开始调用就没问题。

                DerrickD 1 条回复 最后回复
                0
                • DerrickD 离线
                  DerrickD 离线
                  Derrick YunTu
                  在 回复了 JC 最后由 编辑
                  #14

                  JC 为啥要分一段FLS_DRV_TEXT,用来存放Flashdriver吗?我们的flashdriver是下载在ram里,像下图这样:
                  c14e46a5-10ce-4d8e-84e6-5e031918cdda-image.png
                  然后app程序下载如下图,0xA000之前是boot,
                  17653256-30b0-4b69-9696-96b826a95290-image.png
                  如果app的S19文件分了很多段,下载时可能校验出错,可以使用脚本填充。
                  如果你下载Flashdriver的bin文件到20003000,可以看一下实际下载的bin文件长度,20003000到20003400这段是否有填充,也可以去看MCU的内存,Flashdriver_bin到底是存放在20003000还是20003400

                  JCJ 1 条回复 最后回复
                  0
                  • JCJ 离线
                    JCJ 离线
                    JC
                    在 回复了 Derrick 最后由 编辑
                    #15

                    Derrick 是flashdriver的代码中的ld文件,用__attribute__((section (".fls_drv_tbl")))固定驱动函数到FLS_DRV_TEXT,使其从偏移0x400开始,还有其他方法,使得直接读取0x20003000处的代码就是driver吗? 我这边当前操作没有做填充

                    DerrickD 2 条回复 最后回复
                    0
                    • DerrickD 离线
                      DerrickD 离线
                      Derrick YunTu
                      在 回复了 JC 最后由 Derrick 编辑
                      #16
                      此主題已被删除!
                      1 条回复 最后回复
                      0
                      • DerrickD 离线
                        DerrickD 离线
                        Derrick YunTu
                        在 回复了 JC 最后由 编辑
                        #17

                        JC 这个是flash里的flashdriver,没必要这么搞,这么做还不如直接使用SDK的flash驱动。正常的流程是上位机通过34/36/37服务把flashdriver下载到指定地址(0x20003000),MCU再从这个地址去调用。等到对app分区的擦写和编程完成之后跳转app,重新执行ram初始化,这段flashdriver就丢失了,MCU的flash就没有被误擦的风险。
                        建议参考本帖子例程的升级流程去适配你们的需求。

                        JCJ 1 条回复 最后回复
                        0
                        • JCJ 离线
                          JCJ 离线
                          JC
                          在 回复了 Derrick 最后由 编辑
                          #18

                          Derrick 好的,方便分享以下您的flashdriver内存分配么,(flashdriver代码的ld文件)

                          DerrickD 1 条回复 最后回复
                          0
                          • DerrickD 离线
                            DerrickD 离线
                            Derrick YunTu
                            在 回复了 JC 最后由 编辑
                            #19

                            JC flashdriver可以用做好的,比如说本例程,直接用flashdriver_0x20003000.S19通过上位机刷写下载到指定位置。
                            也可以先参考下面这篇文章,去复制相应的bin数组到0x20003000,按照接口定义调用,在现有工程上验证。
                            https://forum.ytmicro.com/topic/164/ytm32mc03-有没有ram-flashdriver的案例-做boot用的?_=1762745176836

                            1 条回复 最后回复
                            0
                            • kid_liK 离线
                              kid_liK 离线
                              kid_li
                              写于 最后由 编辑
                              #20

                              将application起始地址改为pflash1的0x00080000,bootloader也将APP_IMAGE_START改为0x00080000,测试第一次下载提示crc错误,第二次擦除flash后只传了一包数据就失败了,第三次擦除flash就失败,请问是什么原因呢?P.S. 我在bootloader尝试写pflash1是可以的,只是0xfffff最后一个扇区的2KB不能写。
                              Derrick

                              1 条回复 最后回复
                              0
                              • kid_liK 离线
                                kid_liK 离线
                                kid_li
                                写于 最后由 编辑
                                #21

                                我打了日志发现好像CAN传过来的数据不对,但是已经按照主题修改了配置了,日志和配置如下:

                                image.png

                                1 条回复 最后回复
                                0
                                • kid_liK 离线
                                  kid_liK 离线
                                  kid_li
                                  写于 最后由 编辑
                                  #22

                                  日志如下:

                                  image.png

                                  DerrickD 1 条回复 最后回复
                                  0
                                  • DerrickD 离线
                                    DerrickD 离线
                                    Derrick YunTu
                                    在 回复了 kid_li 最后由 编辑
                                    #23

                                    kid_li 能把烧录的app的文件发来看看不

                                    1 条回复 最后回复
                                    0
                                    • kid_liK 离线
                                      kid_liK 离线
                                      kid_li
                                      写于 最后由 编辑
                                      #24

                                      uds_can_applicationxxx.s19

                                      DerrickD 1 条回复 最后回复
                                      0
                                      • DerrickD 离线
                                        DerrickD 离线
                                        Derrick YunTu
                                        在 回复了 kid_li 最后由 编辑
                                        #25

                                        kid_li 没啥问题,上位机传的地址没变,还是0xA000,感觉文件没加载,tsmaster重新配置试一下

                                        1 条回复 最后回复
                                        0
                                        • AlexzA 离线
                                          AlexzA 离线
                                          Alexz
                                          写于 最后由 编辑
                                          #26

                                          你好,我在app区进行二次升级时,已经把keepInBoot=1写入RAM里面了,但是复位后在进入boot区时这个标志位被清除导致无法写入这是为什么
                                          c22ab8cfdd5947a9178af4f26e4dc935.png
                                          c6f2a896d56dd2d9e408a1ad5249a044.png

                                          DerrickD 1 条回复 最后回复
                                          -1

                                        • 云途开发生态介绍

                                          快速上手云途开发生态

                                        • 云途论坛规则/Yuntu Forum Rules

                                          发帖前请查看

                                        • YT CONFIG TOOL调查问卷

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

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

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