Replies: 1 comment
-
Hi @KurtE , |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have a few questions about the memory management on the different Teensy boards. And how it may differ from how these boards work when programmed using Arduino IDE and Teensyduino.
Wondering if others have already figured some of them out.
Using Teensyduino builds the memory regions setup for a Teensy 4.1 by the loader file as:
Some of my questions include:
a) How do I control what code and data are loaded into the ITCM and DTCM sections of memory and is the sizes of these two fixed?
On Teensyduino - by default most all of the code is copied to ITCM and most data is copied to DTCM, and the size of each depends
on the size of the code that loaded into ITCM (IOMUXC_GPR_GPR17)
b) RAM (OCRAM versus OCRAM2) - On Teensyduino - the memory address starts at 0x20200000 full 512KB. You can
declare variables to use this region, by using the DMAMEM on your define:
#define DMAMEM __attribute__ ((section(".dmabuffers"), used))
Note: These variables are not currently initialized. Also all calls to malloc are allocated from this region of memroy.
It appears like with the zephyr build most of the stuff is in the memory range:0x20280000
c) FLASH ( 0x60000000) - As I mentioned on Teensyduino - most your code stored up here is copied down to
ITCM. Not sure what happens on Zephyr? On TD you can also specify to run some of your code directly off of the flash
(FLASHMEM) and likewise access RO data from flash as well (PROGMEM). Can I do something similar on Zephyr?
d) External memory: On T4.1 you can have 16MB of external PSRAM soldered to the bottom of the board. (Actually
with some new chips and the beta TD you can have up to 32MB of PSRAM). Is there any support on Zephyr for this?
Thanks in advance.
Kurt
Beta Was this translation helpful? Give feedback.
All reactions