0

Hi,

We’re using GCC for Renesas RX version 8.3.0.202305 on an RX66T, and we’re facing what looks like a really stupid issue.

We’re getting an allocate exception everytime we call the new operator. We detected this when using std::vector, but also reproducible with a simple char array. The catch is not catching the exception btw.

So we are really puzzled by this, the configuration is quite long, so I don’t really know where to start from. Whoever knows about this, just ask what info can I give you and I will provide the best I know.

Can someone help us figure out if we’re missing, or we misconfigured something?

Thanks in advance

Open Source Tools Support commented
    • Quick update, we realized that malloc also fails (returns null), so it really looks something related with std libs (both c and c++) pvPortMalloc() doen’t fail.

    • So, we ended up realizing that the FreeRTOS port for Renesas doesn’t override free and malloc (as done in other ports), so you need to do it yourself:

      void* malloc(size_t size) {
      return pvPortMalloc(size);
      }

      void free(void* ptr) {
      vPortFree(ptr);
      }

    • Hello,

      Thank you for reaching out to us!

      We are sorry for the late response and are glad that you have found the solution.
      Unfortunately we are offering support for toolchains only, FreeRTOS usage is outside of our domain.

      We recommend seeking help at https://community.renesas.com, if you encounter any other, not toolchain specific
      issues.

      For toolchain questions we remain at your disposal.
      __
      Best regards,
      The Open Source Tools Team