Highlights

  • AI 捷径(AI Shortcuts)
  • ING-DAPLink
已知问题(局限性):
  • ING916XX 使用内部 RC 为主时钟时,如果要使用省电模式,则 RC 频率暂时只能配置为 24MHz。
  • ING916XX 降低主频(HCLK)存在风险:低功耗电流异常,连接容易断开。

v8.5.0

1. 软件包

  • [更新] 内置 FreeRTOS 的软件包允许替换 RTOS

    现在内置 FreeRTOS 的软件同 NoOS 软件包一样可以通过 app_main 返回 gen_os_driver_t 指针。 当该指针不为空时,内置的 FreeRTOS 被替换,协议栈将使用 gen_os_driver。此后,应用显然也不能使用内置的 FreeRTOS。

      const gen_os_driver_t gen_os_driver = ...;
      uintptr_t app_main()
      {
          ...
          return (uintptr_t)&gen_os_driver;
      }
    
  • [新增] platform_get_rtos_heap_mem

    这个函数返回内置 FreeRTOS 的堆空间。当替换内置的 FreeRTOS 后,开发者通过此 API 获取该内存空间。

    通常情况下,可以把这块空间作为堆注册到外部的 RTOS。参考 Peripheral Console (RT-Thread)

  • [新增] platform_pre_suppress_cycles_and_sleep_processing

    从 v8.5.0 开始,睡眠时间以低速实时时钟的周期为度量单位。 为保持兼容性,原有的 platform_pre_suppress_ticks_and_sleep_processing 仍然存在, 但建议改用 platform_pre_suppress_cycles_and_sleep_processing。例如:

    原代码:

      uint32_t ticks = platform_pre_suppress_ticks_and_sleep_processing(expectedTicks);
    

    更新为:

      #define SYS_CLOCK_CYCLES_PER_TICK   ....
    
      uint32_t cycles = platform_pre_suppress_cycles_and_sleep_processing(
          expectedTicks * SYS_CLOCK_CYCLES_PER_TICK);
      uint32_t ticks = cycles / SYS_CLOCK_CYCLES_PER_TICK;
    

2. 库函数

  • [修正] ING916 USB: EP0 OUT 概率性故障

2. 工具

  • [新增] AI 捷径(AI Shortcuts)

    详见 使用 AI

  • [修正] rtt_logger.py: 有时会抓取多余的数据

  • [更新] Downloader (GUI/Python):配合 ING-DAPLink 实现自动下载

    使用 ING-DAPLink 时,点击主界面的 “Load” 按钮相当于按下 ING-DAPLink 上 “Load” 按钮,可进入下载状态; 运行 icsdw.py 脚本时,可自动进入下载状态。