You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Anthony Merlino <an...@vergeaero.com> on 2021/01/31 17:15:16 UTC

ELF Loader and TCM Clarification

Hi all,

I was just reading the documentation on Confluence regarding ELF programs:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543

Here is the relevant excerpt

Most MCUs based on ARMv7-M family processors support some kind of Tightly
> Coupled Memory (TCM). These TCMs have somewhat different properties for
> specialized operations. The STM32 F4 supports similar Core Coupled Memory
> (CCM). It is important to not that *you cannot execute programs from CCM!*
>

My question is - Is it just CCM that cannot be used when ELF loading is
enabled? Or is it all TCM? Also, does anyone have the technical explanation
for why CCM results in hard-fault?

Is there a place to raise this type of "issue" for documentation on
Confluence?

Best,
Anthony

Re: ELF Loader and TCM Clarification

Posted by Gregory Nutt <sp...@gmail.com>.
TCM can mean ITCM or DTCM.  What is true about one is probably not true 
for the other.

On 1/31/2021 11:15 AM, Anthony Merlino wrote:
> Hi all,
>
> I was just reading the documentation on Confluence regarding ELF programs:
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
>
> Here is the relevant excerpt
>
> Most MCUs based on ARMv7-M family processors support some kind of Tightly
>> Coupled Memory (TCM). These TCMs have somewhat different properties for
>> specialized operations. The STM32 F4 supports similar Core Coupled Memory
>> (CCM). It is important to not that *you cannot execute programs from CCM!*
>>
> My question is - Is it just CCM that cannot be used when ELF loading is
> enabled? Or is it all TCM? Also, does anyone have the technical explanation
> for why CCM results in hard-fault?
>
> Is there a place to raise this type of "issue" for documentation on
> Confluence?
>
> Best,
> Anthony
>


Re: ELF Loader and TCM Clarification

Posted by Anthony Merlino <an...@vergeaero.com>.
Sorry about the email signature.






On Sun, Jan 31, 2021 at 1:18 PM Anthony Merlino <an...@vergeaero.com>
wrote:

> Awesome Brennan, thanks for the info. That totally makes sense.
>
> I have updated the following pages to include this information:
>
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629542
>
> Best,
> Anthony
> [image: photo]
> *Anthony Merlino*
> CTO & Co-founder, Verge Aero
> (609)-319-1399
>
>
>
> On Sun, Jan 31, 2021 at 12:29 PM Brennan Ashton <ba...@brennanashton.com>
> wrote:
>
>> Looks like the inline images dropped try to attach them here. Otherwise
>> you can find them in "System Architecture" section of the Reference Manual.
>>
>> On Sun, Jan 31, 2021, 9:25 AM Brennan Ashton <ba...@brennanashton.com>
>> wrote:
>>
>>> Hey Anthony,
>>> The best place is usually just a GitHub ticket or here.  The issue with
>>> CCM is that at least in some of the STM32F4 series it is directly attached
>>> to the D bus so the CPU absolutely cannot execute from it. Also why you
>>> cannot do things like DMA.  This is not true for all CCM like the STM32F3.
>>> See they system architecture diagrams here for the two.
>>>
>>>
>>>
>>>
>>>
>>> --Brennan
>>>
>>> On Sun, Jan 31, 2021, 9:15 AM Anthony Merlino <an...@vergeaero.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I was just reading the documentation on Confluence regarding ELF
>>>> programs:
>>>>
>>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
>>>>
>>>> Here is the relevant excerpt
>>>>
>>>> Most MCUs based on ARMv7-M family processors support some kind of
>>>> Tightly
>>>> > Coupled Memory (TCM). These TCMs have somewhat different properties
>>>> for
>>>> > specialized operations. The STM32 F4 supports similar Core Coupled
>>>> Memory
>>>> > (CCM). It is important to not that *you cannot execute programs from
>>>> CCM!*
>>>> >
>>>>
>>>> My question is - Is it just CCM that cannot be used when ELF loading is
>>>> enabled? Or is it all TCM? Also, does anyone have the technical
>>>> explanation
>>>> for why CCM results in hard-fault?
>>>>
>>>> Is there a place to raise this type of "issue" for documentation on
>>>> Confluence?
>>>>
>>>> Best,
>>>> Anthony
>>>>
>>>

Re: ELF Loader and TCM Clarification

Posted by Anthony Merlino <an...@vergeaero.com>.
Awesome Brennan, thanks for the info. That totally makes sense.

I have updated the following pages to include this information:

https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629542

Best,
Anthony
[image: photo]
*Anthony Merlino*
CTO & Co-founder, Verge Aero
(609)-319-1399



On Sun, Jan 31, 2021 at 12:29 PM Brennan Ashton <ba...@brennanashton.com>
wrote:

> Looks like the inline images dropped try to attach them here. Otherwise
> you can find them in "System Architecture" section of the Reference Manual.
>
> On Sun, Jan 31, 2021, 9:25 AM Brennan Ashton <ba...@brennanashton.com>
> wrote:
>
>> Hey Anthony,
>> The best place is usually just a GitHub ticket or here.  The issue with
>> CCM is that at least in some of the STM32F4 series it is directly attached
>> to the D bus so the CPU absolutely cannot execute from it. Also why you
>> cannot do things like DMA.  This is not true for all CCM like the STM32F3.
>> See they system architecture diagrams here for the two.
>>
>>
>>
>>
>>
>> --Brennan
>>
>> On Sun, Jan 31, 2021, 9:15 AM Anthony Merlino <an...@vergeaero.com>
>> wrote:
>>
>>> Hi all,
>>>
>>> I was just reading the documentation on Confluence regarding ELF
>>> programs:
>>>
>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
>>>
>>> Here is the relevant excerpt
>>>
>>> Most MCUs based on ARMv7-M family processors support some kind of Tightly
>>> > Coupled Memory (TCM). These TCMs have somewhat different properties for
>>> > specialized operations. The STM32 F4 supports similar Core Coupled
>>> Memory
>>> > (CCM). It is important to not that *you cannot execute programs from
>>> CCM!*
>>> >
>>>
>>> My question is - Is it just CCM that cannot be used when ELF loading is
>>> enabled? Or is it all TCM? Also, does anyone have the technical
>>> explanation
>>> for why CCM results in hard-fault?
>>>
>>> Is there a place to raise this type of "issue" for documentation on
>>> Confluence?
>>>
>>> Best,
>>> Anthony
>>>
>>

Re: ELF Loader and TCM Clarification

Posted by Brennan Ashton <ba...@brennanashton.com>.
Looks like the inline images dropped try to attach them here. Otherwise you
can find them in "System Architecture" section of the Reference Manual.

On Sun, Jan 31, 2021, 9:25 AM Brennan Ashton <ba...@brennanashton.com>
wrote:

> Hey Anthony,
> The best place is usually just a GitHub ticket or here.  The issue with
> CCM is that at least in some of the STM32F4 series it is directly attached
> to the D bus so the CPU absolutely cannot execute from it. Also why you
> cannot do things like DMA.  This is not true for all CCM like the STM32F3.
> See they system architecture diagrams here for the two.
>
>
>
>
>
> --Brennan
>
> On Sun, Jan 31, 2021, 9:15 AM Anthony Merlino <an...@vergeaero.com>
> wrote:
>
>> Hi all,
>>
>> I was just reading the documentation on Confluence regarding ELF programs:
>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
>>
>> Here is the relevant excerpt
>>
>> Most MCUs based on ARMv7-M family processors support some kind of Tightly
>> > Coupled Memory (TCM). These TCMs have somewhat different properties for
>> > specialized operations. The STM32 F4 supports similar Core Coupled
>> Memory
>> > (CCM). It is important to not that *you cannot execute programs from
>> CCM!*
>> >
>>
>> My question is - Is it just CCM that cannot be used when ELF loading is
>> enabled? Or is it all TCM? Also, does anyone have the technical
>> explanation
>> for why CCM results in hard-fault?
>>
>> Is there a place to raise this type of "issue" for documentation on
>> Confluence?
>>
>> Best,
>> Anthony
>>
>

Re: ELF Loader and TCM Clarification

Posted by Brennan Ashton <ba...@brennanashton.com>.
Hey Anthony,
The best place is usually just a GitHub ticket or here.  The issue with CCM
is that at least in some of the STM32F4 series it is directly attached to
the D bus so the CPU absolutely cannot execute from it. Also why you cannot
do things like DMA.  This is not true for all CCM like the STM32F3.  See
they system architecture diagrams here for the two.





--Brennan

On Sun, Jan 31, 2021, 9:15 AM Anthony Merlino <an...@vergeaero.com> wrote:

> Hi all,
>
> I was just reading the documentation on Confluence regarding ELF programs:
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629543
>
> Here is the relevant excerpt
>
> Most MCUs based on ARMv7-M family processors support some kind of Tightly
> > Coupled Memory (TCM). These TCMs have somewhat different properties for
> > specialized operations. The STM32 F4 supports similar Core Coupled Memory
> > (CCM). It is important to not that *you cannot execute programs from
> CCM!*
> >
>
> My question is - Is it just CCM that cannot be used when ELF loading is
> enabled? Or is it all TCM? Also, does anyone have the technical explanation
> for why CCM results in hard-fault?
>
> Is there a place to raise this type of "issue" for documentation on
> Confluence?
>
> Best,
> Anthony
>