This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Everyone,STM32 controllers have CCM (Closely Coupled Memory) memory which acts as RAM.
At present I do not use it. But I would like to.I am developing eCos application in C++. I have something like this in the header file:
class A : { public: A (); virtual ~A (); .. protected: cyg_thread _thread;char _thread_stack [CYGNUM_HAL_STACK_SIZE_TYPICAL] __attribute__((section(".ccm")));
...As you can see, I want to place thread stack into CCM section (using __attribute__((section("<name>"))).
But I do not know how to do it in a correct way. Please help! :-) The Memory layout file I use has got: .. SECTIONS { SECTIONS_BEGIN USER_SECTION (ccm, ccm, 0x10000000, LMA_EQ_VMA) .. And cortexm.ld file has got a macro for USER_SECTION: #define USER_SECTION(_name_, _region_, _vma_, _lma_) \ ._name_ _vma_ : _lma_ \ { __ ## _name_ ## _start = ABSOLUTE (.); \ *(._name_*) \ __ ## _name_ ## _end = ABSOLUTE (.); } \ > _region_ When I compile the project I get an error: error: section attribute not allowed for '_thread_stack' Do I specify attribute in the correct place? My be I cannot do it for class members but only for global variables? I would appreciate any help on this. Oleg ... -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |