Embed++ 10a: FX3 memory layout. C vs. C++ deep dive (with interactive tool)
Are you working with FX3 and unsure how memory is laid out differently for C and C++ projects?
In this episode, we analyze and compare the memory layout of FX3-based firmware written in C (using the UVC In-Memory SDK example) and C++ (using the Bulk Loopback SDK sample). You'll learn how instruction memory, USB descriptors, heaps, and buffers are structured—plus where exceptions and runtime elements go in C++. We also introduce a free interactive spreadsheet tool that lets you tweak memory regions and visualize changes in real time - check it out here: https://tinyurl.com/Embeddedpp-S1Ea
🔗 Download the template (view-only): [Link in description]
🔍 What we cover:
- FX3 memory architecture overview
- Differences between C and C++ project layout
- ARM-specific regions for C++ exceptions
- Cypress linker script anatomy (FX3LD / FX3CPPLD)
- Adjusting heap sizes, data regions, and buffers
- Project configuration via linker script and TX.C / TX.CPP files
👷♂️ Whether you’re optimizing DMA, adding STL, or enabling exceptions, this episode helps you tune your FX3 memory map with confidence.
📌 Don't forget to like and subscribe for future content as we transition from GCC to g++ and Clang in the next episode!
0:00 FX3 memory: C vs. C++ comparison
0:30 interactive spreadsheet tool demo
0:55 FX3 memory map explained
1:18 USB descriptors & code/data regions
1:49 C++-specific memory, RT heap, and driver heap
2:12 DMA buffers and user memory limits
2:31 bootloader memory in C vs. C++
3:07 using the template to experiment
3:37 setting memory in C projects (fx3.ld & cyfxtx.c)
6:45 setting memory in C++ projects (fx3cpp.ld & cyfxtx.cpp)
8:25 C++ exceptions & .ARM.exidx/.ARM.extab
8:50 using weak symbols for heap boundaries
9:05 optimizing layout with the spreadsheet
9:34 .map files & analysis tools
10:05 outro & what's next (g++ → Clang)
Видео Embed++ 10a: FX3 memory layout. C vs. C++ deep dive (with interactive tool) канала Embedded C++ with MSVC IDE
In this episode, we analyze and compare the memory layout of FX3-based firmware written in C (using the UVC In-Memory SDK example) and C++ (using the Bulk Loopback SDK sample). You'll learn how instruction memory, USB descriptors, heaps, and buffers are structured—plus where exceptions and runtime elements go in C++. We also introduce a free interactive spreadsheet tool that lets you tweak memory regions and visualize changes in real time - check it out here: https://tinyurl.com/Embeddedpp-S1Ea
🔗 Download the template (view-only): [Link in description]
🔍 What we cover:
- FX3 memory architecture overview
- Differences between C and C++ project layout
- ARM-specific regions for C++ exceptions
- Cypress linker script anatomy (FX3LD / FX3CPPLD)
- Adjusting heap sizes, data regions, and buffers
- Project configuration via linker script and TX.C / TX.CPP files
👷♂️ Whether you’re optimizing DMA, adding STL, or enabling exceptions, this episode helps you tune your FX3 memory map with confidence.
📌 Don't forget to like and subscribe for future content as we transition from GCC to g++ and Clang in the next episode!
0:00 FX3 memory: C vs. C++ comparison
0:30 interactive spreadsheet tool demo
0:55 FX3 memory map explained
1:18 USB descriptors & code/data regions
1:49 C++-specific memory, RT heap, and driver heap
2:12 DMA buffers and user memory limits
2:31 bootloader memory in C vs. C++
3:07 using the template to experiment
3:37 setting memory in C projects (fx3.ld & cyfxtx.c)
6:45 setting memory in C++ projects (fx3cpp.ld & cyfxtx.cpp)
8:25 C++ exceptions & .ARM.exidx/.ARM.extab
8:50 using weak symbols for heap boundaries
9:05 optimizing layout with the spreadsheet
9:34 .map files & analysis tools
10:05 outro & what's next (g++ → Clang)
Видео Embed++ 10a: FX3 memory layout. C vs. C++ deep dive (with interactive tool) канала Embedded C++ with MSVC IDE
fx3 memory layout embedded c++ cypress fx3 c vs c++ uvc firmware fx3 memory map heap layout static memory fx3 linker script cyfx cyfxtx.cpp embedded systems embedded gcc embedded clang c++ exceptions placement new dma buffer usb firmware cypress sdk c++ heap firmware memory fx3ld fx3cppld ld script c++ malloc new delete c++ for embedded fx3 bootloader fx3 cpp uvc embedded c++20 modern embedded
Комментарии отсутствуют
Информация о видео
10 мая 2025 г. 19:37:33
00:10:28
Другие видео канала