跳转至内容
  • 30 主题
    42 帖子
    FrankieF

    欢迎使用3.1.0YT Config Tool(YCT), 下面是本次版本的更新内容,希望您在使用过程中有更好的体验。一些主要的更新内部包括:

    Highlight AI FAE 功能

    b4f2230b-6c1b-41b6-8ba4-cde26f481ee7-image.png

    需要登陆才能使用

    YCT_CLI 集成

    YCT_CLI 集成在安装目录的bin文件夹下面,可以通过 -h 查看如何使用

    Details [feat]:add yct_cli to yt_config_tool [bug]:fix api edit loss bug [feat]:add ai-fae feature, need login [opt]:allow copy in YCT-Agent chat
  • 2k 主题
    8k 帖子
    jinyiJ

    1.2.客户通过注释掉abswap命令后,现象不再复现.
    3.swap成功.
    客户认为.可能是abswap在两个不同的方向上耗时不同导致的看门狗复位.
    请教下 ,在软件和硬件层面上是否存在实现不一致导致的耗时不同.
    是否通过将相关swap指令实现为异步,或者将两个方向的耗时优化为相同?

  • Blog posts from individual members

    53 主题
    180 帖子
    houjun_xiaoH

    YTM32Bx系列的NVR Flash区域可用于存放用户特殊用途的数据,由于其操作的特殊性,故在云途MCAL Fls模块中不支持对NVR Flase的读、写、擦除操作(HCU NVR load key除外)。各个型号NVR区域的详细信息及操作指南,可参考各个型号RM以及《AN_0062_EFM_Application_Note》。

    MCAL的工程如何操作NVR Flash

    在MCAL工程中,为满足客户操作NVR区域的需求,特编写Fls_Nvr.c/.h文件,用于支持用户操作NVR Flash。如下方压缩包所示:

    Fls_NvrDriver.zip

    用户可将上述两个文件添加至工程中,并根据添加的位置修改CMakeList文件,如下所示,下图示例中将上述文件添加至App/Fls_NvrDriver,并修改工程的CMakeList。
    ea857a9f-b8bb-4d35-b587-e7e68ae641c4-image.png

    NVR Flash操作注意事项 与MCAL Fls模块资源冲突问题

    由于Fls 模块与NVR Flash操作均需使用EFM模块,因此在调用NVR Flash操作API时,应尽量避免与Fls模块的操作同时工作的问题。虽然在NVR Flash的API中判断了Fls模块是否处于BUSY状态有判断,但是Fls无法判断NVR Flash API是否正在被调用,因此如果两者同时操作EFM,容易导致操作失败。故在使用上需规避二者同时操作EFM。

    CUS NVR注意事项

    向CUS NVR中指定位置写入数据可修改MCU的CUS KEY,可修改Flash写保护寄存器初始值,可开关MCU debug功能等,因此CUS NVR区域的写入操作需谨慎执行。各个型号CUS NVR功能及地址映射关系详见《AN_0062_EFM_Application_Note》。在测试CUS NVR写入时,需注意:

    CUS KEY

    YTM32B1MD1、YTM32B1MD2、YTM32B1MC0、YTM32B1ME1、YTM32B1HA0的CUS KEY均可通过向CUS NVR中的0-7字节写入数据来更改。因此若用户需要CUS KEY, 可向CUS NVR前8字节中24bit key以及0x5A5A5A5A。修改CUS KEY后,MCU默认的KEY失效,用户需自行记录更新后的KEY,并在每次调用相关接口时使用更新后的KEY,若KEY遗失,则CUS NVR读、写、擦除操作,HCU NVR擦除均无法再执行。

    Debug使能及禁用

    通过向CUS NVR指定位置写入0x5A5A5A5A,0x5A5A5A5A,可实现MCU debug功能禁用,debug功能禁用后,只能通过擦除CUS NVR中指定位置写入的值,才能再次启用MCU debug功能。因此在禁用MCU debug功能前,请确保CUS NVR擦除代码可被有效调用。

    YTM32B1HA0 CUS NVR注意事项

    YTM32B1HA0 CUS NVR的写入的最小长度为32字节,但是在disable debug或修改cus key时,其需要写入的数据长度仅为8字节。如下图所示:
    78de7815-a857-4db1-8ba9-b33d23d814a8-image.png
    因此应用程序在执行上述功能时,为了不影响其他位置的数据,需要先读取CUS NVR中的数据,在读取结果的基础上修改对应位置的数据,最后再写入到CUS NVR中。
    如下所示代码为CUS NVR中禁用debug功能所示代码,代码中为不影响cus key及EFM PROT0/1初始值,先读取CUS NVR 0-32字节中的数据,然后修改8-15字节中的数据,然后擦除CUS NVR,并将数据再次写入到CUS NVR中。此示例中由于调用了Fls 擦除,因此对于32字节之后的数据,客户应视情况而定是否需要再次写入。

    /*Disable Jlink or SWD debug when SW1 is pressed*/ if(TRUE == Fls_CurNvrDebugDisEn) { /*read data*/ TestResult = Fls_ReadCusNvr(0x10000000, Fls_ReadData, 32,Fls_TestCusKey); while(FLASH_E_OK != TestResult) { __asm("NOP"); } /*Clear the register init value in customer nvr*/ TestResult = Fls_EraseCusNvr(0x4dff32); while(FLASH_E_OK != TestResult) { __asm("NOP"); } for(LoopCnt = 0;LoopCnt < 32;LoopCnt++) { Fls_WriteData[LoopCnt] = Fls_ReadData[LoopCnt]; } *((uint32 *)&Fls_WriteData[8]) = 0x5A5A5A5A; *((uint32 *)&Fls_WriteData[12]) = 0x5A5A5A5A; TestResult = Fls_WriteCusNvr(0x10000000, Fls_WriteData, 32,0x4dff32); if(FLASH_E_OK == TestResult) { /*test code nothing to do*/ } else { /*test code nothing to do*/ } Fls_CurNvrDebugDisEn = FALSE; } OTP NVR注意事项

    OTP NVR的最末尾8字节(YTM32B1HA01为最末尾32字节)为OTA使用,用户禁止写入。

    各个型号NVR Flash操作Demo

    各个型号Demo工程如下所示:

    YTM32B1HA0
    Fls_HA0NvrDemo.zip YTM32B1MC0
    Fls_MC0NvrDemo.zip YTM32B1MD1
    Fls_MD1NvrDemo.zip YTM32B1MD2
    Fls_MD2NvrDemo.zip YTM32B1ME0
    Fls_ME0NvrDemo.zip YTM32B1ME1
    Fls_ME1NvrDemo.zip
  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

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

  • Online Users