Noinit RAM sections KW45

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Noinit RAM sections KW45

跳至解决方案
1,361 次查看
alereale
Contributor II

I am trying to create a RAM section to not be initialized after a software reset but I'm observing that ResetISR in "startup_KW45B41Z83.c" performs the initialization of some RAM sections. In this way my variables inside my region memory are reset despite they are declared with "no_init" keyword and the region is set as not initialized area.
Is there a reason why some areas of memory are always initialized?
Is there a way for avoiding some regions are initialized after a reset? or am I forced to use only RAM regions that are not updated within Reset_Handler?
Thank you

标记 (3)
0 项奖励
回复
1 解答
1,138 次查看
luis_maravilla
NXP Employee
NXP Employee

For informing the cause of reset maybe the "System Reset Status" register can work for you, This register indicate the system reset status. Those status updates on every MAIN Warm Reset to indicate the type/source of the most recent reset.

For more information about this register please refer to Chapter 31.7.1.8 in KW45 Reference Manual and for specific functions in refer to SDK Documentation

 

In KW45 Reference Manual Chapter 15.2 figure 22 is the image that represents ROM bootloader memory usage and in which memory address its located the application use in system RAM.

 

The first 16 KB of Tightly Coupled Memory - System (STCM) (0x30000000 – 0x30004000) needs to be reserved for ROM bootloader execution and some ROM API execution. Please note that STCM has ECC enabled. To avoid STCM ECC error, users must always program word-aligned data to word-aligned address before the first time reading after power-on reset.

 

Best Regards

Luis

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,299 次查看
luis_maravilla
NXP Employee
NXP Employee

Hello,

The startup code for the KW45B41Z83 microcontroller sets up the initial runtime environment, as part of this process, certain memory areas are initialized by copying the .data section from flash memory to SRAM to ensure the correct values when the program starts. Additionally, the code zeroes out the bss section for uninitialized global and static variables

 

Please notice that regions inside data [__data_section_table - __data_section_table_end] or bss [__bss_section_table - __bss_section_table_end] ranges are initialized here

 

Best Regards

Luis

0 项奖励
回复
1,246 次查看
alereale
Contributor II

Thank you for your reply.

Said that, let me explain better what I want to do.

I need a RAM area shared between application, bootloader and bootmanager for informing the boot about the cause of reset (for example required by test service for reprogramming the ECU). What is the best area to be used? I was thinking about STCM3 and STCM4 because they are not covered by initialization startup. Is it correct?

Another question: What is the risk if I remove some RAM areas (for example STCM2) from the initialization startup? Could it impact the ECC control? May I found any ECC faults?

Thank you

标记 (5)
0 项奖励
回复
1,139 次查看
luis_maravilla
NXP Employee
NXP Employee

For informing the cause of reset maybe the "System Reset Status" register can work for you, This register indicate the system reset status. Those status updates on every MAIN Warm Reset to indicate the type/source of the most recent reset.

For more information about this register please refer to Chapter 31.7.1.8 in KW45 Reference Manual and for specific functions in refer to SDK Documentation

 

In KW45 Reference Manual Chapter 15.2 figure 22 is the image that represents ROM bootloader memory usage and in which memory address its located the application use in system RAM.

 

The first 16 KB of Tightly Coupled Memory - System (STCM) (0x30000000 – 0x30004000) needs to be reserved for ROM bootloader execution and some ROM API execution. Please note that STCM has ECC enabled. To avoid STCM ECC error, users must always program word-aligned data to word-aligned address before the first time reading after power-on reset.

 

Best Regards

Luis

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2163742%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ENoinit%20RAM%20%E9%83%A8%E4%BB%B6%20KW45%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2163742%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%9C%A8%E8%BD%AF%E4%BB%B6%20RESET%20%E5%90%8E%E6%97%A0%E6%B3%95%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%20RAM%20%E9%83%A8%E5%88%86%EF%BC%8C%E4%BD%86%E6%88%91%E8%A7%82%E5%AF%9F%E5%88%B0%20%22%20startup_kw45b41z83.c%20%22%20%E4%B8%AD%E7%9A%84%20ResetISR%20%E4%BC%9A%E6%89%A7%E8%A1%8C%E6%9F%90%3C%2FSPAN%3E%3CSPAN%3E%E4%BA%9B%20RAM%20%E9%83%A8%E5%88%86%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E3%80%82%E8%BF%99%E6%A0%B7%EF%BC%8C%E5%B0%BD%E7%AE%A1%E6%88%91%E7%9A%84%E5%8C%BA%E5%9F%9F%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84%E5%8F%98%E9%87%8F%E6%98%AF%E7%94%A8%20%22%20no_init%20%22%20%E5%85%B3%E9%94%AE%E5%AD%97%E5%A3%B0%E6%98%8E%E7%9A%84%EF%BC%8C%E5%B9%B6%E4%B8%94%E8%AF%A5%E5%8C%BA%E5%9F%9F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%9C%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8C%BA%E5%9F%9F%EF%BC%8C%E4%BD%86%E5%AE%83%E4%BB%AC%E8%BF%98%E6%98%AF%E8%A2%AB%20RESET%3C%2FSPAN%3E%E4%BA%86%E3%80%82%3CBR%20%2F%3E%3CSPAN%3E%E6%9F%90%E4%BA%9B%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%E6%80%BB%E6%98%AF%E8%A2%AB%E5%88%9D%E5%A7%8B%E5%8C%96%EF%BC%8C%E8%BF%99%E6%9C%89%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%90%97%EF%BC%9F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E9%81%BF%E5%85%8D%E6%9F%90%E4%BA%9B%E5%8C%BA%E5%9F%9F%E5%9C%A8RESET%E5%90%8E%E8%A2%AB%E5%88%9D%E5%A7%8B%E5%8C%96%EF%BC%9F%E8%BF%98%E6%98%AF%E6%88%91%E8%A2%AB%E8%BF%AB%E5%8F%AA%E4%BD%BF%E7%94%A8%E6%9C%AA%E5%9C%A8%20Reset_Handler%20%E4%B8%AD%E6%9B%B4%E6%96%B0%E7%9A%84%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%3C%2FSPAN%3E%EF%BC%9F%3CBR%20%2F%3E%3CSPAN%3E%E8%B0%A2%E8%B0%A2%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2173013%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Noinit%20RAM%20sections%20KW45%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2173013%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%BA%E4%BA%86%E9%80%9A%E7%9F%A5%20RESET%20%E5%8E%9F%E5%9B%A0%EF%BC%8C%22%20System%20RESET%20Status%20%22%20%E5%AF%84%E5%AD%98%E5%99%A8%E5%8F%AF%E8%83%BD%E5%AF%B9%E4%BD%A0%E6%9C%89%E7%94%A8%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%AF%84%E5%AD%98%E5%99%A8%E8%A1%A8%E7%A4%BA%E7%B3%BB%E7%BB%9F%20RESET%20%E7%8A%B6%E6%80%81%E3%80%82%E6%AF%8F%E6%AC%A1%E4%B8%BB%E7%83%ADRESET%E6%97%B6%E9%83%BD%E4%BC%9A%E6%9B%B4%E6%96%B0%E8%BF%99%E4%BA%9B%E7%8A%B6%E6%80%81%EF%BC%8C%E4%BB%A5%E6%8C%87%E6%98%8E%E6%9C%80%E8%BF%91RESET%E7%9A%84%E7%B1%BB%E5%9E%8B%2F%E6%9D%A5%E6%BA%90%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DKW45RM%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E6%9C%89%E5%85%B3%E6%AD%A4%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%20KW45%20%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%3C%2FA%3E%20%E4%B8%AD%E7%9A%84%E7%AC%AC%2031.7.1.8%20%E7%AB%A0%EF%BC%8C%E6%9C%89%E5%85%B3%E7%89%B9%E5%AE%9A%E5%8A%9F%E8%83%BD%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2F25.06.00%2Fhtml%2Fdrivers%2FWireless%2FKW%2FKW45B41Z83%2Findex.html%23%3A~%3Atext%3DGets%2520the%2520System%2520reset%2520status.%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%20SDK%20%E6%96%87%E6%A1%A3%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%9C%A8%20KW45%20%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E7%AC%AC%2015.2%20%E7%AB%A0%E4%B8%AD%EF%BC%8C%E5%9B%BE%2022%20%E6%98%AF%E8%A1%A8%E7%A4%BA%20ROM%20%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E7%9A%84%E5%9B%BE%E5%83%8F%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%83%E6%89%80%E5%9C%A8%E7%9A%84%E5%86%85%E5%AD%98%E5%9C%B0%E5%9D%80%E4%B8%AD%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E7%B3%BB%E7%BB%9F%20RAM%20%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%89%8D%2016%20KB%20%E7%9A%84%E7%B4%A7%E5%AF%86%E8%80%A6%E5%90%88%E5%86%85%E5%AD%98%20-%20%E7%B3%BB%E7%BB%9F%20(STCM)%20(0x30000000%20-%200x30004000)%E9%9C%80%E8%A6%81%E9%A2%84%E7%95%99%E7%BB%99%20ROM%20%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%89%A7%E8%A1%8C%E5%92%8C%E4%B8%80%E4%BA%9B%20ROM%20API%20%E7%9A%84%E6%89%A7%E8%A1%8C%E3%80%82%E8%AF%B7%E6%B3%A8%E6%84%8F%EF%BC%8CSTCM%20%E5%B7%B2%E5%90%AF%E7%94%A8%20ECC%E3%80%82%E4%B8%BA%E9%81%BF%E5%85%8D%20STCM%20ECC%20%E9%94%99%E8%AF%AF%EF%BC%8C%E5%9C%A8%E4%B8%8A%E7%94%B5%E5%A4%8D%E4%BD%8D%E5%90%8E%E9%A6%96%E6%AC%A1%E8%AF%BB%E5%8F%96%E4%B9%8B%E5%89%8D%EF%BC%8C%E7%94%A8%E6%88%B7%E5%BF%85%E9%A1%BB%E5%A7%8B%E7%BB%88%E5%B0%86%E5%AD%97%E5%AF%B9%E9%BD%90%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BC%96%E7%A8%8B%E5%88%B0%E5%AD%97%E5%AF%B9%E9%BD%90%E7%9A%84%E5%9C%B0%E5%9D%80%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%B7%AF%E6%98%93%E6%96%AF%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2169538%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Noinit%20RAM%20sections%20KW45%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2169538%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%3CP%3E%E8%AF%B4%E5%88%B0%E8%BF%99%E9%87%8C%EF%BC%8C%E8%AF%B7%E5%85%81%E8%AE%B8%E6%88%91%E6%9B%B4%E5%A5%BD%E5%9C%B0%E8%A7%A3%E9%87%8A%E4%B8%80%E4%B8%8B%E6%88%91%E6%83%B3%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AA%E5%9C%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E3%80%81%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%92%8C%E5%BC%95%E5%AF%BC%E7%AE%A1%E7%90%86%E5%99%A8%E4%B9%8B%E9%97%B4%E5%85%B1%E4%BA%AB%E7%9A%84%20RAM%20%E5%8C%BA%E5%9F%9F%EF%BC%8C%E4%BB%A5%E9%80%9A%E7%9F%A5%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F%20RESET%20%E7%9A%84%E5%8E%9F%E5%9B%A0%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%E6%B5%8B%E8%AF%95%E6%9C%8D%E5%8A%A1%E8%A6%81%E6%B1%82%E9%87%8D%E6%96%B0%E7%BC%96%E7%A8%8B%20ECU%EF%BC%89%E3%80%82%3CSTRONG%3E%E4%BB%80%E4%B9%88%E6%98%AF%E6%9C%80%E4%BD%B3%E4%BD%BF%E7%94%A8%E5%8C%BA%E5%9F%9F%3C%2FSTRONG%3E%EF%BC%9F%E6%88%91%E8%80%83%E8%99%91%E7%9A%84%E6%98%AF%20STCM3%20%E5%92%8C%20STCM4%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%BB%AC%E4%B8%8D%E5%9C%A8%E5%88%9D%E5%A7%8B%E5%8C%96%E5%90%AF%E5%8A%A8%E8%8C%83%E5%9B%B4%E5%86%85%E3%80%82%E6%98%AF%E5%90%A6%E6%AD%A3%E7%A1%AE%EF%BC%9F%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E8%BF%98%E6%9C%89%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98%3C%2FSTRONG%3E%EF%BC%9A%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%8E%E5%88%9D%E5%A7%8B%E5%8C%96%E5%90%AF%E5%8A%A8%E4%B8%AD%E7%A7%BB%E9%99%A4%E6%9F%90%E4%BA%9B%20RAM%20%E5%8C%BA%E5%9F%9F%EF%BC%88%E4%BE%8B%E5%A6%82%20STCM2%EF%BC%89%EF%BC%8C%E4%BC%9A%E6%9C%89%E4%BB%80%E4%B9%88%E9%A3%8E%E9%99%A9%EF%BC%9F%E8%BF%99%E6%98%AF%E5%90%A6%E4%BC%9A%E5%BD%B1%E5%93%8D%20ECC%20%E6%8E%A7%E5%88%B6%EF%BC%9F%E6%88%91%E8%83%BD%E5%8F%91%E7%8E%B0%20ECC%20%E6%95%85%E9%9A%9C%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2165482%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Noinit%20RAM%20sections%20KW45%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2165482%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3C%2FP%3E%0A%3CP%3EKW45B41Z83%20%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E4%BB%A3%E7%A0%81%E5%AE%89%E8%A3%85%E4%BA%86%E5%88%9D%E5%A7%8B%E8%BF%90%E8%A1%8C%E6%97%B6%E7%8E%AF%E5%A2%83%EF%BC%8C%E4%BD%9C%E4%B8%BA%E8%AF%A5%E8%BF%87%E7%A8%8B%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%EF%BC%8C%E6%9F%90%E4%BA%9B%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%E9%80%9A%E8%BF%87%E5%A4%8D%E5%88%B6%20.data%20%E8%BF%9B%E8%A1%8C%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BB%8E%E9%97%AA%E5%AD%98%E5%88%B0%20SRAM%20%E7%9A%84%E9%83%A8%E5%88%86%EF%BC%8C%E4%BB%A5%E7%A1%AE%E4%BF%9D%E7%A8%8B%E5%BA%8F%E5%90%AF%E5%8A%A8%E6%97%B6%E6%95%B0%E5%80%BC%E6%AD%A3%E7%A1%AE%E3%80%82%E6%AD%A4%E5%A4%96%EF%BC%8C%E4%BB%A3%E7%A0%81%E8%BF%98%E5%B0%86%E6%9C%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F%E5%92%8C%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F%E7%9A%84%20bss%20%E9%83%A8%E5%88%86%E6%B8%85%E9%9B%B6%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E8%AF%B7%E6%B3%A8%E6%84%8F%EF%BC%8C%E6%95%B0%E6%8D%AE%20%5B__data_section_table%20-%20__data_section_table_end%5D%20%E6%88%96%20bss%20%5B__bss_section_table%20-%20__bss_section_table_end%5D%20%E8%8C%83%E5%9B%B4%E5%86%85%E7%9A%84%E5%8C%BA%E5%9F%9F%E5%9C%A8%E6%AD%A4%E5%A4%84%E5%88%9D%E5%A7%8B%E5%8C%96%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%B7%AF%E6%98%93%E6%96%AF%3C%2FP%3E%3C%2FLINGO-BODY%3E