LPC55S16 Issue Using Custom Flash Section For Data

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC55S16 Issue Using Custom Flash Section For Data

690件の閲覧回数
jmorel
Contributor II

I'm trying to reserve a section of memory for a struct in my code but the second it tries to edit the stored value it hard faults. is their a specific flag that needs to be set to allow the code in execution to edit a reserved section of flash?

this is what i have set in my .Id file

m_Diagnotics (RX) : ORIGIN = 0x00000800, LENGTH = 0x00000200

.Diagnotics :
{
KEEP(*(.Diagnotics)) /* keep my variable even if not referenced */
. = ALIGN(4);
__Diagnotics_start__ = .;
*(.Diagnotics)
*(.Diagnotics*)
. = ALIGN(4);
__Diagnotics_end__ = .;
} > m_Diagnotics
ASSERT( LENGTH(m_Diagnotics) >= (__Diagnotics_end__ - __Diagnotics_start__), "m_Diagnotics overflowed !")

in the code:

Diagnostic_Data_t stDiagnostics_Flash __attribute__((section(".Diagnotics")));

and the second it tries to write to the struct it hard faults.

ラベル(1)
タグ(1)
0 件の賞賛
返信
3 返答(返信)

667件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @jmorel 

Recommend refer to " 20.13.1 Placing code and data into different memory regions " of <MCUXpresso IDE User guide>. This method does not require any change to the source code.

If you want to change code by hand like your sharing, please uncheck “Manager linker script". 

Alice_Yang_1-1717059254884.png

 

BR

Alice

 

0 件の賞賛
返信

534件の閲覧回数
jmorel
Contributor II

thanks for the help in the end i had to reserve the location in the data field of the flash memory. if i try and reserve it any where else it hard faults when i try to write to it, must be a protection flag that is set. we atleast got a working solution but if you know what might be the setting required would be helpful. im also not using mcuxpresso we long moved away from it due to crash related issue this is why im using the .id file, this is all in vscode.

0 件の賞賛
返信

524件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @jmorel 

Any where? We can not  place the data into memory that code used. 

I suggest you check the size of your image, then reserve the data after image.

 

BR

Alice

0 件の賞賛
返信