跳转至内容

Discussion & Question

A place to talk about whatever you want or ask a question

1.9k 主题 8.9k 帖子

子版块


  • 开发环境搭建相关问题,Cmake,GCC,Ninja等

    207 主题
    965 帖子
    haiyangH

    mengfanji 你使用JFLASH试一下能不能找到YTM的芯片,如果找不到就是patch没打成功,打patch需要管理员身份运行;

  • Questions about YTM32Z seires

    19 主题
    64 帖子
    liuxu_smartensL

    请问是否有YTM32Z1MD04开发板控制电机的例程?六步换相算法的

  • Questions about YTM32B1H seires

    279 主题
    1k 帖子
    D
    1. 问题描述 HA01的1_3_1的ECC Demo笔误,在 EFM_RecoveryErrorHandler 清除的是 UNRECOVERR 标志。 导致 RECOVERR 的中断标志位一直没有被清除,无限进入 EFM_RecoveryErrorHandler ,造成程序卡住。
    fc596f9a-d05c-4ed1-922d-86e8afc58e1e-image.png 2. 背景 有客户在应用中使用参考1_3_1的ECC Demo,开启EFM_Recovery中断和添加中断处理代码。 当写flash掉电发生ECC 单bit错误时,由于客户并未在单bit错误中断中擦除错误sector,同时UNRECOVERR 标志未清除,最终就无限进中断导致程序卡死。 3. 详细描述 SDK对比:
    62d84d34-1bac-4bf3-8aa3-3a0eb89dd13d-image.png 1_3_1流程解析:
    39c79274-6b56-4ba1-9650-d2d0e905eb04-image.png 4. 测试验证 使用EFM ECC错误注入的方式模拟flash掉电发生ECC 单bit错误,可复现无限进入单bit错误中断。
    e9b47a10-7b24-42b4-ad5e-c3f13ee19cb8-image.png 5. 解决方案 参考SDK 1_4_1 在EFM_RecoveryErrorHandler 里正确清除RecoveryError标志位; 不处理 RecoveryError ,硬件可以纠错,不开 RecoveryError 中断。 列入checklist,方便客户前期规避此问题。 6. 为什么1_3_1的ECC Demo测试没问题 原因是1_3_1版本的falsh驱动在 FLASH_LaunchCommandSequence 操作时都会清除所有错误标志 而且ECC例程的处理机制就是不管是单还是双bit ECC错误都会擦除对应的sector 所以一旦调用 FLASH_DRV_EraseSector 就会将 RecoveryError 标志清除,也就不会重复进入中断。
    d1e1eea0-c86d-4af4-886c-5ab17d51bdc4-image.png 1_4_1 的例程RecoveryError 中断里会及时清除标志位,但是 FLASH_LaunchCommandSequence 就不会清除全部的错误标志:
    6aaf7c8f-3c76-4f29-866f-9bed766cf0d0-image.png 7. 结论 HA01 1_3_1 SDK 的 ECC Demo笔误:EFM_RecoveryErrorHandler 清错标志(清了 UNRECOVERR 而非 RECOVERR),导致中断反复触发、程序卡死; 解决方案是参照 1_4_1 SDK 在 EFM_RecoveryErrorHandler 中正确清除 RecoveryError 标志,或不处理 RecoveryError、直接关闭该中断。 8. 测试软件

    Flash_ECC1bit_Injict_Demo.zip

  • Questions about YTM32B1M seires

    762 主题
    4k 帖子
    YangchengyeY

    1.先使用J-Flash烧录程序A后,断电重新上电的打印信息如下:
    db762d25-85b0-4ab6-8a5a-8880c5499d13-image.png
    2.使用J-Flash烧录程序B后,断电重新上电的打印信息如下:
    5b7d9cd8-e5fe-4686-9c8d-89208c9321e1-image.png
    3.使用Keil打开程序A的工程,点debug和Run后的打印信息,和程序B的打印信息一样。
    6d85314c-0504-4ffb-969f-c5c730d44123-image.png
    4afdc8ac-38f0-4fc6-836f-bb71ad7f1d6c-image.png
    Keil配置的Flash地址从0开始
    18e574c8-85eb-4f41-909d-abdea5f4aed3-image.png

  • Questions about YTM32B1L seires

    269 主题
    1k 帖子
    WRW

    image.png

  • Questions about YT SDK

    175 主题
    749 帖子
    YQHY

    ZJJ1995 Sent模块初始化Api的第一个参数填外设实例号,如demo中的SENT_DRV_Init(0,&sentUserConfig,&sentState); 表示sentUserConfig配置的是SENT0

  • Questions about YT MCAL
    提问请附带芯片和软件版本信息

    148 主题
    685 帖子
    EkkoE

    Frankie MD24的MCAL demo就已经不一致了

  • PPB区域对于云途芯片来说配置MPU区域有没有效果

    2
    0 赞同
    2 帖子
    2k 浏览
    FrankieF

    中断里,CPU是工作在特权模式下的,如果MPU配置的特权模式可以读取,那么就可以访问。

  • AES-CMAC/AES-ECB测算

    8
    0 赞同
    8 帖子
    7k 浏览
    D

    Wangchu1 可以参考这个方法:
    8b3b632a-354e-45e0-aff3-0d4dad2862a4-image.png

  • YTM32B1MD1刻录器问题

    7
    0 赞同
    7 帖子
    4k 浏览
    YQHY

    abcbill https://forum.ytmicro.com/topic/183/p-e-cyclone离线烧录使用简介/11?_=1772073125659

  • YTM32B1MD1中云途工具生成的程序问题

    4
    0 赞同
    4 帖子
    3k 浏览
    jiankang_wangJ

    在 UDS 协议栈的配置中,UDS_IP_xxx_ENABLE 宏确实是关键的预编译参数,用于按需裁剪代码。针对您发现增加 ProgrammingSession 后未生成对应宏的情况,原因通常如下:

    在 yct 的生成逻辑中,并非每一个具体的子项(如某个具体的 Session 类型)都会独立对应一个 ENABLE 宏。

  • YTM32B1MD1中的ld档案修改问题?

    5
    0 赞同
    5 帖子
    3k 浏览
    abcbillA

    .bss.g_spiStatePtr
    0x1fff8c20 0x10 libGENERATED_SDK_TARGET.a(spi_shared_function.c.o)
    0x1fff8c20 g_spiStatePtr
    看起来是在.bss
    但奇怪的是我用原本的ld檔就不会出事,底下为原本的ld檔
    /*

    Copyright 2020-2025 Yuntu Microelectronics Co., Ltd. All rights reserved. SPDX-License-Identifier: BSD-3-Clause @file yt_linker.ld @brief

    */

    /* MEMORY MAP /
    MEMORY
    {
    IVT (RX) : ORIGIN = 0x0, LENGTH = 0x400
    BOOT (RX) : ORIGIN = 0x400, LENGTH = 0x7c00
    IVT_RAM (RW) : ORIGIN = 0x1fff8000, LENGTH = 0x400
    STACK (RW) : ORIGIN = 0x20007c00, LENGTH = 0x400
    RAM (RW) : ORIGIN = 0x1fff8400, LENGTH = 0xf800
    }
    / SECTIONS */
    SECTIONS
    {
    .IVT : {

    IVT_start = .; isr_vector_region_start = .; KEEP(*(.isr_vector)) isr_vector_region_end = .; IVT_end = .; } > IVT .TEXT : { TEXT_start = .; rodata_region_start = .; *(.rodata) *(.rodata*) rodata_region_end = .; text_region_start = .; *(.text) *(.text*) text_region_end = .; TEXT_end = .; } > BOOT .ARM : { ARM_start = .; ARM.exidx_region_start = .; *(.ARM.exidx) *(.ARM.exidx*) ARM.exidx_region_end = .; ARM_end = .; } > BOOT CODE_RAM_rom_start_not_align = .; CODE_RAM_rom_start = CODE_RAM_rom_start_not_align + (CODE_RAM_rom_start_not_align % 4); CODE_RAM_rom_end = CODE_RAM_rom_start + CODE_RAM_ram_end - CODE_RAM_ram_start; DATA_RAM_rom_start_not_align = CODE_RAM_rom_end; DATA_RAM_rom_start = DATA_RAM_rom_start_not_align + (DATA_RAM_rom_start_not_align % 4); DATA_RAM_rom_end = DATA_RAM_rom_start + DATA_RAM_ram_end - DATA_RAM_ram_start; .IVT_RAM : { . = ALIGN(1024); IVT_RAM_start = .; . += 0X400; IVT_RAM_end = .; } > IVT_RAM .STACK : { STACK_start = .; . += 1024; STACK_end = .; } > STACK .BSS (NOLOAD): { BSS_start = .; bss_region_start = .; *(.bss) *(.bss*) bss_region_end = .; BSS_end = .; } > RAM .CODE_RAM : AT(CODE_RAM_rom_start) { . = ALIGN(4); CODE_RAM_ram_start = .; CODE_RAM_start = .; code_ram_region_start = .; *(.code_ram) code_ram_region_end = .; CODE_RAM_end = .; CODE_RAM_ram_end = .; } > RAM ASSERT((CODE_RAM_ram_end - CODE_RAM_ram_start) == (CODE_RAM_rom_end - CODE_RAM_rom_start), "Copy Section CODE_RAM Size non-aligned") .DATA_RAM : AT(DATA_RAM_rom_start) { DATA_RAM_ram_start = .; DATA_RAM_start = .; data_region_start = .; *(.data) *(.data*) data_region_end = .; DATA_RAM_end = .; DATA_RAM_ram_end = .; } > RAM ASSERT((DATA_RAM_ram_end - DATA_RAM_ram_start) == (DATA_RAM_rom_end - DATA_RAM_rom_start), "Copy Section DATA_RAM Size non-aligned") IVT_memory_start = ORIGIN(IVT); IVT_memory_end = ORIGIN(IVT) + LENGTH(IVT); IVT_memory_size = LENGTH(IVT); BOOT_memory_start = ORIGIN(BOOT); BOOT_memory_end = ORIGIN(BOOT) + LENGTH(BOOT); BOOT_memory_size = LENGTH(BOOT); IVT_RAM_memory_start = ORIGIN(IVT_RAM); IVT_RAM_memory_end = ORIGIN(IVT_RAM) + LENGTH(IVT_RAM); IVT_RAM_memory_size = LENGTH(IVT_RAM); STACK_memory_start = ORIGIN(STACK); STACK_memory_end = ORIGIN(STACK) + LENGTH(STACK); STACK_memory_size = LENGTH(STACK); RAM_memory_start = ORIGIN(RAM); RAM_memory_end = ORIGIN(RAM) + LENGTH(RAM); RAM_memory_size = LENGTH(RAM);

    }

  • APP进入PowerDown模式休眠后,唤醒复位后进入Boot进入hardfault

    2
    0 赞同
    2 帖子
    2k 浏览
    DigaD

    普通的 RAM 在 Power Down 模式唤醒后会丢失,你设不设置这个 POR Only 没啥用,但每款芯片都有一段专门的 Retention RAM,可以保证在Power Down 模式唤醒后会不丢失

  • delay us相关

    2
    0 赞同
    2 帖子
    2k 浏览
    KirkK

    可以用定时器模块去做呀,PTMR、LPTMR 等模块都可以

  • YTM32B1MD1中的ld档案问题

    4
    0 赞同
    4 帖子
    3k 浏览
    WRW

    abcbill 如果你们有使用内部ee的要求,需要参考一下这个帖子(https://forum.ytmicro.com/topic/1163/md14_ab_swap-fee?_=1769069859281)

  • 0 赞同
    8 帖子
    3k 浏览
    abcbillA

    问题已经得到解决,感谢支持.

  • YTM32B1MD14 - eTMR Interrupt Issue When Using As PWM Input Capturing Mode

    1
    0 赞同
    1 帖子
    1k 浏览
    尚无回复
  • 关于CAN采样点误差问题

    1
    2 赞同
    1 帖子
    2k 浏览
    尚无回复
  • HA0的SAI音频设置,包括I2C的耳放配置有没有Demo

    8
    0 赞同
    8 帖子
    6k 浏览
    kasselK

    sunxuehu 在 HA0的SAI音频设置,包括I2C的耳放配置有没有Demo 中说:

    这个是最新的,sai目前还没有做yct 配置界面,需要手动移植下,后面会将这个移植到YCT配置上

    好的,收到

  • 使用软件复位后保留RAM中的数据,复位后无法保存

    40
    0 赞同
    40 帖子
    34k 浏览
    DigaD

    下次再有问题可以新起一个帖子,这个贴楼太多了

  • 单元测试问题

    1
    0 赞同
    1 帖子
    2k 浏览
    尚无回复
  • vscode+vcc生成elf文件后,跳转ozone失败

    6
    0 赞同
    6 帖子
    4k 浏览
    luxiaoguoL

    ysog 在 vscode+vcc生成elf文件后,跳转ozone失败 中说:

    不要中文路径试试

    更换路径,不是中文路径,就可以了,多谢大佬

  • YTM32B1MD的ETMR触发ADC问题。

    7
    0 赞同
    7 帖子
    4k 浏览
    OliverChenO

    WR 好的多谢,CIM这块我在其他地方有更改了,忘记贴了

  • YTconfigTool 配置工具中的LOGO可以拖动

    2
    0 赞同
    2 帖子
    4k 浏览
    FrankieF

    感谢反馈,下个版本修复。

  • 在YTM32B1MD24的HCU_Demo例程中,如何生成例程中定义的RSA密钥数据格式?

    3
    -1 赞同
    3 帖子
    4k 浏览
    WCtdcswW

    YQH 好的,谢谢

  • YTM32B1MD1 ADC Selftest

    4
    0 赞同
    4 帖子
    3k 浏览
    houjun_xiaoH

    The ADC_SEx are the external input channels of the ADC, but the internal temperature sensor and PMC VREF are all internal input channels of the ADC .So they do not need to be connected to ADC_SEx. The PMC VREF can be converted by configuring the corresponding channel number into the ADC[CHSEL] register. The channel number for PMC VREF is 33.

  • YTM32BLE05,LIN引脚映射只能用UART0吗,句柄换成UART2用不了

    9
    0 赞同
    9 帖子
    5k 浏览
    aminA

    格式无效是怎么回事

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

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

  • Online Users